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
554
555
def media_filename(instance, filename):
556
    avoid_collision = uuid.uuid4().hex[:8]
557
    name_parts = filename.split('.')
558
    if len(name_parts) > 1:
559
        name = slugify('.'.join(name_parts[:-1]), allow_unicode=True)
560
        ext = slugify(name_parts[-1])
561
        name = name + '.' + ext
562
    else:
563
        name = slugify(data.name)
564
    filename = os.path.join(
565
        settings.PAGE_UPLOAD_ROOT,
566
        'medias',
567
        name
568
    )
569
    return filename
570
571
572
@python_2_unicode_compatible
573
class Media(models.Model):