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