def get(self): for m in Language.all(): m.delete() for m in Phrase.all(): m.delete() for m in Translation.all(): m.delete() LANGUAGES = [ (u'en_US', u'English'), (u'sv_SE', u'Svenska'), (u'ro_SE', u'Rövarspråket'), (u'fi_FI', u'Suomi'), ] for lang in LANGUAGES: m = Language(code=lang[0], label=lang[1], enabled_on_site=True, enabled_in_tool=True) m.put() self.response.headers['Content-Type'] = 'text/plain' for lang_code in old_translations: diff = set(old_translations['en_US'].keys()) - set( old_translations[lang_code].keys()) #logging.info("Diff for %s is %s" % (lang_code, diff)) self.response.out.write("Diff for %s is %s\n\n" % (lang_code, diff)) language = Language.all().filter('code =', lang_code).get() for i in old_translations[lang_code].items(): text = i[0] translation = i[1] p = Phrase.all().filter('text =', text).get() if p is None: p = Phrase(text=text) p.put() if translation: t = Translation(phrase=p, text=translation) t.put() language.translations.append(t.key()) language.save() init_cached_languages() init_cached_translations()
import sys from os.path import dirname, join, abspath sys.path.insert(0, abspath(join(dirname(__file__), '..'))) from languages import Language from base import Base, Session, engine Base.metadata.create_all(engine) session = Session() languages = [{ "name": "English", "id": "en" }, { "name": "Hindi", "id": "hi" }, { "name": "Malayalam", "id": "ml" }] for l in languages: v = Language(name=l['name'], code=l['id']) session.add(v) session.commit()
default=[scripture.value for scripture in ScriptureType], help= "list of scriptures to download; allowed values: bofm, dc-testament, pgp", ) parser.add_argument("-o", "--overwrite", action="store_true", help="overwrite files if they exist") parser.add_argument( "-t", "--threads", type=int, default=30, help="number of threads to download in parallel", ) parser.add_argument("destination", help="path to save JSON files") args = parser.parse_args() pool = concurrent.futures.ThreadPoolExecutor(max_workers=args.threads) languages = [Language(lang) for lang in args.languages] scriptures = [ScriptureType(scripture) for scripture in args.scriptures] overwrite = args.overwrite output_dir = pathlib.Path(args.destination) main( scriptures=scriptures, languages=languages, output_dir=output_dir, pool=pool, overwrite=overwrite, )