rileyxx / imdb-trakt-syncer Goto Github PK
View Code? Open in Web Editor NEWA python script that syncs user watchlist, ratings and reviews for Movies, TV Shows and Episodes both ways between Trakt and IMDB.
License: MIT License
A python script that syncs user watchlist, ratings and reviews for Movies, TV Shows and Episodes both ways between Trakt and IMDB.
License: MIT License
Problem: Syncing is broken due to IMDB changes.
Description:
IMDB made changes to the way their watchlist and ratings files are handled. IMDB now requires users to manually generate their watchlist and ratings csv files and then download them separately from their exports page. The script will need to be updated in order to handle these changes.
Versions effected:
IMDBTraktSyncer versions 1.8.7 and below will not be able to sync.
Successfully signed in to IMDB
Processing Trakt Data
Processing Trakt Data Complete
Processing IMDB Data
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 128, in main
imdb_watchlist, imdb_ratings, imdb_reviews, errors_found_getting_imdb_reviews = imdbData.getImdbData(imdb_username, imdb_password, driver, directory, wait)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/IMDBTraktSyncer/imdbData.py", line 135, in getImdbData
raise ValueError(f"Required columns missing from CSV file: {', '.join(missing_columns)}")
ValueError: Required columns missing from CSV file: Created
OS: Mac
Pip method
No response
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 180, in main
response = EH.make_trakt_request(url, payload=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/errorHandling.py", line 49, in make_trakt_request
time.sleep(retry_delay)
^^^^
NameError: name 'time' is not defined
MacOS Ventura 13.4
Python 3.11
No response
Currently, the script does not update ratings for items if their ratings are both set and modified on the same day. This behavior is due to a limitation in IMDB's ratings CSV data. IMDB provides only the rated date in the Y-M-D format without a specific time.
IMDB's ratings CSV data lacks timestamp information, making it impossible to distinguish between ratings set and modified on the same day.
This issue will remain open until a fix or workaround can be implemented. Until then, items with same-day rating updates will not be re-synced.
I am getting the following lines of codes with the warning after I successfully validate the OTP with Trakt.
Starting webdriver...
--- ERROR ---
An error occurred while running the script.
Please submit the error to GitHub with the following information:
--------------------------------------------------
Traceback (most recent call last):
File "/home/ubuntu/.local/lib/python3.10/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 63, in main
driver = webdriver.Chrome(service=service, options=options)
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
super().__init__(
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/chromium/webdriver.py", line 53, in __init__
self.service.start()
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/common/service.py", line 98, in start
self._start_process(self._path)
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/common/service.py", line 204, in _start_process
self.process = subprocess.Popen(
File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/home/ubuntu/.local/lib/python3.10/site-packages/chromedriver_py/chromedriver_linux64'
--------------------------------------------------
Submit the error here: https://github.com/RileyXX/IMDB-Trakt-Syncer/issues/new?template=bug_report.yml
--------------------------------------------------
Traceback (most recent call last):
File "/home/ubuntu/.local/lib/python3.10/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 63, in main
driver = webdriver.Chrome(service=service, options=options)
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
super().__init__(
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/chromium/webdriver.py", line 53, in __init__
self.service.start()
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/common/service.py", line 98, in start
self._start_process(self._path)
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/common/service.py", line 204, in _start_process
self.process = subprocess.Popen(
File "/usr/lib/python3.10/subprocess.py", line 971, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.10/subprocess.py", line 1863, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
OSError: [Errno 8] Exec format error: '/home/ubuntu/.local/lib/python3.10/site-packages/chromedriver_py/chromedriver_linux64'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/ubuntu/.local/bin/IMDBTraktSyncer", line 8, in <module>
sys.exit(main())
File "/home/ubuntu/.local/lib/python3.10/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 714, in main
service.stop()
File "/usr/local/lib/python3.10/dist-packages/selenium/webdriver/common/service.py", line 144, in stop
if self.process is not None:
AttributeError: 'Service' object has no attribute 'process'
Linux ARM64 Ubuntu 22.04x64
No response
"If someone has the equal sign (=) as part of their password, it's gonna break. With password managers being so prevalent today, I think there's a good chance of that happening." - lithdk
Change the credential file to use a standardized format, like INI, XML, JSON, YAML, TOML, etc..
Planned for future update
2024-05-24 20:52:54,342 - ERROR - Error: Not signed in to IMDB
I get this in a loop, despite signing in to IMDB and it being active in Chrome. I tried deleting credentials.txt and get to the same point in a loop.
macOS Sonoma 14.5
Chrome 125.0.6422.113 with same chromedriver-py
No response
Even if the movies are already present in IMDB watchlist, the script adds them again.
WSL (Ubuntu 22)
No response
Hello, would it be possible to implement a docker image for this script? That way it could be easily set up with other apps of an Arr* stack.
All the best!
No response
The Program did work several times. After the first error reinstallation did work. after the 2 time not anymore.
C:\Windows\System32>IMDBTraktsyncer
No matching chromedriver-py version found for Chrome 115
Starting webdriver...
Successfully signed in to IMDB
Processing Trakt Data
Processing Trakt Data Complete
Processing IMDB Data
Processing IMDB Data Complete
No Trakt Watchlist Items To Set
No IMDB Watchlist Items To Set
Setting Trakt Ratings
Traceback (most recent call last):
File "C:\Users\Marius Zingg\AppData\Local\Programs\Python\Python311\Lib\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 369, in main
response = EH.make_trakt_request(rate_url, payload=data)
^^^^^^^^
UnboundLocalError: cannot access local variable 'data' where it is not associated with a value
Submit the error here: https://github.com/RileyXX/IMDB-Trakt-Syncer/issues/new?template=bug_report.yml
OS: Windows 11 / Chrome Browser
pip installation: yes
manual installation: no
log.txt
No response
The same errors happen consistently every time I run the script since the last couple of weeks. The script does run until the end though.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 709, in main
service.stop()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/common/service.py", line 146, in stop
self.send_remote_shutdown_command()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/common/service.py", line 126, in send_remote_shutdown_command
request.urlopen(f"{self.service_url}/shutdown")
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 215, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 515, in open
response = self._open(req, data)
^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 532, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 492, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 1373, in http_open
return self.do_open(http.client.HTTPConnection, req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 1348, in do_open
r = h.getresponse()
^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1428, in getresponse
response.begin()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 331, in begin
version, status, reason = self._read_status()
^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 300, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 709, in main
service.stop()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/common/service.py", line 146, in stop
self.send_remote_shutdown_command()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/common/service.py", line 126, in send_remote_shutdown_command
request.urlopen(f"{self.service_url}/shutdown")
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 215, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 515, in open
response = self._open(req, data)
^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 532, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 492, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 1373, in http_open
return self.do_open(http.client.HTTPConnection, req)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/urllib/request.py", line 1348, in do_open
r = h.getresponse()
^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1428, in getresponse
response.begin()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 331, in begin
version, status, reason = self._read_status()
^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 300, in _read_status
raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connection.py", line 198, in _new_conn
sock = connection.create_connection(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/util/connection.py", line 85, in create_connection
raise err
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/util/connection.py", line 73, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 61] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py", line 793, in urlopen
response = self._make_request(
^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py", line 496, in _make_request
conn.request(
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connection.py", line 400, in request
self.endheaders()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1331, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1091, in _send_output
self.send(msg)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/http/client.py", line 1035, in send
self.connect()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connection.py", line 238, in connect
self.sock = self._new_conn()
^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connection.py", line 213, in _new_conn
raise NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x102633680>: Failed to establish a new connection: [Errno 61] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.12/bin/IMDBTraktSyncer", line 8, in
sys.exit(main())
^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 719, in main
driver.close()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 458, in close
self.execute(Command.CLOSE)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 345, in execute
response = self.command_executor.execute(driver_command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/remote_connection.py", line 302, in execute
return self._request(command_info[0], url, body=data)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/remote_connection.py", line 322, in _request
response = self._conn.request(method, url, body=body, headers=headers)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/_request_methods.py", line 136, in request
return self.request_encode_url(
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/_request_methods.py", line 183, in request_encode_url
return self.urlopen(method, url, **extra_kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/poolmanager.py", line 444, in urlopen
response = conn.urlopen(method, u.request_uri, **kw)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py", line 877, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py", line 877, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py", line 877, in urlopen
return self.urlopen(
^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/connectionpool.py", line 847, in urlopen
retries = retries.increment(
^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/urllib3/util/retry.py", line 515, in increment
raise MaxRetryError(_pool, url, reason) from reason # type: ignore[arg-type]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
urllib3.exceptions.MaxRetryError: HTTPConnectionPool(host='localhost', port=53674): Max retries exceeded with url: /session/a62a0a0e1c93e5f4b47632692533f073/window (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x102633680>: Failed to establish a new connection: [Errno 61] Connection refused'))
OS: macOS Sonoma 14.5
Using pip install method: yes
No response
i was looking for if it was possible to sync ratings from imdb to trakt and letterboxd at a time
No response
Traceback (most recent call last):
File "C:\Users\denni\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 110, in main
imdb_watchlist, imdb_ratings, imdb_reviews, errors_found_getting_imdb_reviews = imdbData.getImdbData(imdb_username, imdb_password, driver, directory, wait)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\denni\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\IMDBTraktSyncer\imdbData.py", line 42, in getImdbData
for row in reader:
File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1264.0_x64__qbz5n2kfra8p0\Lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 3982: character maps to <undefined>
Installed in Windows 11
Installed Python 3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)]
Installed with python -m pip install IMDBTraktSyncer
and then i ran:
IMDBTraktSyncer
in the folder C:\Users\xxxxx\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\Scripts>
No response
Ran the script for the first time and processing was complete. However with the following error saying there's something wrong with the date format:
c:>IMDBTraktSyncer
Starting webdriver...
Successfully signed in to IMDB
Processing Trakt Data
Processing Trakt Data Complete
Processing IMDB Data
Processing IMDB Data Complete
Traceback (most recent call last):
File "C:\Users...\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 153, in main
imdb_date_added = datetime.fromisoformat(imdb_rating['Date_Added'])
ValueError: Invalid isoformat string: '2017-06-20T00:00:00.000Z'
OS: Windows 10
PIP install method: yes
Version: 1.7.5
No response
Starting webdriver...
Successfully signed in to IMDB
Processing Trakt Data
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 122, in main
trakt_watchlist, trakt_ratings, trakt_reviews, watched_content = traktData.getTraktData()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/traktData.py", line 151, in getTraktData
json_data = json.loads(response.text)
^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
MacOS
No response
What to do If I have a IMDB account where I logged in with google, and thus don't have any password to write in the password field of the script?
Not Important
OS: WIn11
No response
The columns and Title Type
values have changed in the IMDB exports.
Watchlist:
Position,Const,Created,Modified,Description,Title,Original Title,URL,Title Type,IMDb Rating,Runtime (mins),Year,Genres,Num Votes,Release Date,Directors,Your Rating,Date Rated
Ratings:
Const,Your Rating,Date Rated,Title,Original Title,URL,Title Type,IMDb Rating,Runtime (mins),Year,Genres,Num Votes,Release Date,Directors
I made the following changes in imdbData.py
and everything is working correctly again:
Watchlist:
title = row[5]
year = row[11]
imdb_id = row[1]
date_added = row[2]
# Convert date format
date_added = datetime.strptime(date_added, '%Y-%m-%d').strftime('%Y-%m-%dT%H:%M:%S.000Z')
if "TV Series" in row[8] or "TV Mini Series" in row[8]:
media_type = "show"
elif "TV Episode" in row[8]:
media_type = "episode"
elif "Movie" in row[8] or "TV Special" in row[8] or "TV Movie" in row[8] or "TV Short" in row[8] or "Video" in row[8]:
media_type = "movie"
Ratings:
title = row[3]
year = row[9]
rating = row[1]
imdb_id = row[0]
date_added = row[2]
# Convert date format
date_added = datetime.strptime(date_added, '%Y-%m-%d').strftime('%Y-%m-%dT%H:%M:%S.000Z')
if "TV Series" in row[6] or "TV Mini Series" in row[6]:
media_type = "show"
elif "TV Episode" in row[6]:
media_type = "episode"
elif "Movie" in row[6] or "TV Special" in row[6] or "TV Movie" in row[6] or "TV Short" in row[6] or "Video" in row[6]:
media_type = "movie"
macOS using default installation
No response
Traceback (most recent call last):
File "C:\Users\Narki\AppData\Local\Programs\Python\Python312\Lib\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 15, in
from IMDBTraktSyncer import checkChromedriver
File "C:\Users\Narki\AppData\Local\Programs\Python\Python312\Lib\site-packages\IMDBTraktSyncer\checkChromedriver.py", line 3, in
import pkg_resources
ModuleNotFoundError: No module named 'pkg_resources'
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "", line 198, in _run_module_as_main
File "", line 88, in run_code
File "C:\Users\Narki\AppData\Local\Programs\Python\Python312\Scripts\IMDBTraktSyncer.exe_main.py", line 4, in
File "C:\Users\Narki\AppData\Local\Programs\Python\Python312\Lib\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 22, in
import checkChromedriver
ModuleNotFoundError: No module named 'checkChromedriver'
Windows 11
I entered all my credentials to verifyCredentials
I just run the script and this is what I get.
My settings: "sync_watchlist": false, "sync_ratings": true, "remove_watched_from_watchlists": false, "sync_reviews": false
Besides, I don't understand why the script needs to fetch the watchlist, if I've already answered I'm not interested in that.
Anyway, it gives the following error:
PS C:\Users\user> IMDBTraktSyncer
Starting IMDBTraktSyncer....
Your settings are saved at:
C:\Python312\Lib\site-packages\IMDBTraktSyncer
Starting webdriver...
DevTools listening on ws://127.0.0.1:58817/devtools/browser/2245d918-1465-4cd0-96df-e92a8370f2f7
Successfully signed in to IMDB
Processing Trakt Data
Processing Trakt Data Complete
Processing IMDB Data
Unable to fetch IMDB watchlist data.
Traceback (most recent call last):
File "C:\Python312\Lib\site-packages\IMDBTraktSyncer\imdbData.py", line 121, in getImdbData
raise FileNotFoundError("Watchlist data not found. No CSV files found in the directory")
FileNotFoundError: Watchlist data not found. No CSV files found in the directory
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\Python312\Lib\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 128, in main
imdb_watchlist, imdb_ratings, imdb_reviews, errors_found_getting_imdb_reviews = imdbData.getImdbData(imdb_username, imdb_password, driver, directory, wait)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python312\Lib\site-packages\IMDBTraktSyncer\imdbData.py", line 163, in getImdbData
print(f"Error: {error_message}", exc_info=True)
^^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'error_message' where it is not associated with a value
Submit the error here: https://github.com/RileyXX/IMDB-Trakt-Syncer/issues/new?template=bug_report.yml
Win 10
Pip install
No response
Planned for future update
IMDB may require a captcha on login. If you see "Not signed in" appear in the script then the script will fail and the captcha is likely to be the cause.
To fix this, simply login to IMDB website in your browser, preferably Chrome and from the same computer. If logged in, logout, and log back in. It may ask you to fill in a captcha, complete it and finish logging in. After logging in successfully on your browser run the script again and it should work. You may need to repeat this step once or twice if it still gives you issues.
IMDBTraktSyncer.py
file in a text editor (located in your main script install directory). Add a #
before the line options.add_argument("--headless=new")
like this #options.add_argument("--headless=new")
and then save the file and run the script again. When the script runs you will be able to see exactly what's the script is doing and fill in the captcha manually if necessary. If this works and the captcha is no longer triggered you can remove the #
and run the script again like normal.Planned for future update.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 122, in main
trakt_watchlist, trakt_ratings, trakt_reviews, watched_content = traktData.getTraktData()
^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/traktData.py", line 18, in getTraktData
json_data = json.loads(response.text)
^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'
MacOs Sonoma 14
No response
Traceback (most recent call last):
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 63, in main
driver = webdriver.Chrome(service=service, options=options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 69, in init
super().init(DesiredCapabilities.CHROME['browserName'], "goog",
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\chromium\webdriver.py", line 92, in init
super().init(
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 270, in init
self.start_session(capabilities, browser_profile)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 363, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\webdriver.py", line 428, in execute
self.error_handler.check_response(response)
File "C:\Users\Administrator\AppData\Local\Programs\Python\Python311\Lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 243, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
Stacktrace:
GetHandleVerifier [0x00007FF7711752A2+57122]
(No symbol) [0x00007FF7710EEA92]
(No symbol) [0x00007FF770FBE3AB]
(No symbol) [0x00007FF770FE4936]
(No symbol) [0x00007FF770FE2FE1]
(No symbol) [0x00007FF77101EA4F]
(No symbol) [0x00007FF77101E5B0]
(No symbol) [0x00007FF771016DB3]
(No symbol) [0x00007FF770FED2B1]
(No symbol) [0x00007FF770FEE494]
GetHandleVerifier [0x00007FF77141EF82+2849794]
GetHandleVerifier [0x00007FF771471D24+3189156]
GetHandleVerifier [0x00007FF77146ACAF+3160367]
GetHandleVerifier [0x00007FF771206D06+653702]
(No symbol) [0x00007FF7710FA208]
(No symbol) [0x00007FF7710F62C4]
(No symbol) [0x00007FF7710F63F6]
(No symbol) [0x00007FF7710E67A3]
BaseThreadInitThunk [0x00007FFBA1757034+20]
RtlUserThreadStart [0x00007FFBA3322651+33]
OS: Windows 10
Using pip install method: yes
Using manual no pip install method: no
I created this before I read the troubleshooting section of the github page.
I would suggest mentioning "deletion of credentials file if information is input incorrectly" when the syncer is first kicked off before asking for the initial trakt client ID.
But delete this issue, if its not needed.
When installing via pip and running via cmd, if you input an incorrect value for one of the user inputs, you are unable to correct your previous input.
For example, if you provide the incorrect Trakt ID and push enter and realize after the fact that it was wrong, then you would most likely restart IMDBTraktSyncer. When you restart the syncer, it takes you back to where you left off.
Then if you decide to just give garbage inputs to quickly run through all the required user inputs, it will throw an exception once you reach the request for the URL authorization code. Once you restart, after the exception, it requests the same URL authorization code.
Uninstalling and reinstall does not allow you to start over.
windows 11
pip install
ran via cmd
No response
Rating movie (2 of 20) .... etc
Scenario: I add an item to IMDB (or Trakt) watchlist. I run this script to sync the watchlists, which runs fine. I then delete the item from one of the watchlists (doesn't matter which). I run the script again, and it re-adds the deleted item.
Expected behavior: Script would detect that the deleted item was previously existing and was deleted since last script run. This would cause the script to then delete the item from the other watchlist, effectively making it become removed from both sides.
I can see the console output after running the script that it finds nothing to "remove" from either side, even though it should. This indicates to me that this is either a bug, or a not-yet-implemented feature. Either way, I ask that you please either implement this as a feature, fix it as a bug, or at the least add a config to the script for allowing "one way syncing". For instance, only "IMDB to Trakt", therefore if I remove it from IMDB watchlist, it will no longer sync from Trakt back to IMDB again.
Windows 11, although this is irrelevant. Script version is latest as of today's date.
No response
Traceback (most recent call last):
File "/usr/local/lib/python3.11/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 123, in main
imdb_watchlist, imdb_ratings, imdb_reviews, errors_found_getting_imdb_reviews = imdbData.getImdbData(imdb_username, imdb_password, driver, directory, wait)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/IMDBTraktSyncer/imdbData.py", line 32, in getImdbData
success, status_code, url = EH.get_page_with_retries('https://www.imdb.com/list/watchlist', driver, wait)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/IMDBTraktSyncer/errorHandling.py", line 121, in get_page_with_retries
driver.get(url)
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 353, in get
self.execute(Command.GET, {"url": url})
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 344, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: Unable to receive message from renderer
(failed to check if window was closed: disconnected: not connected to DevTools)
(Session info: chrome=118.0.5993.117)
Stacktrace:
0 chromedriver_mac-x64 0x0000000102c1be08 chromedriver_mac-x64 + 5025288
1 chromedriver_mac-x64 0x0000000102c12c23 chromedriver_mac-x64 + 4987939
2 chromedriver_mac-x64 0x00000001027b4e67 chromedriver_mac-x64 + 409191
3 chromedriver_mac-x64 0x000000010279a740 chromedriver_mac-x64 + 300864
4 chromedriver_mac-x64 0x000000010279a4d1 chromedriver_mac-x64 + 300241
5 chromedriver_mac-x64 0x00000001027999ad chromedriver_mac-x64 + 297389
6 chromedriver_mac-x64 0x00000001027c2344 chromedriver_mac-x64 + 463684
7 chromedriver_mac-x64 0x00000001028475dc chromedriver_mac-x64 + 1009116
8 chromedriver_mac-x64 0x000000010282b2b3 chromedriver_mac-x64 + 893619
9 chromedriver_mac-x64 0x00000001027f5eb9 chromedriver_mac-x64 + 675513
10 chromedriver_mac-x64 0x00000001027f70ee chromedriver_mac-x64 + 680174
11 chromedriver_mac-x64 0x0000000102bdd819 chromedriver_mac-x64 + 4769817
12 chromedriver_mac-x64 0x0000000102be2893 chromedriver_mac-x64 + 4790419
13 chromedriver_mac-x64 0x0000000102be966e chromedriver_mac-x64 + 4818542
14 chromedriver_mac-x64 0x0000000102be35bd chromedriver_mac-x64 + 4793789
15 chromedriver_mac-x64 0x0000000102bb598c chromedriver_mac-x64 + 4606348
16 chromedriver_mac-x64 0x0000000102c01b78 chromedriver_mac-x64 + 4918136
17 chromedriver_mac-x64 0x0000000102c01d30 chromedriver_mac-x64 + 4918576
18 chromedriver_mac-x64 0x0000000102c1285e chromedriver_mac-x64 + 4986974
19 libsystem_pthread.dylib 0x00007ff809b371d3 _pthread_start + 125
20 libsystem_pthread.dylib 0x00007ff809b32bd3 thread_start + 15
macOS 14.0, M2 Macbook
Using pip install method: yes
this was on my first run of the script
I am currently using another trakt sync method (https://github.com/josh/imdb-trakt-sync) which expires every 3 months, so ratings and watchlists are up to date. But want to use yours instead since it doesn't expire (at least I think it doesn't).
No response
While doing the sync I got a error when starting the webdriver. I retried the command and got the same stacktrace.
--- ERROR ---
An error occurred while running the script.
Please submit the error to GitHub with the following information:
--------------------------------------------------
Traceback (most recent call last):
File "/home/p0w/trakt-imdb/IMDB-Trakt-Syncer/path/to/venv/lib/python3.12/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 67, in main
driver = webdriver.Chrome(service=service, options=options)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/p0w/trakt-imdb/IMDB-Trakt-Syncer/path/to/venv/lib/python3.12/site-packages/selenium/webdriver/chrome/webdriver.py", line 45, in __init__
super().__init__(
File "/home/p0w/trakt-imdb/IMDB-Trakt-Syncer/path/to/venv/lib/python3.12/site-packages/selenium/webdriver/chromium/webdriver.py", line 66, in __init__
super().__init__(command_executor=executor, options=options)
File "/home/p0w/trakt-imdb/IMDB-Trakt-Syncer/path/to/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 208, in __init__
self.start_session(capabilities)
File "/home/p0w/trakt-imdb/IMDB-Trakt-Syncer/path/to/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 292, in start_session
response = self.execute(Command.NEW_SESSION, caps)["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/p0w/trakt-imdb/IMDB-Trakt-Syncer/path/to/venv/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "/home/p0w/trakt-imdb/IMDB-Trakt-Syncer/path/to/venv/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: session not created
from unknown error: cannot find Chrome binary
Stacktrace:
#0 0x562ec2bbc6aa <unknown>
#1 0x562ec289f0dc <unknown>
#2 0x562ec28d22cf <unknown>
#3 0x562ec28d043b <unknown>
#4 0x562ec291aef9 <unknown>
#5 0x562ec290e613 <unknown>
#6 0x562ec28de4f7 <unknown>
#7 0x562ec28dee4e <unknown>
#8 0x562ec2b8287b <unknown>
#9 0x562ec2b86921 <unknown>
#10 0x562ec2b6e36e <unknown>
#11 0x562ec2b87482 <unknown>
#12 0x562ec2b52ccf <unknown>
#13 0x562ec2bac0a8 <unknown>
#14 0x562ec2bac280 <unknown>
#15 0x562ec2bbb7dc <unknown>
#16 0x7f6daeb03a94 <unknown>
#17 0x7f6daeb90c3c <unknown>
OS: Ubuntu 24.04 (WSL)
No response
Context: I use Hobi to track shows from my phone. Hobi has the ability to sync to Trakt.
It looks like that Hobi only records back to Trackt under the History tab as "Plays" -- i also use Trakt to sync up a calendar that i can then use to display on my Samsung Fridge to see any upcoming shows or shows i've already watched (it'll show a Check next to it if i did watch it) -- very helpful setup so far.
I recently discovered a service called JustWatch. Justwatch only syncs to IMDB Watchlist URL's. So that i dont have to rebuild my watchlist in JustWatch, i found your fancy tool to keep IMDB and Trackt insync. I noticed however it didnt work as i expected, as it only synced up trakt watchlist and Trakt Ratings.
Is it possible to capture the data in the History section of Trackt to then sync to the IMDB Watchlist?
Speed up setting IMDB ratings by changing chromedriver to run as multiple instances.
Could cause rate limit issues, possible IP bans and other timeout problem. Further testing required..
Planned for future update.
Problem:
Trakt movie ratings are not being set
Solution:
Update data key value sets to include the type "show or "movie" and update the set rating requests accordingly
Ignore items with no IMDb ID
Use alternate method like show/movie name + year to set ratings with no IMDb ID is available
Error wrong chromedriver version installed.
python -m pip uninstall chromedriver-py
in command line.python -m pip uninstall chromedriver-py
in command line.chrome://settings/help
.Settings > About Chrome
in your Chrome browser.112.0.5615.49
.python -m pip install chromedriver-py==VERSION_NUMBER
in command line. Replace VERSION_NUMBER
with the version you copied in step 3. Press enter to install.Right now, the script syncs ratings into trakt, but does not mark them as watched. It would be nice to have that option.
If a rating is synced into trakt and there is no play count, it should be quite safe to assume the show should have been watched at least once to rate it, and it makes sense that the date when it was rated should not be too far apart from the real watching date most of the times.
However, as trakt allows for multiple play counts, and it behaves differently for movies or tv shows, the best idea might be to give those options to the user and save them in the settings. Some users may be interested in adding a play count to a movie, even also to individual episodes, but not to a whole tv show, which could mess with their progress in trakt.
I adapted part of the code in "IMDBTraktSyncer.py" to add the functionality by default when syncing ratings, because that is what I needed for my use case, and it works. It tries to add the date when it was rated as the watch date, and if there is none is found, it adds today's date.
You may use it if it helps:
# Set Trakt Ratings
if trakt_ratings_to_set:
print('Setting Trakt Ratings')
# Set the API endpoints
rate_url = "https://api.trakt.tv/sync/ratings"
watched_url = "https://api.trakt.tv/sync/history"
# Count the total number of items
num_items = len(trakt_ratings_to_set)
item_count = 0
# Loop through your data table and rate each item on Trakt
for item in trakt_ratings_to_set:
item_count += 1
data = None
watched_data = None
if item["Type"] == "show":
# This is a TV show
data = {
"shows": [{
"ids": {
"imdb": item["IMDB_ID"]
},
"rating": item["Rating"]
}]
}
watched_data = {
"shows": [{
"ids": {
"imdb": item["IMDB_ID"]
},
"watched_at": item.get("Date_Added", datetime.now().isoformat() + "Z")
}]
}
print(f" - Rating TV show ({item_count} of {num_items}): {item['Title']} ({item['Year']}): {item['Rating']}/10 on Trakt")
elif item["Type"] == "movie":
# This is a movie
data = {
"movies": [{
"ids": {
"imdb": item["IMDB_ID"]
},
"rating": item["Rating"]
}]
}
watched_data = {
"movies": [{
"ids": {
"imdb": item["IMDB_ID"]
},
"watched_at": item.get("Date_Added", datetime.now().isoformat() + "Z")
}]
}
print(f" - Rating movie ({item_count} of {num_items}): {item['Title']} ({item['Year']}): {item['Rating']}/10 on Trakt")
elif item["Type"] == "episode":
# This is an episode
data = {
"episodes": [{
"ids": {
"imdb": item["IMDB_ID"]
},
"rating": item["Rating"]
}]
}
watched_data = {
"episodes": [{
"ids": {
"imdb": item["IMDB_ID"]
},
"watched_at": item.get("Date_Added", datetime.now().isoformat() + "Z")
}]
}
print(f" - Rating episode ({item_count} of {num_items}): {item['Title']} ({item['Year']}): {item['Rating']}/10 on Trakt")
else:
print(f" - Skipping unknown type ({item_count} of {num_items}): {item['Title']} ({item['Year']})")
continue
if data:
# Make the API call to rate the item
response = EH.make_trakt_request(rate_url, payload=data)
if response is None:
error_message = f"Failed rating {item['Type']} ({item_count} of {num_items}): {item['Title']} ({item['Year']}): {item['Rating']}/10 on Trakt. IMDB ID not found: {item['IMDB_ID']}"
print(f" - {error_message}")
EL.logger.error(error_message)
if watched_data:
# Make the API call to mark item as watched
response = EH.make_trakt_request(watched_url, payload=watched_data)
if response is None:
error_message = f"Failed marking {item['Type']} as watched ({item_count} of {num_items}): {item['Title']} ({item['Year']}) on Trakt. IMDB ID not found: {item['IMDB_ID']}"
print(f" - {error_message}")
EL.logger.error(error_message)
print('Setting Trakt Ratings Complete')
else:
print('No Trakt Ratings To Set')
after starting th escript the action imdb => Trakt works but all action trakt =>imdb is failing
Successfully signed in to IMDB
Processing Trakt Data
Processing Trakt Data Complete
Processing IMDB Data
Processing IMDB Data Complete
Setting Trakt Watchlist Items
- Adding item (1 of 4): Dreifacher Rittberger (1987) to Trakt Watchlist
- Adding item (2 of 4): Madre (2016) to Trakt Watchlist
- Adding item (3 of 4): Tatort: Angriff auf Wache 08 (2019) to Trakt Watchlist
- Adding item (4 of 4): Check. Check (2019) to Trakt Watchlist
Setting Trakt Watchlist Items Complete
Setting IMDB Watchlist Items
- Adding item (1 of 10): The Beasts (2022) to IMDB Watchlist
- Failed to add item (1 of 10): The Beasts (2022) to IMDB Watchlist (tt15006566)
- Adding item (2 of 10): TÁR (2022) to IMDB Watchlist
- Failed to add item (2 of 10): TÁR (2022) to IMDB Watchlist (tt14444726)
- Adding item (3 of 10): Step Brothers (2008) to IMDB Watchlist
- Failed to add item (3 of 10): Step Brothers (2008) to IMDB Watchlist (tt0838283)
- Adding item (4 of 10): Tulsa King (2022) to IMDB Watchlist
- Failed to add item (4 of 10): Tulsa King (2022) to IMDB Watchlist (tt16358384)
- Adding item (5 of 10): Derry Girls (2018) to IMDB Watchlist
- Failed to add item (5 of 10): Derry Girls (2018) to IMDB Watchlist (tt7120662)
- Adding item (6 of 10): Silo (2023) to IMDB Watchlist
- Failed to add item (6 of 10): Silo (2023) to IMDB Watchlist (tt14688458)
- Adding item (7 of 10): The Dead Girls Detective Agency (2018) to IMDB Watchlist
- Failed to add item (7 of 10): The Dead Girls Detective Agency (2018) to IMDB Watchlist (tt9169850)
- Adding item (8 of 10): The Wolf House (2018) to IMDB Watchlist
- Failed to add item (8 of 10): The Wolf House (2018) to IMDB Watchlist (tt8173728)
- Adding item (9 of 10): The Rescue (2020) to IMDB Watchlist
- Failed to add item (9 of 10): The Rescue (2020) to IMDB Watchlist (tt9283920)
- Adding item (10 of 10): Mandibles (2020) to IMDB Watchlist
- Failed to add item (10 of 10): Mandibles (2020) to IMDB Watchlist (tt10375106)
Setting IMDB Watchlist Items Complete
Setting Trakt Ratings
- Rating TV show (1 of 2): An Idiot Abroad (2010): 10/10 on Trakt
- Rating TV show (2 of 2): Hanna (2019): 3/10 on Trakt
Setting Trakt Ratings Complete
Setting IMDB Ratings
- Rating movie: (1 of 3380) Godzilla Raids Again (1955): 7/10 on IMDB
- Failed to rate movie: (1 of 3380) Godzilla Raids Again (1955): 7/10 on IMDB (tt0048127)
- Rating movie: (2 of 3380) The Ghosts of Monday (2022): 6/10 on IMDB
- Failed to rate movie: (2 of 3380) The Ghosts of Monday (2022): 6/10 on IMDB (tt13655580)
- Rating movie: (3 of 3380) Fall (2022): 8/10 on IMDB
- Failed to rate movie: (3 of 3380) Fall (2022): 8/10 on IMDB (tt15325794)
- Rating movie: (4 of 3380) Small Engine Repair (2021): 8/10 on IMDB
- Failed to rate movie: (4 of 3380) Small Engine Repair (2021): 8/10 on IMDB (tt9789042)
win 11
Python 3.11.4
No response
Hy, i already posted about this same error in 12.2023 but tried again and again and nothing works. I posted SS. I tried with firefox and chrome. Also made each of them default browser so it isn't that but can't get it to work. I also tried after i needed windows reinstall and still nothing. I used username from ss i posted and my password with which i log in to imdb.
OS: Windows 11, also tried on Windows 10
Traceback (most recent call last):
File "C:\Users\X\AppData\Local\Programs\Python\Python312\Lib\site-packages\IMDBTraktSyncer\IMDBTraktSyncer.py", line 123, in main
trakt_watchlist, trakt_ratings, trakt_reviews, watched_content = traktData.getTraktData()
^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\X\AppData\Local\Programs\Python\Python312\Lib\site-packages\IMDBTraktSyncer\traktData.py", line 18, in getTraktData
json_data = json.loads(response.text)
^^^^^^^^^^^^^
AttributeError: 'NoneType' object has no attribute 'text'
OS: Win10, Uses pip install:yes
No response
Note: Season ratings are not supported on IMDb.
Planned for future update.
Planned for future update.
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 211, in main
watchlist_button.click()
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webelement.py", line 94, in click
self._execute(Command.CLICK_ELEMENT)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webelement.py", line 403, in _execute
return self._parent.execute(command, params)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: Element is not clickable at point (923, 673)
(Session info: chrome=113.0.5672.126)
Stacktrace:
0 chromedriver_mac_arm64 0x0000000100b182b8 chromedriver_mac_arm64 + 4260536
1 chromedriver_mac_arm64 0x0000000100b1094c chromedriver_mac_arm64 + 4229452
2 chromedriver_mac_arm64 0x000000010074c9d4 chromedriver_mac_arm64 + 281044
3 chromedriver_mac_arm64 0x000000010078e134 chromedriver_mac_arm64 + 549172
4 chromedriver_mac_arm64 0x000000010078c094 chromedriver_mac_arm64 + 540820
5 chromedriver_mac_arm64 0x0000000100789fac chromedriver_mac_arm64 + 532396
6 chromedriver_mac_arm64 0x000000010078937c chromedriver_mac_arm64 + 529276
7 chromedriver_mac_arm64 0x000000010077d984 chromedriver_mac_arm64 + 481668
8 chromedriver_mac_arm64 0x000000010077d1cc chromedriver_mac_arm64 + 479692
9 chromedriver_mac_arm64 0x00000001007be7e4 chromedriver_mac_arm64 + 747492
10 chromedriver_mac_arm64 0x000000010077b98c chromedriver_mac_arm64 + 473484
11 chromedriver_mac_arm64 0x000000010077c98c chromedriver_mac_arm64 + 477580
12 chromedriver_mac_arm64 0x0000000100ad6a6c chromedriver_mac_arm64 + 3992172
13 chromedriver_mac_arm64 0x0000000100adacd0 chromedriver_mac_arm64 + 4009168
14 chromedriver_mac_arm64 0x0000000100ae0d48 chromedriver_mac_arm64 + 4033864
15 chromedriver_mac_arm64 0x0000000100adb940 chromedriver_mac_arm64 + 4012352
16 chromedriver_mac_arm64 0x0000000100ab357c chromedriver_mac_arm64 + 3847548
17 chromedriver_mac_arm64 0x0000000100af9400 chromedriver_mac_arm64 + 4133888
18 chromedriver_mac_arm64 0x0000000100af9558 chromedriver_mac_arm64 + 4134232
19 chromedriver_mac_arm64 0x0000000100b09c3c chromedriver_mac_arm64 + 4201532
20 libsystem_pthread.dylib 0x000000019307ffa8 _pthread_start + 148
21 libsystem_pthread.dylib 0x000000019307ada0 thread_start + 8
MacOS Ventura 13.4
Python 3.11
No response
Traceback (most recent call last):
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/IMDBTraktSyncer.py", line 265, in main
success, status_code, url = EH.get_page_with_retries(f'https://www.imdb.com/title/{item["IMDB_ID"]}/', driver, wait)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/errorHandling.py", line 124, in get_page_with_retries
wait.until(lambda driver: driver.execute_script(
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 96, in until
value = method(self._driver)
^^^^^^^^^^^^^^^^^^^^
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/errorHandling.py", line 124, in
wait.until(lambda driver: driver.execute_script(
^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 407, in execute_script
return self.execute(command, {"script": script, "args": converted_args})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: not connected to DevTools
(failed to check if window was closed: disconnected: not connected to DevTools)
(Session info: chrome=126.0.6478.127)
Stacktrace:
0 chromedriver_mac-arm64 0x0000000100763a38 chromedriver_mac-arm64 + 4389432
1 chromedriver_mac-arm64 0x000000010075c344 chromedriver_mac-arm64 + 4358980
2 chromedriver_mac-arm64 0x0000000100378afc chromedriver_mac-arm64 + 281340
3 chromedriver_mac-arm64 0x0000000100362154 chromedriver_mac-arm64 + 188756
4 chromedriver_mac-arm64 0x0000000100362090 chromedriver_mac-arm64 + 188560
5 chromedriver_mac-arm64 0x00000001003f341c chromedriver_mac-arm64 + 783388
6 chromedriver_mac-arm64 0x00000001003afed0 chromedriver_mac-arm64 + 507600
7 chromedriver_mac-arm64 0x00000001003b08a8 chromedriver_mac-arm64 + 510120
8 chromedriver_mac-arm64 0x000000010072b3bc chromedriver_mac-arm64 + 4158396
9 chromedriver_mac-arm64 0x000000010072fe20 chromedriver_mac-arm64 + 4177440
10 chromedriver_mac-arm64 0x000000010071107c chromedriver_mac-arm64 + 4051068
11 chromedriver_mac-arm64 0x000000010073070c chromedriver_mac-arm64 + 4179724
12 chromedriver_mac-arm64 0x000000010070407c chromedriver_mac-arm64 + 3997820
13 chromedriver_mac-arm64 0x000000010074e0d4 chromedriver_mac-arm64 + 4301012
14 chromedriver_mac-arm64 0x000000010074e250 chromedriver_mac-arm64 + 4301392
15 chromedriver_mac-arm64 0x000000010075bf3c chromedriver_mac-arm64 + 4357948
16 libsystem_pthread.dylib 0x0000000193626f94 _pthread_start + 136
17 libsystem_pthread.dylib 0x0000000193621d34 thread_start + 8
Traceback (most recent call last):
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/IMDBTraktSyncer.py", line 265, in main
success, status_code, url = EH.get_page_with_retries(f'https://www.imdb.com/title/{item["IMDB_ID"]}/', driver, wait)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/errorHandling.py", line 124, in get_page_with_retries
wait.until(lambda driver: driver.execute_script(
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/support/wait.py", line 96, in until
value = method(self._driver)
^^^^^^^^^^^^^^^^^^^^
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/errorHandling.py", line 124, in
wait.until(lambda driver: driver.execute_script(
^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 407, in execute_script
return self.execute(command, {"script": script, "args": converted_args})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: not connected to DevTools
(failed to check if window was closed: disconnected: not connected to DevTools)
(Session info: chrome=126.0.6478.127)
Stacktrace:
0 chromedriver_mac-arm64 0x0000000100763a38 chromedriver_mac-arm64 + 4389432
1 chromedriver_mac-arm64 0x000000010075c344 chromedriver_mac-arm64 + 4358980
2 chromedriver_mac-arm64 0x0000000100378afc chromedriver_mac-arm64 + 281340
3 chromedriver_mac-arm64 0x0000000100362154 chromedriver_mac-arm64 + 188756
4 chromedriver_mac-arm64 0x0000000100362090 chromedriver_mac-arm64 + 188560
5 chromedriver_mac-arm64 0x00000001003f341c chromedriver_mac-arm64 + 783388
6 chromedriver_mac-arm64 0x00000001003afed0 chromedriver_mac-arm64 + 507600
7 chromedriver_mac-arm64 0x00000001003b08a8 chromedriver_mac-arm64 + 510120
8 chromedriver_mac-arm64 0x000000010072b3bc chromedriver_mac-arm64 + 4158396
9 chromedriver_mac-arm64 0x000000010072fe20 chromedriver_mac-arm64 + 4177440
10 chromedriver_mac-arm64 0x000000010071107c chromedriver_mac-arm64 + 4051068
11 chromedriver_mac-arm64 0x000000010073070c chromedriver_mac-arm64 + 4179724
12 chromedriver_mac-arm64 0x000000010070407c chromedriver_mac-arm64 + 3997820
13 chromedriver_mac-arm64 0x000000010074e0d4 chromedriver_mac-arm64 + 4301012
14 chromedriver_mac-arm64 0x000000010074e250 chromedriver_mac-arm64 + 4301392
15 chromedriver_mac-arm64 0x000000010075bf3c chromedriver_mac-arm64 + 4357948
16 libsystem_pthread.dylib 0x0000000193626f94 _pthread_start + 136
17 libsystem_pthread.dylib 0x0000000193621d34 thread_start + 8
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/IMDBTraktSyncer.py", line 720, in
main()
File "/Users/vinodmenon/Downloads/pythonScripts/IMDBTraktSyncer/IMDBTraktSyncer.py", line 714, in main
driver.close()
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 458, in close
self.execute(Command.CLOSE)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/webdriver.py", line 347, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.12/lib/python3.12/site-packages/selenium/webdriver/remote/errorhandler.py", line 229, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: not connected to DevTools
(failed to check if window was closed: disconnected: not connected to DevTools)
(Session info: chrome=126.0.6478.127)
Stacktrace:
0 chromedriver_mac-arm64 0x0000000100763a38 chromedriver_mac-arm64 + 4389432
1 chromedriver_mac-arm64 0x000000010075c344 chromedriver_mac-arm64 + 4358980
2 chromedriver_mac-arm64 0x0000000100378afc chromedriver_mac-arm64 + 281340
3 chromedriver_mac-arm64 0x0000000100360d08 chromedriver_mac-arm64 + 183560
4 chromedriver_mac-arm64 0x0000000100361c44 chromedriver_mac-arm64 + 187460
5 chromedriver_mac-arm64 0x000000010037905c chromedriver_mac-arm64 + 282716
6 chromedriver_mac-arm64 0x00000001003536a4 chromedriver_mac-arm64 + 128676
7 chromedriver_mac-arm64 0x00000001003e5ecc chromedriver_mac-arm64 + 728780
8 chromedriver_mac-arm64 0x00000001003afed0 chromedriver_mac-arm64 + 507600
9 chromedriver_mac-arm64 0x00000001003b08a8 chromedriver_mac-arm64 + 510120
10 chromedriver_mac-arm64 0x000000010072b3bc chromedriver_mac-arm64 + 4158396
11 chromedriver_mac-arm64 0x000000010072fe20 chromedriver_mac-arm64 + 4177440
12 chromedriver_mac-arm64 0x000000010071107c chromedriver_mac-arm64 + 4051068
13 chromedriver_mac-arm64 0x000000010073070c chromedriver_mac-arm64 + 4179724
14 chromedriver_mac-arm64 0x000000010070407c chromedriver_mac-arm64 + 3997820
15 chromedriver_mac-arm64 0x000000010074e0d4 chromedriver_mac-arm64 + 4301012
16 chromedriver_mac-arm64 0x000000010074e250 chromedriver_mac-arm64 + 4301392
17 chromedriver_mac-arm64 0x000000010075bf3c chromedriver_mac-arm64 + 4357948
18 libsystem_pthread.dylib 0x0000000193626f94 _pthread_start + 136
19 libsystem_pthread.dylib 0x0000000193621d34 thread_start + 8
OS: macOS
Using pip install method: yes
Seems like the button for adding the reviews isn't working on imdb.
My whole log looks like this:
- Rating movie: (17 of 113) The Hunger Games: The Ballad of Songbirds & Snakes (2023): 10/10 on IMDB
- Failed to rate movie: (17 of 113) The Hunger Games: The Ballad of Songbirds & Snakes (2023): 10/10 on IMDB (tt10545296)
- Rating show: (18 of 113) His Dark Materials (2019): 4/10 on IMDB
- Failed to rate show: (18 of 113) His Dark Materials (2019): 4/10 on IMDB (tt5607976)
- Rating show: (19 of 113) Castle Rock (2018): 6/10 on IMDB
- Failed to rate show: (19 of 113) Castle Rock (2018): 6/10 on IMDB (tt6548228)
- Rating show: (20 of 113) American Horror Stories (2021): 7/10 on IMDB
- Failed to rate show: (20 of 113) American Horror Stories (2021): 7/10 on IMDB (tt12306692)
- Rating show: (21 of 113) The Handmaid's Tale (2017): 10/10 on IMDB
I also tryed manually clicking on the rating so the button comes avaible to click, but its still not working.
Windows 10
Install and starting via cloning the project and starting via PyCharm
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 235, in main
wait.until(EC.invisibility_of_element_located((By.CSS_SELECTOR, '[data-testid="tm-box-wl-loader"]')))
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/support/wait.py", line 86, in until
value = method(self._driver)
^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/support/expected_conditions.py", line 300, in _predicate
target = driver.find_element(*target)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 831, in find_element
return self.execute(Command.FIND_ELEMENT, {"using": by, "value": value})["value"]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/webdriver.py", line 440, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/selenium/webdriver/remote/errorhandler.py", line 245, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: disconnected: not connected to DevTools
(failed to check if window was closed: disconnected: not connected to DevTools)
(Session info: chrome=114.0.5735.133)
Stacktrace:
0 chromedriver_mac_arm64 0x00000001011fc2b8 chromedriver_mac_arm64 + 4260536
1 chromedriver_mac_arm64 0x00000001011f494c chromedriver_mac_arm64 + 4229452
2 chromedriver_mac_arm64 0x0000000100e309d4 chromedriver_mac_arm64 + 281044
3 chromedriver_mac_arm64 0x0000000100e19c48 chromedriver_mac_arm64 + 187464
4 chromedriver_mac_arm64 0x0000000100e19a30 chromedriver_mac_arm64 + 186928
5 chromedriver_mac_arm64 0x0000000100ea2030 chromedriver_mac_arm64 + 745520
6 chromedriver_mac_arm64 0x0000000100e5f98c chromedriver_mac_arm64 + 473484
7 chromedriver_mac_arm64 0x0000000100e6098c chromedriver_mac_arm64 + 477580
8 chromedriver_mac_arm64 0x00000001011baa6c chromedriver_mac_arm64 + 3992172
9 chromedriver_mac_arm64 0x00000001011becd0 chromedriver_mac_arm64 + 4009168
10 chromedriver_mac_arm64 0x00000001011c4d48 chromedriver_mac_arm64 + 4033864
11 chromedriver_mac_arm64 0x00000001011bf940 chromedriver_mac_arm64 + 4012352
12 chromedriver_mac_arm64 0x000000010119757c chromedriver_mac_arm64 + 3847548
13 chromedriver_mac_arm64 0x00000001011dd400 chromedriver_mac_arm64 + 4133888
14 chromedriver_mac_arm64 0x00000001011dd558 chromedriver_mac_arm64 + 4134232
15 chromedriver_mac_arm64 0x00000001011edc3c chromedriver_mac_arm64 + 4201532
16 libsystem_pthread.dylib 0x000000019307ffa8 _pthread_start + 148
17 libsystem_pthread.dylib 0x000000019307ada0 thread_start + 8
MacOS Ventura 13.4
No response
Here is the error I am getting:
No matching chromedriver-py version found for Chrome 116
Using install chromedriver-py fallback method
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/checkChromedriver.py", line 60, in
dist = pkg_resources.get_distribution('chromedriver-py')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pkg_resources/init.py", line 478, in get_distribution
dist = get_provider(dist)
^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pkg_resources/init.py", line 354, in get_provider
return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pkg_resources/init.py", line 909, in require
needed = self.resolve(parse_requirements(requirements))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/pkg_resources/init.py", line 795, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'chromedriver-py' distribution was not found and is required by the application
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.11/bin/IMDBTraktSyncer", line 5, in
from IMDBTraktSyncer.IMDBTraktSyncer import main
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 15, in
from IMDBTraktSyncer import checkChromedriver
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/checkChromedriver.py", line 104, in
install_chromedriver_fallback_method()
File "/Library/Frameworks/Python.framework/Versions/3.11/lib/python3.11/site-packages/IMDBTraktSyncer/checkChromedriver.py", line 54, in install_chromedriver_fallback_method
version = feed.entries[0].title
~~~~~~~~~~~~^^^
IndexError: list index out of range
MacOS
No response
Planned for future update.
Hey there,
I can't run the script, getting that log.
Traceback (most recent call last): File "/home/michel/.local/bin/IMDBTraktSyncer", line 5, in <module> from IMDBTraktSyncer.IMDBTraktSyncer import main File "/home/michel/.local/lib/python3.10/site-packages/IMDBTraktSyncer/IMDBTraktSyncer.py", line 16, in <module> from IMDBTraktSyncer import verifyCredentials as VC File "/home/michel/.local/lib/python3.10/site-packages/IMDBTraktSyncer/verifyCredentials.py", line 57, in <module> trakt_access_token = authTrakt.authenticate(client_id, client_secret) File "/home/michel/.local/lib/python3.10/site-packages/IMDBTraktSyncer/authTrakt.py", line 44, in authenticate response = EH.make_trakt_request('https://api.trakt.tv/oauth/token', payload=data) File "/home/michel/.local/lib/python3.10/site-packages/IMDBTraktSyncer/errorHandling.py", line 27, in make_trakt_request 'trakt-api-key': VC.trakt_client_id, AttributeError: partially initialized module 'IMDBTraktSyncer.verifyCredentials' has no attribute 'trakt_client_id' (most likely due to a circular import)
Any idea how to solve that?
Thanks !
OS: Ubuntu 22.04.2 LTS
Python 3.10.6
Pip intallation
No response
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.