diff options
author | KP <kp@shotgunsoftware.com> | 2013-05-21 23:57:32 -0500 |
---|---|---|
committer | KP <kp@shotgunsoftware.com> | 2013-05-21 23:57:32 -0500 |
commit | 5d712acce4abfaf8bba0719f58a1906b7c4ba240 (patch) | |
tree | 6468642880192efcc8ace45a008042c670051c32 /askbot/importers/zendesk | |
parent | add10302fbe7661ee6e35504b598a7eb1a48b45c (diff) | |
download | askbot-5d712acce4abfaf8bba0719f58a1906b7c4ba240.tar.gz askbot-5d712acce4abfaf8bba0719f58a1906b7c4ba240.tar.bz2 askbot-5d712acce4abfaf8bba0719f58a1906b7c4ba240.zip |
truncate zendesk data to respect Field max_length param
some zendesk data like Forum descriptions can be lengthy and exceed the max_length defined in askbot for the mapped field. This is a brute force truncation at max_length.
Diffstat (limited to 'askbot/importers/zendesk')
-rw-r--r-- | askbot/importers/zendesk/management/commands/import_zendesk.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/askbot/importers/zendesk/management/commands/import_zendesk.py b/askbot/importers/zendesk/management/commands/import_zendesk.py index 4229cbde..2614a51c 100644 --- a/askbot/importers/zendesk/management/commands/import_zendesk.py +++ b/askbot/importers/zendesk/management/commands/import_zendesk.py @@ -149,12 +149,12 @@ class Command(BaseCommand): self.tar = tarfile.open(args[0], 'r:gz') - #sys.stdout.write('Reading users.xml: ') - #self.read_users() - #sys.stdout.write('Reading posts.xml: ') - #self.read_posts() - #sys.stdout.write('Reading forums.xml: ') - #self.read_forums() + sys.stdout.write('Reading users.xml: ') + self.read_users() + sys.stdout.write('Reading posts.xml: ') + self.read_posts() + sys.stdout.write('Reading forums.xml: ') + self.read_forums() sys.stdout.write("Importing user accounts: ") self.import_users() @@ -195,6 +195,9 @@ class Command(BaseCommand): for field in fields: value = get_val(xml_entry, field) model_field_name = field.replace('-', '_') + max_length = instance._meta.get_field(model_field_name).max_length + if value and max_length: + value = value[:max_length] setattr(instance, model_field_name, value) if extra_field_mappings: for (field, model_field_name) in extra_field_mappings: |