Bläddra i källkod

allow processing of files with no extension

tags/2.0.1
Jonathan Cobb 5 år sedan
förälder
incheckning
c5858d30bf
1 ändrade filer med 24 tillägg och 26 borttagningar
  1. +24
    -26
      src/main/java/org/cobbzilla/util/main/FileHeaderMain.java

+ 24
- 26
src/main/java/org/cobbzilla/util/main/FileHeaderMain.java Visa fil

@@ -19,34 +19,32 @@ public class FileHeaderMain extends BaseMain<FileHeaderOptions> {
.withDir(opts.getDir())
.withVisitor(file -> {
final String ext = FileUtil.extension(file);
if (ext.startsWith(".")) {
final FileHeader header = headers.get(ext.substring(1));
if (header != null) {
String contents = toStringOrDie(file);
if (contents == null) contents = "";
final String prefix;
if (header.hasPrefix()) {
final Matcher prefixMatcher = header.getPrefixPattern().matcher(contents);
if (!prefixMatcher.find()) {
err("prefix not found ("+header.getPrefix().replace("\n", "\\n")+") in file: "+abs(file));
return;
}
prefix = contents.substring(0, prefixMatcher.start())
+ contents.substring(prefixMatcher.start(), prefixMatcher.end());
contents = contents.substring(prefixMatcher.end());
} else {
prefix = "";
final FileHeader header = headers.get(ext.length() > 0 ? ext.substring(1) : ext);
if (header != null) {
String contents = toStringOrDie(file);
if (contents == null) contents = "";
final String prefix;
if (header.hasPrefix()) {
final Matcher prefixMatcher = header.getPrefixPattern().matcher(contents);
if (!prefixMatcher.find()) {
err("prefix not found ("+header.getPrefix().replace("\n", "\\n")+") in file: "+abs(file));
return;
}
final Matcher matcher = header.getPattern().matcher(contents);
if (matcher.find()) {
contents = prefix + contents.substring(0, matcher.start())
+ header.getHeader() + "\n" + contents.substring(matcher.end());
} else {
contents = prefix + header.getHeader() + "\n" + contents;
}
out(abs(file));
toFileOrDie(file, contents);
prefix = contents.substring(0, prefixMatcher.start())
+ contents.substring(prefixMatcher.start(), prefixMatcher.end());
contents = contents.substring(prefixMatcher.end());
} else {
prefix = "";
}
final Matcher matcher = header.getPattern().matcher(contents);
if (matcher.find()) {
contents = prefix + contents.substring(0, matcher.start())
+ header.getHeader() + "\n" + contents.substring(matcher.end());
} else {
contents = prefix + header.getHeader() + "\n" + contents;
}
out(abs(file));
toFileOrDie(file, contents);
}
}).walk();
}


Laddar…
Avbryt
Spara