diff options
author | Étienne Loks <etienne.loks@proxience.com> | 2015-05-12 21:13:28 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@proxience.com> | 2015-05-12 21:13:28 +0200 |
commit | 6e4bdcdcd106941b527f807b439cfaf93cdc9297 (patch) | |
tree | 136ff886ec546b6049f136fe43ed8e58f13aa75b /ishtar_common/models.py | |
parent | 438c0379d7d050d96497d97153708c8ed5b1932d (diff) | |
parent | 4cc6611208a4c6dc1209524dd2e70280bf442f3f (diff) | |
download | Ishtar-6e4bdcdcd106941b527f807b439cfaf93cdc9297.tar.bz2 Ishtar-6e4bdcdcd106941b527f807b439cfaf93cdc9297.zip |
Merge branch 'stable'
Conflicts:
ishtar_common/data_importer.py
Diffstat (limited to 'ishtar_common/models.py')
-rw-r--r-- | ishtar_common/models.py | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/ishtar_common/models.py b/ishtar_common/models.py index a99470c2b..2ed6b28c5 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -58,7 +58,8 @@ from ishtar_common.ooo_replace import ooo_replace from ishtar_common.model_merging import merge_model_objects from ishtar_common.utils import get_cache from ishtar_common.data_importer import Importer, ImportFormater, \ - IntegerFormater, FloatFormater, UnicodeFormater, DateFormater, TypeFormater + IntegerFormater, FloatFormater, UnicodeFormater, DateFormater, \ + TypeFormater, YearFormater def post_save_user(sender, **kwargs): user = kwargs['instance'] @@ -1053,6 +1054,7 @@ class ImporterType(models.Model): column.regexp_pre_filter.regexp) formater_kwargs['duplicate_fields'] = [field.field_name for field in column.duplicate_fields.all()] + formater_kwargs['required'] = column.required formater = ImportFormater(targets, formater_types, **formater_kwargs) LINE_FORMAT.append(formater) @@ -1167,7 +1169,8 @@ class Regexp(models.Model): verbose_name = _(u"Importer - Regular expression") verbose_name_plural = _(u"Importer - Regular expressions") -IMPORTER_TYPES = [] + def __unicode__(self): + return self.name class ImportTarget(models.Model): """ @@ -1252,6 +1255,7 @@ IMPORTER_TYPES = ( ('UnicodeFormater', _(u"String")), ('DateFormater', _(u"Date")), ('TypeFormater', _(u"Type")), + ('YearFormater', _(u"Year")), ) IMPORTER_TYPES_DCT = { @@ -1260,6 +1264,7 @@ IMPORTER_TYPES_DCT = { 'UnicodeFormater':UnicodeFormater, 'DateFormater':DateFormater, 'TypeFormater':TypeFormater, + 'YearFormater':YearFormater, } DATE_FORMATS = ( @@ -1282,6 +1287,7 @@ class FormaterType(models.Model): verbose_name = _(u"Importer - Formater type") verbose_name_plural = _(u"Importer - Formater types") unique_together = ('formater_type', 'options', 'many_split') + ordering = ('formater_type', 'options') def __unicode__(self): return u" - ".join([unicode(dict(IMPORTER_TYPES)[self.formater_type]) @@ -1308,10 +1314,6 @@ class FormaterType(models.Model): else: model = import_class(self.options) return TypeFormater(model, **kwargs) - elif self.formater_type == 'IntegerFormater': - return IntegerFormater(**kwargs) - elif self.formater_type == 'FloatFormater': - return FloatFormater(**kwargs) elif self.formater_type == 'UnicodeFormater': try: return UnicodeFormater(int(self.options.strip()), **kwargs) @@ -1319,6 +1321,8 @@ class FormaterType(models.Model): return elif self.formater_type == 'DateFormater': return DateFormater(self.options, **kwargs) + else: + return IMPORTER_TYPES_DCT[self.formater_type](**kwargs) IMPORT_STATE = (("C", _(u"Created")), ("AP", _(u"Analyse in progress")), |