Code Duplication    Length = 13-15 lines in 2 locations

omaha_server/downloads/views.py 2 locations

@@ 49-63 (lines=15) @@
46
        return context
47
48
49
class OmahaLatestVersionRedirectView(RedirectView):
50
    permanent = False
51
    model = Version
52
53
    def get_redirect_url(self, *args, **kwargs):
54
        app = self.kwargs['app']
55
        channel = self.kwargs['channel']
56
        platform = self.kwargs['platform']
57
        try:
58
            version = self.model.objects.filter_by_enabled(app__name=app,
59
                                                channel__name=channel,
60
                                                platform__name=platform).latest('version')
61
        except self.model.DoesNotExist:
62
            raise Http404
63
        return version.file.url
64
65
66
class SparkleLatestVersionRedirectView(RedirectView):
@@ 66-78 (lines=13) @@
63
        return version.file.url
64
65
66
class SparkleLatestVersionRedirectView(RedirectView):
67
    permanent = False
68
    model = SparkleVersion
69
70
    def get_redirect_url(self, *args, **kwargs):
71
        app = self.kwargs['app']
72
        channel = self.kwargs['channel']
73
        try:
74
            version = self.model.objects.filter_by_enabled(app__name=app,
75
                                                           channel__name=channel).latest('created')
76
        except self.model.DoesNotExist:
77
            raise Http404
78
        return version.file.url
79