summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKP <kp@shotgunsoftware.com>2013-05-21 23:57:32 -0500
committerKP <kp@shotgunsoftware.com>2013-05-21 23:57:32 -0500
commit5d712acce4abfaf8bba0719f58a1906b7c4ba240 (patch)
tree6468642880192efcc8ace45a008042c670051c32
parentadd10302fbe7661ee6e35504b598a7eb1a48b45c (diff)
downloadaskbot-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.
-rw-r--r--askbot/importers/zendesk/management/commands/import_zendesk.py15
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: