def _download(self, data):
        md5 = data[-1]
        try:
            Webm.increase_rating(md5)
            result = None, None, None
        except Webm.DoesNotExist:
            self._webm_obj = Webm(md5=md5)
            result = super()._download(data)

        return result
class DownloadToModel(scraper.Downloader):

    def __init__(self, *args, **kwargs):
        self._webm_obj = None
        super().__init__(*args, **kwargs)

    def _download(self, data):
        md5 = data[-1]
        try:
            Webm.increase_rating(md5)
            result = None, None, None
        except Webm.DoesNotExist:
            self._webm_obj = Webm(md5=md5)
            result = super()._download(data)

        return result

    def save(self, filename, webm, thumb):
        if not filename:
            return

        if webm:
            filename += '.webm'
            path = os.path.join(
                get_media_folder(self._webm_obj, filename), filename)
            webm_path = default_storage.save(path, ContentFile(webm))
            self._webm_obj.video = webm_path

        if thumb:
            filename += '.jpg'
            path = os.path.join(
                get_media_folder(self._webm_obj, filename), filename)
            thumb_path = default_storage.save(path, ContentFile(thumb))
            self._webm_obj.thumbnail = thumb_path

        try:
            self._webm_obj.save()
        except IntegrityError:
            Webm.increase_rating(self._webm_obj.md5)

    def work(self, *args, **kwargs):
        return super().work(self.save)
    def save(self, filename, webm, thumb):
        if not filename:
            return

        if webm:
            filename += '.webm'
            path = os.path.join(
                get_media_folder(self._webm_obj, filename), filename)
            webm_path = default_storage.save(path, ContentFile(webm))
            self._webm_obj.video = webm_path

        if thumb:
            filename += '.jpg'
            path = os.path.join(
                get_media_folder(self._webm_obj, filename), filename)
            thumb_path = default_storage.save(path, ContentFile(thumb))
            self._webm_obj.thumbnail = thumb_path

        try:
            self._webm_obj.save()
        except IntegrityError:
            Webm.increase_rating(self._webm_obj.md5)
Пример #4
0
    def _download(self, data):
        self._webm_url, md5 = data[0], data[-1]
        self._webm_obj, created = Webm.get_or_increase_rating(md5)

        if not created:
            result = None, None, None
            scraper.inform('Increase rating {}'.format(self._webm_url),
                           level=scraper.WARNING)
            self._add_releated_info()
        else:
            result = super()._download(data)

        return result
Пример #5
0
    def _download(self, data):
        self._webm_url, md5 = data[0], data[-1]
        self._webm_obj, created = Webm.get_or_increase_rating(md5)

        if not created:
            result = None, None, None
            scraper.inform(
                'Increase rating {}'.format(self._webm_url), level=scraper.WARNING)
            self._add_releated_info()
        else:
            result = super()._download(data)

        return result