Code Duplication    Length = 15-21 lines in 2 locations

pages/placeholders.py 1 location

@@ 311-331 (lines=21) @@
308
        return "<Placeholder Node: %s>" % self.name
309
310
311
def get_filename(page, content_type, data):
312
    """
313
    Generate a stable filename using the original filename of the type.
314
315
316
    """
317
    avoid_collision = uuid.uuid4().hex[:8]
318
319
    name_parts = data.name.split('.')
320
    if len(name_parts) > 1:
321
        name = slugify('.'.join(name_parts[:-1]), allow_unicode=True)
322
        ext = slugify(name_parts[-1])
323
        name = name + '.' + ext
324
    else:
325
        name = slugify(data.name)
326
    filename = os.path.join(
327
        settings.PAGE_UPLOAD_ROOT,
328
        'page_' + str(page.id),
329
        content_type + '-' + avoid_collision + '-' + name
330
    )
331
    return filename
332
333
334
class FilePlaceholderNode(PlaceholderNode):

pages/models.py 1 location

@@ 556-570 (lines=15) @@
553
        return "{0} :: {1}".format(self.url, self.page.get_complete_slug())
554
555
556
def media_filename(instance, filename):
557
    avoid_collision = uuid.uuid4().hex[:8]
558
    name_parts = filename.split('.')
559
    if len(name_parts) > 1:
560
        name = slugify('.'.join(name_parts[:-1]), allow_unicode=True)
561
        ext = slugify(name_parts[-1])
562
        name = name + '.' + ext
563
    else:
564
        name = slugify(data.name)
565
    filename = os.path.join(
566
        settings.PAGE_UPLOAD_ROOT,
567
        'medias',
568
        name
569
    )
570
    return filename
571
572
573
@python_2_unicode_compatible