Beispiel #1
0
def test_utils_parse_datestring():
    single_dot = parse_datestring('01.01.1970')
    assert single_dot == (datetime.datetime(1970, 1, 1, 23, 59), None)

    single_dash = parse_datestring('01-01-1970')
    assert single_dash == (datetime.datetime(1970, 1, 1, 23, 59), None)

    ans_range = (datetime.datetime(1970, 1, 1, 23, 59), datetime.datetime(1970, 5, 1, 23, 59))
    range_dot = parse_datestring('01.01.1970 - 01.05.1970')
    assert range_dot == ans_range

    range_dash = parse_datestring('01.05.1970 01-01-1970')
    assert range_dash == ans_range

    assert parse_datestring('01.05.1970.0101-1970') == ans_range
Beispiel #2
0
def test_utils_parse_datestring():
    single_dot = parse_datestring('01.01.1970')
    assert single_dot == (datetime.datetime(1970, 1, 1, 23, 59), None)

    single_dash = parse_datestring('01-01-1970')
    assert single_dash == (datetime.datetime(1970, 1, 1, 23, 59), None)

    ans_range = (datetime.datetime(1970, 1, 1, 23, 59), datetime.datetime(1970, 5, 1, 23, 59))
    range_dot = parse_datestring('01.01.1970 - 01.05.1970')
    assert range_dot == ans_range

    range_dash = parse_datestring('01.05.1970 01-01-1970')
    assert range_dash == ans_range

    assert parse_datestring('01.05.1970.0101-1970') == ans_range
Beispiel #3
0
    def expires_at(self, date=None, category=None, media_type=None):
        new = None
        if date is None:
            date = datetime.now().date()
        else:
            old, new = parse_datestring(date)
            if new is None:
                date = old.date()

        expires_soon = []

        all_programs = self.site_rip()

        for media in all_programs:
            if media.type == 'serie' and media_type is None or media_type == 'serie':
                for ep in media.episodes():
                    if category and category != ep.category.name:
                        continue

                    if new:
                        # We need to check ep is available because
                        # it still be available_to but we cant download it..
                        if old <= ep.available_to <= new and ep.available:
                            expires_soon.append(ep)

                    elif ep.available_to.date() == date and ep.available:
                        expires_soon.append(ep)
            else:
                if category and category != media.category.name:
                    continue

                if media_type and media_type != media.type:
                    continue

                if new:
                    if old <= media.available_to <= new and media.available:
                        expires_soon.append(media)
                elif media.available_to.date() == date and media.available:
                    expires_soon.append(media)

        if expires_soon:
            print('%s expires today' % len(expires_soon))
            eps = _console_select(expires_soon, ['full_title'])
            [m.download(os.path.join(self.save_path, str(date))) for m in eps]
            ip = compat_input('Download que is %s do you wish to download everything now? y/n\n' % len(self.downloads()))
            if ip == 'y':
                self.downloads().start()
Beispiel #4
0
    def expires_at(self, date=None, category=None, media_type=None):
        new = None
        if date is None:
            date = datetime.now().date()
        else:
            old, new = parse_datestring(date)
            if new is None:
                date = old.date()

        expires_soon = []

        all_programs = self.site_rip()

        for media in all_programs:
            if media.type == 'serie' and media_type is None or media_type == 'serie':
                for ep in media.episodes():
                    if category and category != ep.category.name:
                        continue

                    if new:
                        # We need to check ep is available because
                        # it still be available_to but we cant download it..
                        if old <= ep.available_to <= new and ep.available:
                            expires_soon.append(ep)

                    elif ep.available_to.date() == date and ep.available:
                        expires_soon.append(ep)
            else:
                if category and category != media.category.name:
                    continue

                if media_type and media_type != media.type:
                    continue

                if new:
                    if old <= media.available_to <= new and media.available:
                        expires_soon.append(media)
                elif media.available_to.date() == date and media.available:
                    expires_soon.append(media)

        if expires_soon:
            print('%s expires today' % len(expires_soon))
            eps = _console_select(expires_soon, ['full_title'])
            [m.download(os.path.join(self.save_path, str(date))) for m in eps]
            ip = compat_input('Download que is %s do you wish to download everything now? y/n\n' % len(self.downloads()))
            if ip == 'y':
                self.downloads().start()