a #eY @sddlmZddlmZddlmZddlmZddlm Z ddl m Z ddl mZddlmZdd lmZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZdd lZed Zd d ZdddZeddddZd S))Http404)user_passes_test)render)messages)ugettext)forms)settings) JsonResponse) get_languageNz app.loggercCsXtj|ddd}t|d*}|dD]}||q&Wdn1sJ0YdS)NTZ)streamtimeoutwbi)requestsgetopen iter_contentwrite)url destinationdownload_streamfdchunkr/webodm/app/views/dev.py download_files rFcCslt|D]\}tj||}tj||}tj|rZt|jdddt||||q t ||q dS)NT)parentsexist_ok) oslistdirpathjoinisdirpathlibPathmkdir copymergeshutilcopy2)srcdstsymlinksignoreitemsdrrrr&s r&cCs|jS)N) is_superuser)urrr"r2c Cstjs t|jdkr|dkrzNt|jd}tj dd\}}t |t d|dt|d|t}t d|t|d }|j|d Wdn1s0Yt |tjt j|d d d d}t|dkrttdt jtjd }|D]0} t d| t d| |ft| |qt dtjgdtjdttdd dWSty} ztdt| iWYd} ~ Sd} ~ 00ntdtdiSnt |dtdt!dSdS)NPOSTZreloadTranslationargsz.zip)suffixzDownloading %srzExtracting... %sr)r z**localeT) recursivez*Cannot find locale/ folder in .zip archivezFound locale at %szMoving %s to %s...zURunning python manage.py translate extract && python manage.py translate build --safe)Zbashz-czPpython manage.py translate extract && %s python manage.py translate build --safe)cwdzTranslation files reloaded!)messagereloaderrorzInvalid actionzapp/dev_tools.htmlzDeveloper Tools)titleZcurrent_locale)"rDEVrmethodjsonloadsbodyrtempfilemkstemprcloseloggerinformkdtempzipfileZipFile extractallunlinkglobr r!len Exception_BASE_DIRr& subprocesscallr strrr ) requestactionr5rZ tmpzipPathZtmpPathzipZ locale_pathsZwebodm_locale_dir locale_patherrr dev_tools"sB   *    (r[)FN) django.httprdjango.contrib.auth.decoratorsrdjango.shortcutsrdjango.contribrdjango.utils.translationrrQdjangorwebodmrr r rrArDrloggingr'rSrJrNr# getLoggerrGrr&r[rrrrs         H