summaryrefslogtreecommitdiff
path: root/ishtar_common/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r--ishtar_common/models.py22
1 files changed, 17 insertions, 5 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index 2f8bb49f9..7362abc5c 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -1182,19 +1182,23 @@ class ImporterType(models.Model):
LINE_FORMAT.append(None)
continue
force_news = []
+ concat_str = []
for target in column.targets.all():
ft = target.formater_type.get_formater_type(target)
if not ft:
continue
formater_types.append(ft)
targets.append(target.target)
+ concat_str.append(target.concat_str)
force_news.append(target.force_new)
formater_kwargs = {}
if column.regexp_pre_filter:
formater_kwargs['regexp'] = re.compile(
column.regexp_pre_filter.regexp)
+ formater_kwargs['concat_str'] = concat_str
formater_kwargs['duplicate_fields'] = [
- (field.field_name, field.force_new)
+ (field.field_name, field.force_new, field.concat,
+ field.concat_str)
for field in column.duplicate_fields.all()]
formater_kwargs['required'] = column.required
formater_kwargs['force_new'] = force_news
@@ -1342,6 +1346,10 @@ class ImporterDuplicateField(models.Model):
max_length=200)
force_new = models.BooleanField(_(u"Force creation of new item"),
default=False)
+ concat = models.BooleanField(_(u"Concatenate with existing"),
+ default=False)
+ concat_str = models.CharField(_(u"Concatenate character"), max_length=5,
+ blank=True, null=True)
class Meta:
verbose_name = _(u"Importer - Duplicate field")
@@ -1374,6 +1382,8 @@ class ImportTarget(models.Model):
default=False)
concat = models.BooleanField(_(u"Concatenate with existing"),
default=False)
+ concat_str = models.CharField(_(u"Concatenate character"), max_length=5,
+ blank=True, null=True)
comment = models.TextField(_(u"Comment"), blank=True, null=True)
class Meta:
@@ -1572,10 +1582,12 @@ class FormaterType(models.Model):
model = import_class(self.options)
return TypeFormater(model, **kwargs)
elif self.formater_type == 'UnicodeFormater':
- try:
- return UnicodeFormater(int(self.options.strip()), **kwargs)
- except ValueError:
- return
+ if self.options:
+ try:
+ return UnicodeFormater(int(self.options.strip()), **kwargs)
+ except ValueError:
+ pass
+ return UnicodeFormater(**kwargs)
elif self.formater_type == 'DateFormater':
return DateFormater(self.options, **kwargs)
elif self.formater_type == 'StrToBoolean':