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)
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
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
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
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
def slug(self): return slugify(self.subject) or _(u'inforequests:Inforequest:fallback_slug')
def dummy_email(name, tpl): slug = slugify(name)[:30].strip(u'-') return tpl.format(name=slug)
def slug(self): return slugify( self.subject) or _(u'inforequests:Inforequest:fallback_slug')