Add files received from Sámediggi as zipfiles to freecorpus.
main()
Add files from zip files
Source code in /home/anders/projects/CorpusTools/corpustools/dropbox_adder.py
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73 | def main():
"""Add files from zip files"""
dropbox_adders = {
lang: adder.AddToCorpus(
os.getenv("GTFREE"), lang, os.path.join("admin", "sd", "dropbox")
)
for lang in ["nob"] + LANGUAGES.keys()
}
sami_zip = sys.argv[1]
subdir = f'/tmp/{os.path.basename(sami_zip.replace(".zip", ""))}'
zipfile.ZipFile(sami_zip).extractall(subdir)
for (nob, smi, sami_lang) in pairs(
{os.path.join(root, f) for root, _, files in os.walk(subdir) for f in files}
):
try:
nob_in_free = dropbox_adders["nob"].copy_file_to_corpus(
origpath=nob, metadata_filename=os.path.basename(nob)
)
dropbox_adders[sami_lang].copy_file_to_corpus(
origpath=smi,
metadata_filename=os.path.basename(smi),
parallelpath=nob_in_free,
)
except UserWarning:
pass
os.remove(nob)
os.remove(smi)
for dropbox_adder in dropbox_adders.values():
dropbox_adder.add_files_to_working_copy()
|