Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

betaseries.py 3.0 KiB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. # This program is dedicated to the public domain under the CC0 license.
  4. # Telegram - Betaseries
  5. import logging
  6. import requests
  7. import json
  8. from config import config
  9. import os.path
  10. from os import path
  11. client_id = config['client_id']
  12. login = config['login']
  13. password = config['password']
  14. def login_beta():
  15. # L'API nécéssite le client_id, le login + le mot de passe en MD5. A partir de là, nous récupérons le TOKEN Betaseries qui nous permettra de communiquer avec notre compte Betaseries
  16. global token
  17. print("Connexion a Betaseries en cours...")
  18. API_auth = 'https://api.betaseries.com/members/auth'
  19. API_auth += '?client_id=' + client_id +'&login=' + login + '&password=' + password
  20. request = requests.post(API_auth)
  21. if str(request) != '<Response [200]>' :
  22. return False
  23. data = request.json()
  24. token = str(data['token'])
  25. return token
  26. def create_api(choice, thetvdb_id):
  27. #Cette fonction permet de créer l'api Betaseries (que nous allons interroger) à partir des informations dans config.py
  28. #La séparer dans une autre fonction permet de choisir QUELLE api créer et pour quel thetvdb_id
  29. if choice == 'latest' :
  30. base_url = 'https://api.betaseries.com/episodes/latest?'
  31. API = base_url + 'token=' + token + '&client_id=' + client_id + '&thetvdb_id=' + thetvdb_id
  32. return API
  33. else :
  34. return False
  35. def check_latest(thetvdb_id):
  36. # Nous utilisons le thetvdb_id et le fournissons à create_api. à partir de là nous récupérons le dernier épisode de la série. Et nous regardons s'il est déjà enregistré [WIP]
  37. API = create_api('latest', thetvdb_id)
  38. if API == False :
  39. print("ERREUR DURANT LA CREATION DE L'API !")
  40. return
  41. request = requests.get(API)
  42. if str(request) != '<Response [200]>' :
  43. print("Mauvaise réponse de l'api ! ")
  44. return False
  45. show = request.json()
  46. episode = show['episode']
  47. title = episode['show']
  48. print("Titre de la serie : ", str(title['title']))
  49. print("Dernier episode sorti : Episode : ", episode['episode'] , " Saison :", episode['season'])
  50. if path.exists('latest') == False :
  51. print("Le dossier 'latest' n'existe pas, creez le")
  52. #On créé le dictionnaire contenant les informations de l'épisode
  53. episode_info = {
  54. "serie_title" : title['title'],
  55. "season " : episode['season'],
  56. "episode" : episode['episode']
  57. }
  58. #On choisi créé l'emplacement du fichier. On utilisera l'id thetvdb car utiliser le nom de la série risquerait des fichiers trop long
  59. file_path = ''
  60. file_path = 'latest/' + thetvdb_id + '.json'
  61. print("Path a essayer : ", file_path)
  62. if path.exists(file_path) == False :
  63. print("Fichier inexistant.. creation en cours...")
  64. with open(file_path, "w") as write_file:
  65. json.dump(episode_info, write_file)
  66. else :
  67. print("Fichier deja existant... On compare")