class ShippingEventTypeFactory(factory.DjangoModelFactory): name = 'Test event' code = factory.LazyAttribute(lambda o: slugify(o.name).replace('-', '_')) class Meta: model = get_model('order', 'ShippingEventType') django_get_or_create = ('code', )
def clean_code(self): code = self.cleaned_data.get("code") title = self.cleaned_data.get("name") if not code and title: code = slugify(title) return code
def get(self, request, *args, **kwargs): voucher_set = self.get_object() response = HttpResponse(content_type='text/csv') response['Content-Disposition'] = ( 'attachment; filename="%s.csv"' % slugify(voucher_set.name)) writer = csv.writer(response) for code in voucher_set.vouchers.values_list('code', flat=True): writer.writerow([code]) return response
def form_valid(self, form): """ Store new flatpage from form data. Additionally, if URL is left blank, a slugified version of the title will be used as URL after checking if it is valid. """ # if no URL is specified, generate from title page = form.save(commit=False) if not page.url: page.url = '/%s/' % slugify(page.title) try: URLDoesNotExistValidator()(page.url) except ValidationError: pass else: return super().form_valid(form) ctx = self.get_context_data() ctx['form'] = form return self.render_to_response(ctx)
def test_uses_blacklist(self): self.assertEqual('bible', utils.slugify('The Bible'))
def test_uses_blacklist_doesnt_reduce_to_nothing(self): self.assertEqual('bible', utils.slugify('The Bible'))
def test_custom_slugifier(self): self.assertEqual('HAM AND EGGS', utils.slugify('Ham and eggs'))
def test_uses_custom_mappings(self): self.assertEqual('cpp', utils.slugify('c++'))
def test_allow_unicode(self): self.assertEqual('könig-der-straße', utils.slugify('König der Straße')) self.assertEqual('丁丂-七丄丅', utils.slugify('丁丂 七丄丅')) self.assertEqual('not-fancy', utils.slugify('Not fancy'))
def test_default_unicode_to_ascii(self): self.assertEqual('konig-der-straxdfe', utils.slugify('König der Straße')) self.assertEqual('not-fancy', utils.slugify('Not fancy')) self.assertEqual('u4e01u4e02-u4e03u4e04u4e05', utils.slugify('丁丂 七丄丅'))
def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(self.name) super(Store, self).save(*args, **kwargs)
def save(self, *args, **kwargs): if not self.slug: self.slug = slugify(self.get_title()) super().save(*args, **kwargs) self.attr.save()
def generate_slug(self): """ Generates a slug for a category. This makes no attempt at generating a unique slug. """ return slugify(self.name)