| 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 |