modified: Ajout du keyboard visuel ! modified: Permet de faire la difference entre une liste complete et liste d'un seul elementmaster
| @@ -47,7 +47,9 @@ def create_api(choice, thetvdb_id): | |||||
| API = base_url + 'token=' + token + '&client_id=' + client_id + '&thetvdb_id=' + thetvdb_id | API = base_url + 'token=' + token + '&client_id=' + client_id + '&thetvdb_id=' + thetvdb_id | ||||
| return API | return API | ||||
| if choice == 'seen': | if choice == 'seen': | ||||
| base_url = 'https://api.betaseries.com/shows/display?' | |||||
| base_url = 'https://api.betaseries.com/episodes/watched?' | |||||
| API = base_url + 'token=' + token + '&client_id=' + client_id + '&id=' | |||||
| return API | |||||
| return False | return False | ||||
| @@ -59,8 +61,9 @@ def check_latest(thetvdb_id): | |||||
| return | return | ||||
| request = requests.get(API) | request = requests.get(API) | ||||
| if str(request) != '<Response [200]>' : | if str(request) != '<Response [200]>' : | ||||
| print("Mauvaise réponse de l'api ! ") | |||||
| print("Mauvaise réponse de l'api !(Check_Latest) ") | |||||
| return False | return False | ||||
| show = request.json() | show = request.json() | ||||
| episode = show['episode'] | episode = show['episode'] | ||||
| @@ -77,7 +80,7 @@ def check_latest(thetvdb_id): | |||||
| "serie_title" : title['title'], | "serie_title" : title['title'], | ||||
| "season " : episode['season'], | "season " : episode['season'], | ||||
| "episode" : episode['episode'], | "episode" : episode['episode'], | ||||
| "id" : title['id'], | |||||
| "id" : episode['id'], | |||||
| "seen" : user['seen'] | "seen" : user['seen'] | ||||
| } | } | ||||
| @@ -119,8 +122,10 @@ def check_latest(thetvdb_id): | |||||
| os.remove(file_path) | os.remove(file_path) | ||||
| create_file(file_path, episode_info) | create_file(file_path, episode_info) | ||||
| return | return | ||||
| print("Aucun changement") | |||||
| if data['seen'] == False : | |||||
| os.remove(file_path) | |||||
| create_file(file_path, episode_info) | |||||
| return | return | ||||
| def create_file(file_path, episode_info): | def create_file(file_path, episode_info): | ||||
| @@ -136,7 +141,7 @@ def get_title_only(thetvdb_id): | |||||
| return | return | ||||
| request = requests.get(API) | request = requests.get(API) | ||||
| if str(request) != '<Response [200]>' : | if str(request) != '<Response [200]>' : | ||||
| print("Mauvaise réponse de l'api ! ") | |||||
| print("Mauvaise réponse de l'api ! (Get_title) ") | |||||
| return False | return False | ||||
| info = request.json() | info = request.json() | ||||
| @@ -146,7 +151,7 @@ def get_title_only(thetvdb_id): | |||||
| def to_see(thetvdb_id): | def to_see(thetvdb_id): | ||||
| # Permet de dire qu'un episode est deja vu | |||||
| # Permet de dire les episodes dejà vu A PARTIR des fichiers | |||||
| file_path = 'latest/' + thetvdb_id + '.json' | file_path = 'latest/' + thetvdb_id + '.json' | ||||
| with open(file_path) as json_file: | with open(file_path) as json_file: | ||||
| data = json.load(json_file) | data = json.load(json_file) | ||||
| @@ -159,6 +164,23 @@ def to_see(thetvdb_id): | |||||
| return | return | ||||
| def seen(thetvdb_id): | |||||
| # Permet de mettre un episode en 'vu' sur betaseries | |||||
| print(u"Ajout d'un episode à la liste des vu") | |||||
| file_path = 'latest/' + thetvdb_id + '.json' | |||||
| with open(file_path) as json_file: | |||||
| data = json.load(json_file) | |||||
| if data['seen'] == True : | |||||
| send_message('Episode deja vu') | |||||
| return | |||||
| API = create_api('seen', None) | |||||
| API += str(data['id']) | |||||
| print(API) | |||||
| def main(): | def main(): | ||||
| #Only here for debug git | #Only here for debug git | ||||
| login_beta() | login_beta() | ||||
| @@ -8,7 +8,7 @@ import json | |||||
| from telegram import InlineKeyboardButton, InlineKeyboardMarkup | from telegram import InlineKeyboardButton, InlineKeyboardMarkup | ||||
| from telegram.ext import Updater, CommandHandler, CallbackQueryHandler | from telegram.ext import Updater, CommandHandler, CallbackQueryHandler | ||||
| from config import config, series | from config import config, series | ||||
| from betaseries import login_beta, get_title_only, to_see | |||||
| from betaseries import login_beta, get_title_only, to_see, seen | |||||
| from telegram_api import send_message | from telegram_api import send_message | ||||
| # Activer / Désactiver le debuggage {Projet : pas encore utilisé} | # Activer / Désactiver le debuggage {Projet : pas encore utilisé} | ||||
| @@ -117,30 +117,36 @@ def coding(update, context): | |||||
| print(file_path) | print(file_path) | ||||
| with open(file_path) as json_file: | with open(file_path) as json_file: | ||||
| data = json.load(json_file) | data = json.load(json_file) | ||||
| message = u'Episode que vous allez marquer comme vu : ' + data['serie_title'] + ' - S' + str(data['season ']) + 'E' + str(data['episode']) | |||||
| send_message(message) | |||||
| return | |||||
| # message = u'Episode que vous allez marquer comme vu : ' + data['serie_title'] + ' - S' + str(data['season ']) + 'E' + str(data['episode']) | |||||
| # send_message(message) | |||||
| keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'), | |||||
| keyboard = [[InlineKeyboardButton(data['serie_title'] + '|' + 'S' + str(data['season ']) + 'E' + str(data['episode']), callback_data='1')]] | |||||
| reply_markup = InlineKeyboardMarkup(keyboard) | |||||
| update.message.reply_text('Vous avez vu :', reply_markup=reply_markup) | |||||
| return | |||||
| else : | |||||
| keyboard = [[InlineKeyboardButton("Option 1", callback_data='1'), | |||||
| InlineKeyboardButton("Option 2", callback_data='2'), | InlineKeyboardButton("Option 2", callback_data='2'), | ||||
| InlineKeyboardButton("Option 3", callback_data='3')], | InlineKeyboardButton("Option 3", callback_data='3')], | ||||
| [InlineKeyboardButton("Option 4", callback_data='5')] ] | |||||
| [InlineKeyboardButton("Option 4", callback_data='4')] ] | |||||
| reply_markup = InlineKeyboardMarkup(keyboard) | |||||
| update.message.reply_text(message, reply_markup=reply_markup) | |||||
| reply_markup = InlineKeyboardMarkup(keyboard) | |||||
| update.message.reply_text('Selectionnez une reponse', reply_markup=reply_markup) | |||||
| return | |||||
| def button(update, context): | def button(update, context): | ||||
| query = update.callback_query | query = update.callback_query | ||||
| query.answer() | query.answer() | ||||
| print(type(query['data'])) | |||||
| if query['data'] == u'1' : | |||||
| if type(series) == str : | |||||
| seen(series) | |||||
| query.edit_message_text(text="Selected option: {}".format(query.data)) | query.edit_message_text(text="Selected option: {}".format(query.data)) | ||||
| @@ -30,9 +30,14 @@ def main(): | |||||
| now = datetime.datetime.now() | now = datetime.datetime.now() | ||||
| print (now.strftime("%Y-%m-%d %H:%M:%S")) | print (now.strftime("%Y-%m-%d %H:%M:%S")) | ||||
| for i in range(len(series)): | |||||
| thetvdb_id = series[i] | |||||
| check_latest(thetvdb_id) | |||||
| if type(series) == str : | |||||
| check_latest(series) | |||||
| else: | |||||
| for i in range(len(series)): | |||||
| thetvdb_id = series[i] | |||||
| check_latest(thetvdb_id) | |||||