forked from porduna/appcomposer
-
Notifications
You must be signed in to change notification settings - Fork 0
/
load_mongodb_dump_into_db.py
43 lines (32 loc) · 1.37 KB
/
load_mongodb_dump_into_db.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import glob
import json
import datetime
from bson.json_util import loads
from appcomposer import app
from appcomposer.translator.ops import get_golab_default_user, add_full_translation_to_app
from appcomposer.translator.utils import extract_local_translations_url
files = glob.glob("dump/*")
with app.app_context():
user = get_golab_default_user()
for f in files:
print "Processing...",f,
translation = loads(open(f).read())
app_url = translation['spec']
language, target = translation['bundle'].rsplit('_', 1)
if language == 'all_ALL':
print "Skipping all_ALL"
continue
elif language.startswith('af'):
print "Skipping afghan and afrikaans"
continue
try:
translated_messages = json.loads(json.loads(translation['data']))
except (ValueError, TypeError):
translated_messages = json.loads(translation['data'])
if translated_messages is None or len(translated_messages) == 0:
print "Skipping empty"
continue
from_developer = False
translation_url, original_messages = extract_local_translations_url(app_url, force_local_cache = True)
add_full_translation_to_app(user, app_url, translation_url, language, target, translated_messages, original_messages, from_developer)
print "[done]"