Révision 2950
tmp/org.txm.groovy.core/src/groovy/org/txm/macro/projects/antract/BuildAFMetadataMacro.groovy (revision 2950) | ||
---|---|---|
33 | 33 |
table2File = new File(tableFile.getParentFile(), "emissions.xlsx"); |
34 | 34 |
HashMap<String, String> lineRules = new HashMap<>(); // line tests to select line to keep |
35 | 35 |
List<String> columnsSelection; // list of columns to keep |
36 |
List<String> dateColumnsSelection = [] |
|
36 | 37 |
HashMap<String, String[]> columnsToCopy = new HashMap<>(); |
37 | 38 |
HashMap<String, String> columnsToRenameRules = new HashMap<>(); |
38 | 39 |
HashMap<String, String[]> searchAndReplaceRules = new HashMap<>(); |
... | ... | |
45 | 46 |
|
46 | 47 |
lineRules.put("Type de notice", "Notice sommaire"); |
47 | 48 |
|
49 |
dateColumnsSelection.add("Date de diffusion"); |
|
50 |
datePattern = "dd/MM/yyyy" |
|
51 |
|
|
48 | 52 |
columnsToRenameRules.put("Identifiant de la notice", "id"); |
49 | 53 |
|
50 |
columnsToCopy.put("Notes du titre", ["subtitle"] as String[]); |
|
54 |
//columnsToCopy.put("Notes du titre", ["subtitle"] as String[]);
|
|
51 | 55 |
columnsToCopy.put("Titre propre", ["title"] as String[]); |
52 |
columnsToCopy.put("Date de diffusion", ["textorder", "annee"] as String[]);
|
|
56 |
columnsToCopy.put("Date de diffusion", ["textorder"] as String[]); |
|
53 | 57 |
|
54 | 58 |
searchAndReplaceRules.put("textorder", ["([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])", '$3$2$1'] as String[]); // not working yet |
55 |
searchAndReplaceRules.put("annee", ["([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])", '$3'] as String[]); // not working yet |
|
56 | 59 |
|
57 |
process(excel, table2File, lineRules, columnsSelection, columnsToCopy, searchAndReplaceRules, columnsToRenameRules, normalizeSearchAndReplacePattern) |
|
60 |
process(excel, table2File, lineRules, columnsSelection, columnsToCopy, searchAndReplaceRules, columnsToRenameRules, normalizeSearchAndReplacePattern, dateColumnsSelection, datePattern)
|
|
58 | 61 |
} |
59 | 62 |
|
60 | 63 |
if (buildSujetsMetadata) { |
... | ... | |
62 | 65 |
table2File = new File(tableFile.getParentFile(), "sujets.xlsx"); |
63 | 66 |
HashMap<String, String> lineRules = new HashMap<>(); // line tests to select line to keep |
64 | 67 |
List<String> columnsSelection; // list of columns to keep |
68 |
List<String> dateColumnsSelection = [] |
|
65 | 69 |
HashMap<String, String[]> columnsToCopy = new HashMap<>(); |
66 | 70 |
HashMap<String, String> columnsToRenameRules = new HashMap<>(); |
67 | 71 |
HashMap<String, String[]> searchAndReplaceRules = new HashMap<>(); |
... | ... | |
75 | 79 |
"Résumé", "Séquences", "Descripteurs (Aff. Lig.)", "Générique (Aff. Lig.)"); |
76 | 80 |
|
77 | 81 |
lineRules.put("Type de notice", "Notice sujet"); |
82 |
|
|
83 |
dateColumnsSelection.add("Date de diffusion"); |
|
84 |
datePattern = "dd/MM/yyyy" |
|
78 | 85 |
|
79 |
searchAndReplaceRules.put("textorder", ["([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])", '$3$2$1'] as String[]); |
|
80 |
searchAndReplaceRules.put("annee", ["([0-9][0-9])/([0-9][0-9])/([0-9][0-9][0-9][0-9])", '$3'] as String[]); |
|
81 |
|
|
82 |
process(excel, table2File, lineRules, columnsSelection, columnsToCopy, searchAndReplaceRules, columnsToRenameRules, normalizeSearchAndReplacePattern) |
|
86 |
process(excel, table2File, lineRules, columnsSelection, columnsToCopy, searchAndReplaceRules, columnsToRenameRules, normalizeSearchAndReplacePattern, dateColumnsSelection, datePattern) |
|
83 | 87 |
} |
84 | 88 |
|
85 |
def process(ReadExcel excel, File table2File, def lineRules, def columnsSelection, def columnsToCopy, def searchAndReplaceRules, def columnsToRenameRules, def normalizeSearchAndReplacePattern) { |
|
89 |
def process(ReadExcel excel, File table2File, def lineRules, def columnsSelection, def columnsToCopy, def searchAndReplaceRules, def columnsToRenameRules, def normalizeSearchAndReplacePattern, def dateColumnsSelection, String datePattern) {
|
|
86 | 90 |
System.out.println("Writing: $table2File"); |
87 | 91 |
|
88 | 92 |
table2File.delete(); |
... | ... | |
101 | 105 |
excel2.searchAndReplaceInLines(normalizePatternRules); |
102 | 106 |
|
103 | 107 |
if (columnsToCopy.size() > 0) { |
104 |
System.out.println(" Copying column: " + columnsToCopy); |
|
108 |
System.out.println(" Copying columns: " + columnsToCopy);
|
|
105 | 109 |
excel2.copyColumns(columnsToCopy); |
106 | 110 |
} |
107 | 111 |
|
112 |
if (dateColumnsSelection.size() > 0) { |
|
113 |
System.out.println(" Format Date columns: " + dateColumnsSelection); |
|
114 |
excel2.formatDateColumns(dateColumnsSelection, datePattern); |
|
115 |
} |
|
116 |
|
|
108 | 117 |
if (searchAndReplaceRules.size() > 0) { |
109 | 118 |
System.out.println(" Search&Replace in columns: " + searchAndReplaceRules); |
110 | 119 |
excel2.searchAndReplaceInLines(searchAndReplaceRules); |
111 | 120 |
} |
112 | 121 |
|
113 | 122 |
if (columnsToRenameRules.size() > 0) { |
114 |
System.out.println(" Renaming column: " + columnsToRenameRules); |
|
123 |
System.out.println(" Renaming columns: " + columnsToRenameRules);
|
|
115 | 124 |
excel2.renameColumns(columnsToRenameRules); |
116 | 125 |
} |
117 | 126 |
|
Formats disponibles : Unified diff