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()
示例#2
0
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()
示例#3
0
        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,
    )