summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--archaeological_finds/models_finds.py30
-rw-r--r--ishtar_common/data_importer.py24
-rw-r--r--ishtar_common/models.py4
-rw-r--r--ishtar_common/models_imports.py8
4 files changed, 36 insertions, 30 deletions
diff --git a/archaeological_finds/models_finds.py b/archaeological_finds/models_finds.py
index b0c5a0332..68a7bfe51 100644
--- a/archaeological_finds/models_finds.py
+++ b/archaeological_finds/models_finds.py
@@ -408,11 +408,11 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, GeoItem, OwnPerms,
:return: True if index has been changed.
"""
profile = get_current_profile()
- if profile.find_index == u'O':
+ if profile.find_index == 'O':
operation = self.context_record.operation
q = BaseFind.objects \
.filter(context_record__operation=operation)
- elif profile.find_index == u'CR':
+ elif profile.find_index == 'CR':
cr = self.context_record
q = BaseFind.objects \
.filter(context_record=cr)
@@ -438,7 +438,7 @@ class BaseFind(BulkUpdatedItem, BaseHistorizedItem, GeoItem, OwnPerms,
elif ope.year and ope.operation_code:
c_id.append(
profile.default_operation_prefix +
- str(ope.year or '') + u"-" +
+ str(ope.year or '') + "-" +
str(ope.operation_code or ''))
else:
c_id.append('')
@@ -1732,19 +1732,19 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
@property
def name(self):
- return u" - ".join([base_find.name
+ return " - ".join([base_find.name
for base_find in self.base_finds.all()])
@property
def full_label(self):
- lbl = u" - ".join([getattr(self, attr)
+ lbl = " - ".join([getattr(self, attr)
for attr in (
'label', 'denomination', 'administrative_index')
if getattr(self, attr)])
- base = u" - ".join([base_find.complete_id()
+ base = " - ".join([base_find.complete_id()
for base_find in self.base_finds.all()])
if base:
- lbl += u' ({})'.format(base)
+ lbl += ' ({})'.format(base)
return lbl
def get_first_base_find(self):
@@ -1811,10 +1811,10 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
if self.id:
bf = self.get_first_base_find()
if not bf:
- return u"detached/{}".format(self.SLUG)
+ return "detached/{}".format(self.SLUG)
ope = bf.context_record.operation
- find_idx = u'{:0' + str(settings.ISHTAR_FINDS_INDEX_ZERO_LEN) + 'd}'
- return (u"{}/{}/" + find_idx).format(
+ find_idx = '{:0' + str(settings.ISHTAR_FINDS_INDEX_ZERO_LEN) + 'd}'
+ return ("{}/{}/" + find_idx).format(
ope._get_base_image_path(), self.SLUG, self.index)
@property
@@ -1831,7 +1831,7 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
self.index)
def context_records_lbl(self):
- return u" - ".join(
+ return " - ".join(
[bf.context_record.cached_label for bf in self.base_finds.all()]
)
context_records_lbl.short_description = _(u"Context record")
@@ -1931,7 +1931,9 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
return bf.context_record.operation.get_town_label()
@classmethod
- def get_periods(cls, slice='year', fltr={}):
+ def get_periods(cls, slice='year', fltr=None):
+ if not fltr:
+ fltr = {}
q = cls.objects
if fltr:
q = q.filter(**fltr)
@@ -1949,7 +1951,9 @@ class Find(BulkUpdatedItem, ValueGetter, DocumentItem, BaseHistorizedItem,
return list(years)
@classmethod
- def get_by_year(cls, year, fltr={}):
+ def get_by_year(cls, year, fltr=None):
+ if not fltr:
+ fltr = {}
q = cls.objects
if fltr:
q = q.filter(**fltr)
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py
index 179dfc329..847134085 100644
--- a/ishtar_common/data_importer.py
+++ b/ishtar_common/data_importer.py
@@ -1387,17 +1387,19 @@ class Importer(object):
force_news = [force_new]
concats = formater.concat
concat_str = [concat_str]
- for duplicate_field in formater.duplicate_fields:
- if type(duplicate_field[0]) in (list, tuple):
- duplicate_field, force_new, concat, conc_str = \
- duplicate_field[idx_v]
- else:
- duplicate_field, force_new, concat, conc_str = \
- duplicate_field
- field_names += [duplicate_field]
- force_news += [force_new]
- concats += [concat]
- concat_str += [conc_str]
+ if idx_fields == 0:
+ # duplicate fields are only for the first occurrence
+ for duplicate_field in formater.duplicate_fields:
+ if type(duplicate_field[0]) in (list, tuple):
+ duplicate_field, force_new, concat, conc_str = \
+ duplicate_field[0]
+ else:
+ duplicate_field, force_new, concat, conc_str = \
+ duplicate_field
+ field_names += [duplicate_field]
+ force_news += [force_new]
+ concats += [concat]
+ concat_str += [conc_str]
if formater.through:
self._throughs.append((formater, value))
diff --git a/ishtar_common/models.py b/ishtar_common/models.py
index b804739ad..d0612d648 100644
--- a/ishtar_common/models.py
+++ b/ishtar_common/models.py
@@ -2706,7 +2706,7 @@ def get_external_id(key, item):
formula = getattr(profile, key)
dct = {}
for fkey in PARSE_FORMULA.findall(formula):
- filtered = fkey.split(u'|')
+ filtered = fkey.split('|')
initial_key = fkey[:]
fkey = filtered[0]
filters = []
@@ -2740,7 +2740,7 @@ def get_external_id(key, item):
value = values[0]
for filtr in values[1:]:
if filtr not in FORMULA_FILTERS:
- value += u'||' + filtr
+ value += '||' + filtr
continue
value = FORMULA_FILTERS[filtr](value)
return value
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py
index d64b8441c..4170ea1e2 100644
--- a/ishtar_common/models_imports.py
+++ b/ishtar_common/models_imports.py
@@ -206,7 +206,7 @@ class ImporterType(models.Model):
force_news = []
concat_str = []
concat = []
- for target in column.targets.all():
+ for target in column.targets.order_by("pk").all():
ft = target.formater_type.get_formater_type(
target, import_instance=import_instance)
if not ft:
@@ -444,11 +444,11 @@ class ImporterColumn(models.Model):
return self.importer_type.slug, self.col_number
def targets_lbl(self):
- return u', '.join([target.target for target in self.targets.all()])
+ return ', '.join([target.target for target in self.targets.all()])
def duplicate_fields_lbl(self):
- return u', '.join([dp.field_name or u""
- for dp in self.duplicate_fields.all()])
+ return ', '.join([dp.field_name or ""
+ for dp in self.duplicate_fields.all()])
class ImporterDuplicateFieldManager(models.Manager):