Révision 2023
tmp/org.txm.groovy.core/src/groovy/org/txm/macro/corpus/Metadata2TeiHeaderMacro.groovy (revision 2023) | ||
---|---|---|
15 | 15 |
import org.txm.scripts.importer.XPathResult |
16 | 16 |
import javax.xml.xpath.XPathConstants |
17 | 17 |
|
18 |
@Field @Option(name="defaultTeiHeaderFile", usage="the default teiHeader of texts", widget="FileOpen", required=true, def="defaultTeiHeaderFile.xml")
|
|
19 |
def defaultTeiHeaderFile
|
|
18 |
@Field @Option(name="teiHeaderTemplateFile", usage="the default teiHeader of texts", widget="FileOpen", required=true, def="teiHeaderTemplateFile.xml")
|
|
19 |
def teiHeaderTemplateFile
|
|
20 | 20 |
|
21 | 21 |
@Field @Option(name="xpathFile", usage="properties file to redirect metadata column to the teiHeader locations", widget="FileOpen", required=true, def="xpathFile.properties") |
22 | 22 |
def xpathFile |
... | ... | |
86 | 86 |
def data = [:] |
87 | 87 |
for (def h : header) data[h] = csvReader.get(h) |
88 | 88 |
|
89 |
String xmlteiHeaderContent = getCustomizedTEiHeader(defaultTeiHeaderFile, data, xpathProperties);
|
|
89 |
String xmlteiHeaderContent = getCustomizedTEiHeader(teiHeaderTemplateFile, data, xpathProperties);
|
|
90 | 90 |
if (xmlteiHeaderContent != null && xmlteiHeaderContent.length() > 0) { |
91 | 91 |
injecting(txmFile, xmlteiHeaderContent) |
92 | 92 |
} else { |
... | ... | |
97 | 97 |
} |
98 | 98 |
} |
99 | 99 |
|
100 |
def getCustomizedTEiHeader(File defaultTeiHeaderFile, def data, Properties xpathProperties) {
|
|
101 |
XPathResult xpathProcessor = new XPathResult(defaultTeiHeaderFile);
|
|
100 |
def getCustomizedTEiHeader(File teiHeaderTemplateFile, def data, Properties xpathProperties) {
|
|
101 |
XPathResult xpathProcessor = new XPathResult(teiHeaderTemplateFile);
|
|
102 | 102 |
for (String info : data.keySet()) { |
103 | 103 |
String xpath = xpathProperties[info]; |
104 | 104 |
String value = data[info] |
tmp/org.txm.groovy.core/src/groovy/org/txm/macro/txt/MergeByNumberMacro.groovy (revision 2023) | ||
---|---|---|
7 | 7 |
|
8 | 8 |
// BEGINNING OF PARAMETERS |
9 | 9 |
|
10 |
@Field @Option(name="folder", usage="an example folder", widget="Folder", required=false, def="C:/Temp")
|
|
10 |
@Field @Option(name="folder", usage="input directory", widget="Folder", required=false, def="C:/Temp")
|
|
11 | 11 |
def folder |
12 | 12 |
|
13 |
@Field @Option(name="ext", usage="an example string", widget="String", required=false, def=".txt")
|
|
13 |
@Field @Option(name="ext", usage="file extension", widget="String", required=false, def=".txt")
|
|
14 | 14 |
def ext |
15 | 15 |
|
16 |
@Field @Option(name="encoding", usage="an example string", widget="String", required=false, def="UTF-8")
|
|
16 |
@Field @Option(name="encoding", usage="files encoding", widget="String", required=false, def="UTF-8")
|
|
17 | 17 |
def encoding |
18 | 18 |
|
19 | 19 |
|
... | ... | |
63 | 63 |
File mergedFile = new File(outdir, prefix+ext) |
64 | 64 |
for (def f : toMerge) mergedFile << f.getText(encoding) |
65 | 65 |
toMerge.clear() |
66 |
|
|
67 | 66 |
} |
68 | 67 |
|
69 | 68 |
toMerge << current |
tmp/org.txm.groovy.core/src/groovy/org/txm/macro/export/ExportTextContentMacro.groovy (revision 2023) | ||
---|---|---|
20 | 20 |
|
21 | 21 |
// PARAMETERS |
22 | 22 |
|
23 |
@Field @Option(name="exportDir", usage="Result directory ", widget="Folder", required=true, def="export") |
|
24 |
File exportDir |
|
23 |
@Field @Option(name="exportDirectory", usage="Result directory ", widget="Folder", required=true, def="export")
|
|
24 |
File exportDirectory
|
|
25 | 25 |
|
26 | 26 |
@Field @Option(name="lineSeparatorStructureName", usage="line separator structure", widget="String", required=false, def="p") |
27 | 27 |
def lineSeparatorStructureName |
... | ... | |
30 | 30 |
|
31 | 31 |
// BEGINNING |
32 | 32 |
|
33 |
if (!exportDir.exists()) exportDir.mkdirs()
|
|
33 |
if (!exportDirectory.exists()) exportDirectory.mkdirs()
|
|
34 | 34 |
|
35 | 35 |
CQPCorpus corpus = corpusViewSelection |
36 | 36 |
CQI = CQPSearchEngine.getCqiClient(); |
... | ... | |
45 | 45 |
def breaks_pos = Arrays.asList(corpus.query(new CQLQuery("[]</"+lineSeparatorStructureName+">"),"test", false).getEnds()) |
46 | 46 |
println breaks_pos |
47 | 47 |
|
48 |
println "Exporting $corpus text content to $exportDir" |
|
48 |
println "Exporting $corpus text content to $exportDirectory"
|
|
49 | 49 |
|
50 | 50 |
def wordProperty = corpus.getWordProperty() |
51 | 51 |
def textidProperty = corpus.getStructuralUnit("text").getProperty("id") |
... | ... | |
59 | 59 |
int start = textStartBoundaries[i]; |
60 | 60 |
int end = textEndBoundaries[i] |
61 | 61 |
|
62 |
File txtFile = new File(exportDir, textids[i]+".txt") |
|
62 |
File txtFile = new File(exportDirectory, textids[i]+".txt")
|
|
63 | 63 |
print ".." |
64 | 64 |
def writer = txtFile.newWriter("UTF-8") |
65 | 65 |
int[] positions = new int[end - start + 1] |
... | ... | |
78 | 78 |
writer.close(); |
79 | 79 |
} |
80 | 80 |
|
81 |
println "\nDone, result saved in "+exportDir.getAbsolutePath() |
|
81 |
println "\nDone, result saved in "+exportDirectory.getAbsolutePath() |
tmp/org.txm.groovy.core/src/groovy/org/txm/macro/nlp/TT2XMLInDirectoryMacro.groovy (revision 2023) | ||
---|---|---|
101 | 101 |
writer.writeEndElement() // s |
102 | 102 |
writer.writeEndElement() // p |
103 | 103 |
writer.writeCharacters("\n") |
104 |
|
|
105 | 104 |
} |
106 | 105 |
writer.writeEndElement() |
107 | 106 |
writer.writeCharacters("\n") |
Formats disponibles : Unified diff