def slugify_field(self, field_name):
     pretranslate = load_slug_rule(self.language)
     slugify_url = Slugify(pretranslate=pretranslate)
     slugify_url.to_lower = True
     slugify_url.stop_words = ()
     slugify_url.max_length = 1000
     return slugify_url(self.field_dict[field_name], max_length=1000)
示例#2
0
def slugify_name(name):
    """Get a slugifier used to ensure asset names are safe"""

    # Create the slugifier
    slugifier = Slugify()

    # Configure the slugifier
    slugifier.to_lower = True
    slugifier.safe_chars = '-/'
    slugifier.max_length = 200

    # Names cannot start or end with forward slashes '/'
    return slugifier(name).strip('/')
    def slugify(self):
        if (self.field_dict["product_name"] is not None
                and self.field_dict["brand"] is not None
                and self.field_dict["fingerprint"] is not None):
            key_word_list = self.keyword_list_lookup()
            pretranslate = load_slug_rule(self.language)
            slugify_url = Slugify(pretranslate=pretranslate)
            slugify_url.to_lower = True
            slugify_url.stop_words = ()
            slugify_url.max_length = 1000
            first_bit = slugify_url(
                "-".join(key_word for key_word in key_word_list
                         if key_word).lower(),
                max_length=1000,
            )
            if len(first_bit) == 0:
                return ""

            friendly_id = "-".join([first_bit, self.field_dict["fingerprint"]])
            return friendly_id
示例#4
0
# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.db import models, migrations
from slugify import Slugify

my_slugify = Slugify()
my_slugify.separator = '-'
my_slugify.pretranslate = {'&': 'and'}
my_slugify.to_lower = True
my_slugify.max_length = None
my_slugify.capitalize = False
my_slugify.safe_chars = ''


def add_slug(CategoryModel, category_name, category_group, category_code,
             category_description):
    category = CategoryModel.objects.get(code=category_code)
    category.slug = my_slugify(category_name)
    category.save()


def create_category_slugs(apps, schema_editor):
    CategoryModel = apps.get_model("core", "ChCategory")
    print("CategoryModel: ", CategoryModel)

    # Art & cultural events // Arte y eventos culturales
    add_slug(CategoryModel, 'Art & Cultural events', 'Art & Cultural events',
             '01.01', 'Dummy description')

    # Books & Comics // Libros y cómics
示例#5
0
import os
import os.path

try:
    # Python 3.x
    from urllib.parse import urlsplit
except ImportError:
    # Python 2.x
    from urlparse import urlsplit

from slugify import Slugify

slugify_filename = Slugify(to_lower=True)
slugify_filename.separator = '_'
slugify_filename.safe_chars = '-.'
slugify_filename.max_length = 255


def get_safe_path_name(filename):
    """
    :type filename: unicode
    :rtype: unicode
    """
    safe_filename = slugify_filename(filename)

    return safe_filename.lower()


def get_filename_from_url(url):
    """
    Convert URL to filename.
示例#6
0
from django.db import models
from slugify import Slugify

slugify_text = Slugify()
slugify_text.to_lower = True
slugify_text.stop_words = ('a', 'an', 'the')
slugify_text.max_length = 200

def get_image_url(instance, filename):
    return f'blogs/{instance.slug}/{filename}'

class Blog(models.Model):
    title = models.CharField(max_length=200)
    slug = models.CharField(max_length=230)
    date_created = models.DateField()
    title_image = models.ImageField(upload_to=get_image_url)

    def save(self, *args, **kwargs):
        if not self.id:
            self.slug = slugify_text(self.title)
        super(Blog, self).save(*args, **kwargs)

    def __str__(self):
        return self.title
示例#7
0
import os
import os.path

try:
    # Python 3.x
    from urllib.parse import urlsplit
except ImportError:
    # Python 2.x
    from urlparse import urlsplit

from slugify import Slugify

slugify_filename = Slugify(to_lower=True)
slugify_filename.separator = '_'
slugify_filename.safe_chars = '-.'
slugify_filename.max_length = 255


def get_safe_path_name(filename):
    """
    :type filename: unicode
    :rtype: unicode
    """
    safe_filename = slugify_filename(filename)

    return safe_filename.lower()


def get_filename_from_url(url):
    """
    Convert URL to filename.