X-Git-Url: https://git.mdrn.pl/wolnelektury.git/blobdiff_plain/041af9eb76b4687798e75918976a738556621ff0..f64dd827284e17ba584d7970a2e3d44f8b8ad981:/apps/wolnelektury_core/management/commands/localepack.py diff --git a/apps/wolnelektury_core/management/commands/localepack.py b/apps/wolnelektury_core/management/commands/localepack.py index 147b51ceb..e5362fe7a 100644 --- a/apps/wolnelektury_core/management/commands/localepack.py +++ b/apps/wolnelektury_core/management/commands/localepack.py @@ -9,6 +9,7 @@ import os import shutil import tempfile import sys +import zipfile import allauth @@ -44,9 +45,12 @@ class AppLocale(Locale): def save(self, output_directory, languages): for lc in languages: lc = lc[0] + out = os.path.join(output_directory, lc, self.name + '.po') if os.path.exists(os.path.join(self.path, 'locale', lc)): + if not os.path.exists(os.path.dirname(out)): + os.makedirs(os.path.dirname(dir)) shutil.copy2(os.path.join(self.path, 'locale', lc, 'LC_MESSAGES', 'django.po'), - os.path.join(output_directory, lc, self.name + '.po')) + out) def load(self, input_directory, languages): for lc in zip(*languages)[0]: @@ -144,8 +148,15 @@ class Command(BaseCommand): return os.popen("git branch |grep '^[*]' | cut -c 3-").read() def save(self, options): + packname = options.get('outfile') + packname_b = os.path.basename(packname).split('.')[0] + fmt = '.'.join(os.path.basename(packname).split('.')[1:]) + + if fmt != 'zip': + raise NotImplementedError('Sorry. Only zip format supported at the moment.') + tmp_dir = tempfile.mkdtemp('-wl-locale') - out_dir = os.path.join(tmp_dir, 'wl-locale') + out_dir = os.path.join(tmp_dir, packname) os.mkdir(out_dir) try: @@ -163,10 +174,14 @@ class Command(BaseCommand): rf.write(rev) rf.close() - packname = options.get('outfile') - packname_b = os.path.basename(packname).split('.')[0] - fmt = '.'.join(os.path.basename(packname).split('.')[1:]) - shutil.make_archive(packname_b, fmt, root_dir=os.path.dirname(out_dir), base_dir=os.path.basename(out_dir)) + + cwd = os.getcwd() + try: + os.chdir(os.path.dirname(out_dir)) + self.system('zip -r %s %s' % (os.path.join(cwd, packname_b+'.zip'), os.path.basename(out_dir))) + finally: + os.chdir(cwd) + # shutil.make_archive(packname_b, fmt, root_dir=os.path.dirname(out_dir), base_dir=os.path.basename(out_dir)) finally: shutil.rmtree(tmp_dir, ignore_errors=True)