Code Duplication    Length = 12-13 lines in 4 locations

omaha_server/omaha/limitation.py 4 locations

@@ 95-107 (lines=13) @@
92
    return result
93
94
95
@bulk_delete.register(SparkleVersion)
96
def _(cls, qs):
97
    if settings.DEFAULT_FILE_STORAGE == 'storages.backends.s3boto.S3BotoStorage':
98
        qs = s3_bulk_delete(qs, file_fields=['file'], s3_fields=['sparkle'])
99
100
    result = dict()
101
    result['count'] = qs.count()
102
    result['size'] = qs.get_size()
103
    result['elements'] = list(qs.values_list('id', 'created'))
104
    elements = list(qs.values_list('id', 'created'))
105
    result['elements'] = map(lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), elements)
106
    qs.delete()
107
    return result
108
109
110
def s3_bulk_delete(qs, file_fields, s3_fields):
@@ 52-64 (lines=13) @@
49
    return result
50
51
52
@bulk_delete.register(Feedback)
53
def _(cls, qs):
54
    if settings.DEFAULT_FILE_STORAGE == 'storages.backends.s3boto.S3BotoStorage':
55
        qs = s3_bulk_delete(qs, file_fields=['attached_file', 'blackbox', 'screenshot', 'system_logs'],
56
                            s3_fields=['feedback_attach', 'blackbox', 'screenshot', 'system_logs'])
57
58
    result = dict()
59
    result['count'] = qs.count()
60
    result['size'] = qs.get_size()
61
    elements = list(qs.values_list('id', 'created'))
62
    result['elements'] = map(lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), elements)
63
    qs.delete()
64
    return result
65
66
67
@bulk_delete.register(Symbols)
@@ 81-92 (lines=12) @@
78
    return result
79
80
81
@bulk_delete.register(OmahaVersion)
82
def _(cls, qs):
83
    if settings.DEFAULT_FILE_STORAGE == 'storages.backends.s3boto.S3BotoStorage':
84
        qs = s3_bulk_delete(qs, file_fields=['file'], s3_fields=['build'])
85
86
    result = dict()
87
    result['count'] = qs.count()
88
    result['size'] = qs.get_size()
89
    elements = list(qs.values_list('id', 'created'))
90
    result['elements'] = map(lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), elements)
91
    qs.delete()
92
    return result
93
94
95
@bulk_delete.register(SparkleVersion)
@@ 67-78 (lines=12) @@
64
    return result
65
66
67
@bulk_delete.register(Symbols)
68
def _(cls, qs):
69
    if settings.DEFAULT_FILE_STORAGE == 'storages.backends.s3boto.S3BotoStorage':
70
        qs = s3_bulk_delete(qs, file_fields=['file'], s3_fields=['symbols'])
71
72
    result = dict()
73
    result['count'] = qs.count()
74
    result['size'] = qs.get_size()
75
    elements = list(qs.values_list('id', 'created'))
76
    result['elements'] = map(lambda x: dict(id=x[0], element_created=x[1].strftime("%d. %B %Y %I:%M%p")), elements)
77
    qs.delete()
78
    return result
79
80
81
@bulk_delete.register(OmahaVersion)