Fetch the list of available Channels from the Freebox API

This commit is contained in:
2019-10-08 23:32:04 +02:00
parent 1ff676b8a4
commit 30e251ac09
4 changed files with 31 additions and 6 deletions

3
.gitmodules vendored Normal file
View File

@ -0,0 +1,3 @@
[submodule "pyfbx"]
path = pyfbx
url = https://djib.fr/djib/pyfbx.git

View File

@ -12,6 +12,7 @@ import requests
import datetime import datetime
import tmdbsimple import tmdbsimple
import textwrap import textwrap
from pyfbx.pyfbx import Fbx
from bs4 import BeautifulSoup from bs4 import BeautifulSoup
from collections import deque from collections import deque
@ -92,6 +93,14 @@ class FreeboxMoviePlanner:
tmdbsimple.API_KEY = self.config['tmdb-api'] tmdbsimple.API_KEY = self.config['tmdb-api']
self.movies = [] self.movies = []
logging.info('Opening Freebox session')
self.freebox = Fbx()
self.freebox.mksession(
app_id='FreeboxMoviePlanner',
token=self.config['freebox-session-token']
)
self.getListOfAvailableChannels()
def __repr__(self): def __repr__(self):
result = 'FreeboxMoviePlanner <Movies:\n' result = 'FreeboxMoviePlanner <Movies:\n'
for movie in self.movies: for movie in self.movies:
@ -99,9 +108,20 @@ class FreeboxMoviePlanner:
result += '>' result += '>'
return result return result
def getListOfAvailableChannels(self):
logging.info('Getting the list of available channels')
self.channels = {}
for channel in self.freebox.Tv.Getting_the_list_of_channels().values():
if channel['available']:
self.channels[channel['name']] = channel['uuid']
else:
logging.info("Dropping '{}'".format(channel['name']))
logging.info('Got the following channels: {}'.format(self.channels))
def printAllMovies(self): def printAllMovies(self):
for movie in self.movies: for movie in self.movies:
print(movie) print(movie)
input("Press enter")
print() print()
def scapeAllMovies(self): def scapeAllMovies(self):
@ -153,7 +173,7 @@ if __name__ == '__main__':
format=' %(asctime)s - %(levelname)s - %(message)s' format=' %(asctime)s - %(levelname)s - %(message)s'
) )
fmp = FreeboxMoviePlanner() fmp = FreeboxMoviePlanner()
fmp.scapeAllMovies() # fmp.scapeAllMovies()
fmp.findMoviesOnTMDB() # fmp.findMoviesOnTMDB()
fmp.filterBadRatings() # fmp.filterBadRatings()
fmp.printAllMovies() # fmp.printAllMovies()

View File

@ -1,5 +1,6 @@
{ {
"tmdb-api":"yourapikey", "tmdb-api":"yourapikey",
"tmdb-language":["en","GB"], "tmdb-language":["en","GB"],
"minimum-rating":6.5 "minimum-rating":6.5,
} "pyfbx-session-token":"See https://framagit.org/sun/pyfbx"
}

1
pyfbx Submodule

Submodule pyfbx added at 69ae89806d