1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 """Import units from translations files into tmdb."""
22
23 import sys
24 import os
25 from optparse import OptionParser
26 from translate.storage import factory
27 from translate.storage import tmdb
28
29
31 - def __init__(self, tmdbfile, source_lang, target_lang, filenames):
32 self.tmdb = tmdb.TMDB(tmdbfile)
33 self.source_lang = source_lang
34 self.target_lang = target_lang
35
36 for filename in filenames:
37 if not os.path.exists(filename):
38 print >> sys.stderr, "cannot process %s: does not exist" % filename
39 continue
40 elif os.path.isdir(filename):
41 self.handledir(filename)
42 else:
43 self.handlefile(filename)
44 self.tmdb.connection.commit()
45
46
48 try:
49 store = factory.getobject(filename)
50 except Exception, e:
51 print >> sys.stderr, str(e)
52 return
53
54 try:
55 self.tmdb.add_store(store, self.source_lang, self.target_lang, commit=False)
56 except Exception, e:
57 print e
58 print "new file:", filename
59
60
62 for filename in filenames:
63 pathname = os.path.join(dirname, filename)
64 if os.path.isdir(pathname):
65 self.handledir(pathname)
66 else:
67 self.handlefile(pathname)
68
69
71 path, name = os.path.split(dirname)
72 if name in ["CVS", ".svn", "_darcs", ".git", ".hg", ".bzr"]:
73 return
74 entries = os.listdir(dirname)
75 self.handlefiles(dirname, entries)
76
78 try:
79 import psyco
80 psyco.full()
81 except Exception:
82 pass
83 parser = OptionParser()
84 parser.add_option("-d", "--tmdb", dest="tmdbfile",
85 help="translation memory database file")
86 parser.add_option("-s", "--import-source-lang", dest="source_lang",
87 help="source language of translation files")
88 parser.add_option("-t", "--import-target-lang", dest="target_lang",
89 help="target language of translation files")
90 (options, args) = parser.parse_args()
91
92 Builder(options.tmdbfile, options.source_lang, options.target_lang, args)
93
94 if __name__ == '__main__':
95 main()
96