예제 #1
0
    def save(self, *args, **kwargs):
        update_fields = kwargs.get(u'update_fields', None)

        # Generate and save slug if saving name
        if update_fields is None or u'name' in update_fields:
            self.slug = slugify(self.name)
            if update_fields is not None:
                update_fields.append(u'slug')

        super(ObligeeTag, self).save(*args, **kwargs)
예제 #2
0
    def save(self, *args, **kwargs):
        update_fields = kwargs.get(u'update_fields', None)

        # Generate and save slug if saving name
        if update_fields is None or u'name' in update_fields:
            self.slug = slugify(self.name)
            if update_fields is not None:
                update_fields.append(u'slug')

        super(ObligeeTag, self).save(*args, **kwargs)
예제 #3
0
 def validate_unique_slug(self, sheet, row_idx, value):
     if not self.unique_slug:
         return
     if not hasattr(sheet, u'_validate_unique_slug_cache'):
         sheet._validate_unique_slug_cache = defaultdict(dict)
     slug = slugify(value)
     if slug in sheet._validate_unique_slug_cache[self]:
         other_row, other_value = sheet._validate_unique_slug_cache[self][slug]
         raise CellError(u'unique_slug',
                 u'Expecting value with unique slug but {} has the same slug as {} in row {}',
                 self.value_repr(value), self.value_repr(other_value), other_row)
     sheet._validate_unique_slug_cache[self][slug] = (row_idx, value)
     return value
예제 #4
0
 def make_names_unique(self, rows):
     groups = defaultdict(list)
     for row_idx, values in rows.items():
         name = values[self.columns.name.label]
         slug = slugify(name)
         groups[slug].append(row_idx)
     for group in groups.values():
         if len(group) > 1:
             for row_idx in group:
                 name = rows[row_idx][self.columns.name.label]
                 district = rows[row_idx][self.columns.district.label]
                 new_name = u'{}, okres {}'.format(name, district.name)
                 rows[row_idx][self.columns.name.label] = new_name
     return rows
예제 #5
0
 def make_names_unique(self, rows):
     groups = defaultdict(list)
     for row_idx, values in rows.items():
         name = values[self.columns.name.label]
         slug = slugify(name)
         groups[slug].append(row_idx)
     for group in groups.values():
         if len(group) > 1:
             for row_idx in group:
                 name = rows[row_idx][self.columns.name.label]
                 district = rows[row_idx][self.columns.district.label]
                 new_name = u'{}, okres {}'.format(name, district.name)
                 rows[row_idx][self.columns.name.label] = new_name
     return rows
예제 #6
0
    def check_unique_slugs(self, rows, column):
        errors = 0

        seen = {}
        for row_idx, values in rows.items():
            value = values[column.label]
            slug = slugify(value)
            if slug in seen:
                del rows[row_idx]
                other_row, other_value = seen[slug]
                self.cell_error(u'unique_slug', row_idx, column,
                        u'Expecting value with unique slug but {} has the same slug as {} in row {}',
                        column.coerced_repr(value),
                        column.coerced_repr(other_value),
                        other_row)
                errors += 1
            else:
                seen[slug] = (row_idx, value)

        if errors:
            raise RollingError(errors)
        return rows
예제 #7
0
    def check_unique_slugs(self, rows, column):
        errors = 0

        seen = {}
        for row_idx, values in rows.items():
            value = values[column.label]
            slug = slugify(value)
            if slug in seen:
                del rows[row_idx]
                other_row, other_value = seen[slug]
                self.cell_error(
                    u'unique_slug', row_idx, column,
                    u'Expecting value with unique slug but {} has the same slug as {} in row {}',
                    column.coerced_repr(value),
                    column.coerced_repr(other_value), other_row)
                errors += 1
            else:
                seen[slug] = (row_idx, value)

        if errors:
            raise RollingError(errors)
        return rows
예제 #8
0
 def slug(self):
     return slugify(self.subject) or _(u'inforequests:Inforequest:fallback_slug')
예제 #9
0
 def dummy_email(name, tpl):
     slug = slugify(name)[:30].strip(u'-')
     return tpl.format(name=slug)
예제 #10
0
 def slug(self):
     return slugify(
         self.subject) or _(u'inforequests:Inforequest:fallback_slug')
예제 #11
0
 def dummy_email(name, tpl):
     slug = slugify(name)[:30].strip(u'-')
     return tpl.format(name=slug)