a #e @sddlZddlmZddlmZddlmZddlmZddl m Z ej ej ej ej edddZGdd d eZdS) N) BaseCommand) call_command)extract_odm_strings)extract_plugin_manifest_strings)extract_potree_stringsz..cs(eZdZgZfddZddZZS)Commandcs:|jdtddgd|jddddd tt||dS) Nactionextractbuild)typechoicesz--safe store_trueFzSkip invalid languages)rrequiredhelp) add_argumentstrsuperr add_arguments)selfparser __class__,/webodm/app/management/commands/translate.pyrszCommand.add_argumentscKsttjtd"}|d}Wdn1s:0Y|ddkrZt ddd|D}tjtd}tj |st |t tjtd d d d d d dd dddd tjtd d d d ddt dtjtd d d d ddttjtdtjtd ddtddg|ddRtddg|ddd dd!d"d#d$RnT|ddkr|d%r|D] }t d&|td'd(|qznt d)td'dS)*NZLOCALES rr z&Extracting .po files from Django/ReactcSsg|] }d|qS) --locale=%sr).0lrrr z"Command.handle..localeappstaticjsvendorZpotreer resourceslangenztranslation.json translationszpotree_autogenerated.jszJhttps://raw.githubusercontent.com/OpenDroneMap/ODM/master/opendm/config.pyzodm_autogenerated.js corepluginsz plugin_manifest_autogenerated.pyZ makemessagesz --keep-potz--ignore=buildz)--ignore=app/templates/app/registration/*Zmakemessages_djangojsz -d=djangojsz--extension=jsxz--extension=jsz!--ignore=app/static/app/js/vendorz--ignore=app/static/app/bundlesz--ignore=node_modulesz--language=PythonsafezBuilding %s .po files into .moZcompilemessagesrzBuilding .po files into .mo)openospathjoinrootreadstripsplitgetprintexistsmkdirrrrr)roptionsflocalesZ locale_paramsZ locale_dirrrrrhandles:0  " 4  zCommand.handle)__name__ __module__ __qualname__requires_system_checksrr: __classcell__rrrrr s r)r,django.core.management.baserdjango.core.managementrZapp.scripts.extract_odm_stringsrZ+app.scripts.extract_plugin_manifest_stringsrZ"app.scripts.extract_potree_stringsrr-abspathr.dirname__file__r/rrrrrs     *