Skip to content

Auto_Reupload TV

Quick Information

  • GG-BOT: Auto ReUploader
  • Deployment: Docker

Steps to reproduce

Try to have a TV Show Upload fails

Logs / Trace

╭───────────────────── Traceback (most recent call last) ──────────────────────╮
│                                                                              │
│ /app/auto_reupload.py:1912 in <module>                                       │
│                                                                              │
│   1909 print(f"Starting reupload process at {datetime.now()}")               │
│   1910                                                                       │
│   1911 while True:                                                           │
│ ❱ 1912 │   schedule.run_pending()                                            │
│   1913                                                                       │
│ /usr/lib/python3.9/site-packages/schedule/__init__.py:780 in run_pending     │
│                                                                              │
│   777 │   """Calls :meth:`run_pending <Scheduler.run_pending>` on the        │
│   778 │   :data:`default scheduler instance <default_scheduler>`.            │
│   779 │   """                                                                │
│ ❱ 780 │   default_scheduler.run_pending()                                    │
│   781                                                                        │
│   782                                                                        │
│   783 def run_all(delay_seconds: int = 0) -> None:                           │
│                                                                              │
│ /usr/lib/python3.9/site-packages/schedule/__init__.py:100 in run_pending     │
│                                                                              │
│    97 │   │   """                                                            │
│    98 │   │   runnable_jobs = (job for job in self.jobs if job.should_run)   │
│    99 │   │   for job in sorted(runnable_jobs):                              │
│ ❱ 100 │   │   │   self._run_job(job)                                         │
│   101 │                                                                      │
│   102 │   def run_all(self, delay_seconds: int = 0) -> None:                 │
│   103 │   │   """                                                            │
│                                                                              │
│ /usr/lib/python3.9/site-packages/schedule/__init__.py:172 in _run_job        │
│                                                                              │
│   169 │   │   return job                                                     │
│   170 │                                                                      │
│   171 │   def _run_job(self, job: "Job") -> None:                            │
│ ❱ 172 │   │   ret = job.run()                                                │
│   173 │   │   if isinstance(ret, CancelJob) or ret is CancelJob:             │
│   174 │   │   │   self.cancel_job(job)                                       │
│   175                                                                        │
│                                                                              │
│ /usr/lib/python3.9/site-packages/schedule/__init__.py:661 in run             │
│                                                                              │
│   658 │   │   │   return CancelJob                                           │
│   659 │   │                                                                  │
│   660 │   │   logger.debug("Running job %s", self)                           │
│ ❱ 661 │   │   ret = self.job_func()                                          │
│   662 │   │   self.last_run = datetime.datetime.now()                        │
│   663 │   │   self._schedule_next_run()                                      │
│   664                                                                        │
│                                                                              │
│ /app/auto_reupload.py:1900 in reupload_job                                   │
│                                                                              │
│   1897 │   │   f"[Main] There are a total of {len(torrents)} completed torre │
│   1898 │   )                                                                 │
│   1899 │   for torrent in torrents:                                          │
│ ❱ 1900 │   │   _process_torrent(torrent)                                     │
│   1901                                                                       │
│   1902                                                                       │
│   1903 # -------------- END of reupload_job --------------                   │
│                                                                              │
│ /app/auto_reupload.py:1485 in _process_torrent                               │
│                                                                              │
│   1482 │   )                                                                 │
│   1483 │                                                                     │
│   1484 │   # tmdb, imdb and tvmaze in torrent_info will be filled by this me │
│ ❱ 1485 │   possible_matches = metadata_utilities.fill_database_ids(          │
│   1486 │   │   torrent_info,                                                 │
│   1487 │   │   [metadata_tmdb],                                              │
│   1488 │   │   [metadata_imdb],                                              │
│                                                                              │
│ /app/utilities/utils_metadata.py:1230 in fill_database_ids                   │
│                                                                              │
│   1227 │   │   logging.error(                                                │
│   1228 │   │   │   "[MetadataUtils] No ids provided by user / mediainfo. Fal │
│   1229 │   │   )                                                             │
│ ❱ 1230 │   │   possible_matches = _search_and_get_possible_matches(          │
│   1231 │   │   │   torrent_info, auto_mode                                   │
│   1232 │   │   )                                                             │
│   1233                                                                       │
│                                                                              │
│ /app/utilities/utils_metadata.py:1243 in _search_and_get_possible_matches    │
│                                                                              │
│   1240 │   │   "[Main] We are missing the 'TMDB', 'TVMAZE' & 'IMDB' ID, tryi │
│   1241 │   )                                                                 │
│   1242 │   # this method searches and gets all three ids ` 'imdb', 'tmdb', ' │
│ ❱ 1243 │   metadata_result = _metadata_search_tmdb_for_id(                   │
│   1244 │   │   query_title=torrent_info["title"],                            │
│   1245 │   │   year=torrent_info["year"] if "year" in torrent_info else "",  │
│   1246 │   │   content_type=torrent_info["type"],                            │
│                                                                              │
│ /app/utilities/utils_metadata.py:370 in _metadata_search_tmdb_for_id         │
│                                                                              │
│    367 │   │   │   │   # if we couldn't get tvdb id from tmdb, we can try to │
│    368 │   │   │   │   if tmdb_external_ids["imdb"] != "0":                  │
│    369 │   │   │   │   │   imdb_external_ids = _get_external_ids_from_imdb(t │
│ ❱  370 │   │   │   │   │   tmdb_external_ids["tvdb"] = imdb_external_ids["tv │
│    371 │   │   │   │                                                         │
│    372 │   │   │   │   if (                                                  │
│    373 │   │   │   │   │   tmdb_external_ids["tvdb"] == "0"                  │
╰──────────────────────────────────────────────────────────────────────────────╯
TypeError: 'NoneType' object is not subscriptable

Priority/Severity

  • High (anything that impacts the normal user flow or blocks app usage)
Edited by Noob Master669