Exclude television films

This commit is contained in:
2019-10-10 01:21:30 +02:00
parent a12ffa58b0
commit 23838437bc

View File

@ -68,7 +68,7 @@ class TVGuideScraper:
for day in days: for day in days:
movies += TVGuideScraper._getMovies(day, date) movies += TVGuideScraper._getMovies(day, date)
date += datetime.timedelta(days=1) date += datetime.timedelta(days=1)
logging.info('Found the following movies: {}'.format(movies)) logging.debug('Found the following movies: {}'.format(movies))
return movies return movies
@staticmethod @staticmethod
@ -102,7 +102,7 @@ class TVGuideScraper:
) )
movie.end_time = movie.start_time + duration movie.end_time = movie.start_time + duration
logging.info('Found movie: {0!r}'.format(movie)) logging.debug('Found movie: {0!r}'.format(movie))
movies.append(movie) movies.append(movie)
return movies return movies
@ -132,7 +132,7 @@ class TVGuideScraper:
class FreeboxMoviePlanner: class FreeboxMoviePlanner:
def __init__(self, movies): def __init__(self, movies):
logging.info('Opening config file: config.json') logging.debug('Opening config file: config.json')
with open('config.json') as config_file: with open('config.json') as config_file:
self.config = json.load(config_file) self.config = json.load(config_file)
tmdbsimple.API_KEY = self.config['tmdb-api'] tmdbsimple.API_KEY = self.config['tmdb-api']
@ -146,6 +146,7 @@ class FreeboxMoviePlanner:
) )
self.getListOfAvailableChannels() self.getListOfAvailableChannels()
self.excludeUnavailableChannels() self.excludeUnavailableChannels()
self.excludeTelevisionFilm()
self.findMoviesOnTMDB() self.findMoviesOnTMDB()
self.excludeBadRatings() self.excludeBadRatings()
self.askForUserSelection() self.askForUserSelection()
@ -167,8 +168,8 @@ class FreeboxMoviePlanner:
if channel['available']: if channel['available']:
self.channels[channel['name']] = channel['uuid'] self.channels[channel['name']] = channel['uuid']
else: else:
logging.info("Dropping '{}'".format(channel['name'])) logging.debug("Dropping '{}'".format(channel['name']))
logging.info('Got the following channels: {}'.format(self.channels)) logging.debug('Got the following channels: {}'.format(self.channels))
def printAllMovies(self): def printAllMovies(self):
for movie in self.movies: for movie in self.movies:
@ -214,25 +215,31 @@ class FreeboxMoviePlanner:
return [] return []
def excludeBadRatings(self): def excludeBadRatings(self):
logging.info('Dropping novies with bad ratings: {}'.format( logging.info('Dropping movies with bad ratings: {}'.format(
[m for m in self.movies if not m.good] [m for m in self.movies if not m.good]
)) ))
self.movies = [m for m in self.movies if m.good] self.movies = [m for m in self.movies if m.good]
logging.info('Kept {}'.format(self.movies)) logging.debug('Kept {}'.format(self.movies))
def excludeUnavailableChannels(self): def excludeUnavailableChannels(self):
logging.info('Dropping movies on unavailable channels: {}'.format( logging.info('Dropping movies on unavailable channels: {}'.format(
[m for m in self.movies if m.channel not in self.channels] [m for m in self.movies if m.channel not in self.channels]
)) ))
self.movies = [m for m in self.movies if m.channel in self.channels] self.movies = [m for m in self.movies if m.channel in self.channels]
logging.info('Kept {}'.format(self.movies)) logging.debug('Kept {}'.format(self.movies))
def excludeTelevisionFilm(self):
logging.info('Dropping television films')
self.movies = [
m for m in self.movies if not m.genre.startswith("Téléfilm")
]
def excludeNotSelected(self): def excludeNotSelected(self):
self.movies = [m for m in self.movies if m.user_selected] self.movies = [m for m in self.movies if m.user_selected]
def programMovies(self): def programMovies(self):
for movie in self.movies: for movie in self.movies:
logging.info("Programming '{}'".format(movie)) logging.debug("Programming '{}'".format(movie))
data = { data = {
'channel_uuid': self.channels[movie.channel], 'channel_uuid': self.channels[movie.channel],
'start': int(movie.start_time.timestamp()), 'start': int(movie.start_time.timestamp()),
@ -255,7 +262,7 @@ class FreeboxMoviePlanner:
"Conflicting records detected, please " "Conflicting records detected, please "
"check your Freebox interface" "check your Freebox interface"
) )
logging.info("Conflicting records detected '{}'".format( logging.warning("Conflicting records detected '{}'".format(
conflicting_movies conflicting_movies
)) ))