def test_slugify_ru(self): self.assertEqual(slugify_ru('Компьютер'), 'Komputer') self.assertEqual(slugify_ru('Транслитерирует и русский'), 'Transliteriryet-i-rysskii') self.assertEqual(slugify_ru('ёжик из щуки сварил уху'), 'ezhik-iz-schyki-svaril-yhy') self.assertEqual(slugify_ru('Ах, Юля-Юля'), 'Ah-Ulya-Ulya')
def generate_random_username(name, length=4, chars="abcdefghjkmnpqrstuvwxyz" "23456789"): slug = slugify_ru(name, max_length=8, to_lower=True, separator="") salt = get_random_string(length=length, allowed_chars=chars) username = "******".format(slug, salt) try: User.objects.get(username=username) return generate_random_username(name, length=length, chars=chars) except User.DoesNotExist: return username
def addPage(request): if request.method == 'GET': page_url = request.GET.get('url') category_id = request.GET.get('category') webpage = urllib2.urlopen(page_url).read() soup = BeautifulSoup(''.join(webpage)) user = User.objects.get(pk=request.user.id) category = Category.objects.get(id=category_id) page_title = soup('title')[0].string page_title = slugify.slugify_ru(page_title) file_name = u''.join(e for e in page_title if e.isalnum()) file_name = slugify.slugify_ru(file_name) os.system(STATIC_ROOT+"/webkit2png.py -D "+STATIC_ROOT+"'/images/'"+str(request.user.id)+" -T -o "+file_name+" "+page_url) page = Page(title=page_title, url=page_url, image_file=file_name+'.png',category=category, user=user) page.save() return redirect('home') else: return Response(status=403)
def unique_slug_generator(instance, new_slug=None): """ This is for a Django project and it assumes your instance has a model with a slug field and a title character (char) field. """ if new_slug is not None: slug = new_slug else: slug = slugify_ru(instance.name, to_lower=True) Klass = instance.__class__ qs_exists = Klass.objects.filter(slug=slug).exists() if qs_exists: new_slug = "{slug}-{randstr}".format( slug=slug, randstr=random_string_generator(size=4)) return unique_slug_generator(instance, new_slug=new_slug) return slug
def test_full_upper(self): self.assertEqual(slugify_ru('ЯНДЕКС'), 'YANDEKS')
def test_abbreviation(self): self.assertEqual(slugify_ru('UP Я.Б.Ч'), 'UP-Ya-B-Ch')
def test_one_letter_words(self): self.assertEqual(slugify_ru('Э Я Г Д Е ?'), 'E-Ya-G-D-E') self.assertEqual(slugify_ru('UP Э Я Г Д Е ?'), 'UP-E-YA-G-D-E')
def test_at_end_of_sentence(self): self.assertEqual(slugify_ru('пошЁЛ Я'), 'poshEL-YA') self.assertEqual(slugify_ru('пошЁЛ Я.'), 'poshEL-YA') self.assertEqual(slugify_ru('пошёл Я. ПОШЁЛ'), 'poshel-Ya-POSHEL')
def generate_slug(self, title): """ Generate slug by title """ self.slug = slugify_ru(title, to_lower=True)
def save(self, *args, **kwargs): if not self.slug: self.slug = slugify_ru(self.name, to_lower=True, max_length=100) super(Genre, self).save(*args, **kwargs)
def generate_slug(nickname): if nickname is None: raise ValueError('Nickname can\'t be empty') else: return slugify_ru(nickname, to_lower=True)
def save(self, *args, **kwargs): if not self.slug and not self.moderation_status: self.slug = slugify_ru(self.title, to_lower=True, max_length=100) super(Publication, self).save(*args, **kwargs)
def clean_name(self): value = super(CustomCreateDirForm, self).clean() return slugify_ru(value['name'])
def test_camel_word(self): self.assertEqual(slugify_ru('Яндекс'), 'Yandeks') self.assertEqual(slugify_ru('UP Яндекс'), 'UP-Yandeks') self.assertEqual(slugify_ru('Яндекс UP'), 'Yandeks-UP')
def test_at_start_of_sentence(self): self.assertEqual(slugify_ru('Я пошёл'), 'Ya-poshel') self.assertEqual(slugify_ru('Я Пошёл'), 'Ya-Poshel') self.assertEqual(slugify_ru('Я ПОШёл'), 'YA-POSHel') self.assertEqual(slugify_ru('Я ПОШЁЛ. Я Пошел'), 'YA-POSHEL-Ya-Poshel')
def save(self, *args, **kwargs): if not self.slug: self.slug = slugify_ru(self.title, to_lower=True, max_length=100) super(Film, self).save(*args, **kwargs)