Skip to content
This repository has been archived by the owner on Jan 31, 2018. It is now read-only.

Commit

Permalink
Merge pull request #531 from willkg/1144870-trans
Browse files Browse the repository at this point in the history
[bug 1144870] Add trans command
  • Loading branch information
willkg committed Mar 20, 2015
2 parents a9ebe10 + 9e7f26d commit 0a89127
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 2 deletions.
2 changes: 1 addition & 1 deletion fjord/journal/models.py
Expand Up @@ -25,7 +25,7 @@ def log(cls, type_, app, src, action, msg, instance=None, metadata=None):
msg=msg,
metadata=metadata
)
if instance:
if instance and isinstance(instance, models.Model):
rec.content_object = instance
rec.save()
return rec
Expand Down
48 changes: 48 additions & 0 deletions fjord/translations/management/commands/trans.py
@@ -0,0 +1,48 @@
from optparse import make_option

from django.core.management.base import BaseCommand, CommandError

from fjord.translations.models import get_translation_systems


class Command(BaseCommand):
help = 'Translate some text with specified system.'
option_list = BaseCommand.option_list + (
make_option('--system', type='string', dest='system',
default=u'fake',
help=u'The translation system to use.'),
)
def handle(self, *args, **options):
system = options['system']

if len(args) < 2:
raise CommandError(
'Usage: ./manage.py trans [--system=SYSTEM] lang text'
)

lang, text = args

system_classes = get_translation_systems().values()

class TextClass(object):
def __init__(self, src, locale):
self.id = 'ou812'
self.src = src
self.locale = locale
self.dest = ''

def save(self, *args, **kwargs):
pass

instance = TextClass(text, lang)

for system_cls in system_classes:
if system_cls.name == system:
system_cls().translate(instance, lang, 'src', 'en', 'dest')
print 'Translated to:'
print instance.dest
break

else:
print 'No such translation system.'
print ', '.join([system_cls.name for system_cls in system_classes])
1 change: 0 additions & 1 deletion fjord/translations/models.py
Expand Up @@ -202,7 +202,6 @@ def translate(self, instance, src_lang, src_field, dst_lang, dst_field):
translated = Translator([], pipeline).translate_string(text)
setattr(instance, dst_field, translated)
instance.save()
self.log_info(instance=instance, action='translate', msg='success')


# ---------------------------------------------------------
Expand Down

0 comments on commit 0a89127

Please sign in to comment.