Conditions | 6 |
Total Lines | 21 |
Lines | 0 |
Ratio | 0 % |
Changes | 1 | ||
Bugs | 0 | Features | 0 |
1 | # -*- coding: utf-8 -*- |
||
8 | def delete_duplicated_os(apps, schema_editor): |
||
9 | Os = apps.get_model("omaha", "Os") |
||
10 | Request = apps.get_model("omaha", "Request") |
||
11 | list_args = Os.objects.all().values('platform', 'version', 'sp', 'arch') |
||
12 | not_dup_args = [] |
||
13 | dup_args = [] |
||
14 | |||
15 | for args in list_args: |
||
16 | if args in not_dup_args: |
||
17 | if args not in dup_args: |
||
18 | dup_args.append(args) |
||
19 | else: |
||
20 | not_dup_args.append(args) |
||
21 | |||
22 | print "\nDuplicated arguments: %s" % dup_args |
||
23 | for args in dup_args: |
||
24 | dups = list(Os.objects.filter(**args)) |
||
25 | original = dups[0] |
||
26 | for os in dups[1:]: |
||
27 | Request.objects.filter(os=os.id).update(os=original.id) |
||
28 | os.delete() |
||
29 | |||
40 |