mirror of
https://github.com/frappe/bench.git
synced 2025-01-26 08:08:23 +00:00
Add download translations command
This commit is contained in:
parent
2e25af203a
commit
39fbb25782
15
bench/cli.py
15
bench/cli.py
@ -14,7 +14,7 @@ from .utils import (build_assets, patch_sites, exec_cmd, update_bench, get_env_c
|
|||||||
get_config, update_config, restart_supervisor_processes, put_config, default_config, update_requirements,
|
get_config, update_config, restart_supervisor_processes, put_config, default_config, update_requirements,
|
||||||
backup_all_sites, backup_site, get_sites, prime_wheel_cache, is_root, set_mariadb_host, drop_privileges,
|
backup_all_sites, backup_site, get_sites, prime_wheel_cache, is_root, set_mariadb_host, drop_privileges,
|
||||||
fix_file_perms, fix_prod_setup_perms, set_ssl_certificate, set_ssl_certificate_key, get_cmd_output, post_upgrade,
|
fix_file_perms, fix_prod_setup_perms, set_ssl_certificate, set_ssl_certificate_key, get_cmd_output, post_upgrade,
|
||||||
pre_upgrade, PatchError)
|
pre_upgrade, PatchError, download_translations_p)
|
||||||
from .app import get_app as _get_app
|
from .app import get_app as _get_app
|
||||||
from .app import new_app as _new_app
|
from .app import new_app as _new_app
|
||||||
from .app import pull_all_apps, get_apps, get_current_frappe_version, is_version_upgrade, switch_to_v4, switch_to_master, switch_to_develop
|
from .app import pull_all_apps, get_apps, get_current_frappe_version, is_version_upgrade, switch_to_v4, switch_to_master, switch_to_develop
|
||||||
@ -235,15 +235,15 @@ def update(pull=False, patch=False, build=False, bench=False, auto=False, restar
|
|||||||
if pull:
|
if pull:
|
||||||
pull_all_apps()
|
pull_all_apps()
|
||||||
|
|
||||||
|
if requirements:
|
||||||
|
update_requirements()
|
||||||
|
|
||||||
if upgrade:
|
if upgrade:
|
||||||
pre_upgrade(version_upgrade[0], version_upgrade[1])
|
pre_upgrade(version_upgrade[0], version_upgrade[1])
|
||||||
import utils, app
|
import utils, app
|
||||||
reload(utils)
|
reload(utils)
|
||||||
reload(app)
|
reload(app)
|
||||||
|
|
||||||
if requirements:
|
|
||||||
update_requirements()
|
|
||||||
|
|
||||||
if patch:
|
if patch:
|
||||||
if not no_backup:
|
if not no_backup:
|
||||||
backup_all_sites()
|
backup_all_sites()
|
||||||
@ -549,6 +549,12 @@ def _fix_file_perms():
|
|||||||
patch.add_command(_fix_file_perms)
|
patch.add_command(_fix_file_perms)
|
||||||
patch.add_command(_fix_prod_perms)
|
patch.add_command(_fix_prod_perms)
|
||||||
|
|
||||||
|
|
||||||
|
@click.command('download-translations')
|
||||||
|
def _download_translations():
|
||||||
|
"Download latest translations"
|
||||||
|
download_translations_p()
|
||||||
|
|
||||||
#Bench commands
|
#Bench commands
|
||||||
|
|
||||||
bench.add_command(init)
|
bench.add_command(init)
|
||||||
@ -577,3 +583,4 @@ bench.add_command(_release)
|
|||||||
bench.add_command(patch)
|
bench.add_command(patch)
|
||||||
bench.add_command(set_url_root)
|
bench.add_command(set_url_root)
|
||||||
bench.add_command(retry_upgrade)
|
bench.add_command(retry_upgrade)
|
||||||
|
bench.add_command(_download_translations)
|
||||||
|
@ -4,7 +4,10 @@ import sys
|
|||||||
import subprocess
|
import subprocess
|
||||||
import getpass
|
import getpass
|
||||||
import logging
|
import logging
|
||||||
|
import itertools
|
||||||
|
import requests
|
||||||
import json
|
import json
|
||||||
|
import multiprocessing
|
||||||
from distutils.spawn import find_executable
|
from distutils.spawn import find_executable
|
||||||
import pwd, grp
|
import pwd, grp
|
||||||
|
|
||||||
@ -466,4 +469,42 @@ def post_upgrade(from_ver, to_ver, bench='.'):
|
|||||||
print "sudo service nginx restart"
|
print "sudo service nginx restart"
|
||||||
print "sudo supervisorctl reload"
|
print "sudo supervisorctl reload"
|
||||||
|
|
||||||
|
def update_translations_p(args):
|
||||||
|
update_translations(*args)
|
||||||
|
|
||||||
|
def download_translations_p():
|
||||||
|
pool = multiprocessing.Pool(8)
|
||||||
|
|
||||||
|
langs = get_langs()
|
||||||
|
apps = ('frappe', 'erpnext')
|
||||||
|
args = list(itertools.product(apps, langs))
|
||||||
|
|
||||||
|
pool.map(update_translations_p, args)
|
||||||
|
|
||||||
|
def download_translations():
|
||||||
|
langs = get_langs()
|
||||||
|
apps = ('frappe', 'erpnext')
|
||||||
|
for app, lang in itertools.product(apps, langs):
|
||||||
|
update_translations(app, lang)
|
||||||
|
|
||||||
|
|
||||||
|
def get_langs():
|
||||||
|
lang_file = 'apps/frappe/frappe/data/languages.txt'
|
||||||
|
with open(lang_file) as f:
|
||||||
|
lang_data = f.read()
|
||||||
|
langs = [line.split('\t')[0] for line in lang_data.splitlines()]
|
||||||
|
langs.remove('en')
|
||||||
|
return langs
|
||||||
|
|
||||||
|
|
||||||
|
def update_translations(app, lang):
|
||||||
|
translations_dir = os.path.join('apps', app, app, 'translations')
|
||||||
|
csv_file = os.path.join(translations_dir, lang + '.csv')
|
||||||
|
r = requests.get("https://translate.erpnext.com/files/{}-{}.csv".format(app, lang))
|
||||||
|
r.raise_for_status()
|
||||||
|
with open(csv_file, 'wb') as f:
|
||||||
|
f.write(r.text.encode('utf-8'))
|
||||||
|
print 'downloaded for', app, lang
|
||||||
|
|
||||||
|
|
||||||
FRAPPE_VERSION = get_current_frappe_version()
|
FRAPPE_VERSION = get_current_frappe_version()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user