コード例 #1
0
ファイル: installers.py プロジェクト: yuhan963/website
 def get_object(self):
     try:
         version = Version.objects.get(
             pk=self.request.parser_context['kwargs']['pk'])
     except Version.DoesNotExist:
         raise Http404
     return models.InstallerRevision(version)
コード例 #2
0
ファイル: tasks.py プロジェクト: bexnoss/website
def auto_process_installers():
    """Auto deletes or accepts some submissions"""

    revisions = Revision.objects.all()
    for revision in revisions:
        version = revision.version_set.first()
        if not version:
            continue
        try:
            submission = models.InstallerRevision(version)
        except Exception:  # pylint: disable=broad-except
            LOGGER.error("Deleting corrupt submission %s", version)
            submission.delete()
            continue
        original = version.object
        if not original:
            LOGGER.warning("Could not find original, deleting %s", submission)
            submission.delete()
            continue
        if submission.content.strip() != original.content.strip():
            # Content change needs manual review
            continue

        if submission.runner != original.runner:
            if submission.runner.slug == "steam" and original.runner.slug == "winesteam":
                LOGGER.info("Accepting %s (%s > %s)", submission,
                            original.runner, submission.runner)
                submission.accept()
                continue
            LOGGER.info("Rejecting %s (%s > %s)", submission, original.runner,
                        submission.runner)
            submission.delete()
            continue
        if not submission.description:
            submission.description = ""
        if not original.description:
            original.description = ""
        if (submission.description.strip() == original.description.strip()
                and submission.notes.strip() == original.notes.strip()):
            LOGGER.info("No change in submission, deleting %s", submission)
            submission.delete()
            continue

        if "[draft]" in revision.comment:
            LOGGER.info("Deleting draft  with only meta changes %s",
                        submission)
            submission.delete()
            continue

        if original.version == "Change Me":
            LOGGER.info("Deleting garbage fork %s", submission)
            submission.delete()
            continue
コード例 #3
0
 def get_object(self):
     try:
         revision = Revision.objects.get(
             pk=self.request.parser_context['kwargs']['pk'])
     except Revision.DoesNotExist:
         LOGGER.warning("No Revision with ID %s",
                        self.request.parser_context['kwargs']['pk'])
         raise Http404
     try:
         version = revision.version_set.all()[0]
     except IndexError:
         LOGGER.warning("Revision ID %s has no versions",
                        self.request.parser_context['kwargs']['pk'])
         raise Http404
     return models.InstallerRevision(version)
コード例 #4
0
ファイル: installers.py プロジェクト: Turupawn/website
 def get_object(self):
     version = Version.objects.get(pk=self.request.parser_context['kwargs']['pk'])
     return models.InstallerRevision(version)