TRoboto / datacamp-downloader

Download your completed courses on Datacamp easily!
MIT License
178 stars 52 forks source link

Errors when trying to load datacamp courses or tracks #32

Closed johnong2 closed 2 years ago

johnong2 commented 3 years ago

Hi, I have issues loading datacamp tracks or courses with the current version of the datacamp downloader. This is the error code I received. The "Please Wait" message seems to be an error as well as it has been over 10 minutes but it is still running. Please kindly assist, thank you!

$ datacamp tracks WARNING: Couldn't run _get_courses_from_link with inputs ('https://www.datacamp.com/tracks/data-scientist-with-python?version=5&embedded=true',) Traceback (most recent call last): File "c:\users\user\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\user\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\user\AppData\Local\Programs\Python\Python39\Scripts\datacamp.exe__main.py", line 7, in File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\typer\main.py", line 214, in call__ return get_command(self)(*args, kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 829, in call return self.main(args, kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 610, in invoke return callback(args, kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\typer\main.py", line 497, in wrapper return callback(*use_params) # type: ignore File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\downloader.py", line 58, in tracks datacamp.list_completed_tracks(refresh) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\datacamp_utils.py", line 43, in wrapper return f(args, *kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\helper.py", line 63, in wrapper output = f(args) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\datacamp_utils.py", line 144, in list_completed_tracks self.get_completed_tracks() File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\datacamp_utils.py", line 353, in get_completed_tracks courses.update(track.courses) TypeError: 'NoneType' object is not iterable Please wait /

TRoboto commented 3 years ago

Thank you for reporting this bug. Can you please share a list of your completed tracks/courses?

johnong2 commented 3 years ago

Hi Troboto, here you go:

Tracks: Python Programmer Data Analyst with Python Data Scientist with Python Machine Learning Specialist with Python Data Analyst With SQL Server Tableau Fundamentals

Courses: Financial Trading in Python

TRoboto commented 3 years ago

Does this command datacamp courses work? If yes, please share a screenshot of the output.

johnong2 commented 3 years ago

Hi Troboto, hmm, no... it returns a similar message to datacamp tracks.

$ datacamp courses Please wait / Couldn't run _get_courses_from_link with inputs ('https://www.datacamp.com/profile/usert',) Traceback (most recent call last): File "c:\users\user\appdata\local\programs\python\python39\lib\runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "c:\users\user\appdata\local\programs\python\python39\lib\runpy.py", line 87, in _run_code exec(code, run_globals) File "C:\Users\user\AppData\Local\Programs\Python\Python39\Scripts\datacamp.exe__main.py", line 7, in File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\typer\main.py", line 214, in call__ return get_command(self)(*args, kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 829, in call return self.main(args, kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 782, in main rv = self.invoke(ctx) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 1259, in invoke return _process_result(sub_ctx.command.invoke(sub_ctx)) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 1066, in invoke return ctx.invoke(self.callback, ctx.params) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\click\core.py", line 610, in invoke return callback(args, kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\typer\main.py", line 497, in wrapper return callback(*use_params) # type: ignore File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\downloader.py", line 68, in courses datacamp.list_completed_courses(refresh) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\datacamp_utils.py", line 43, in wrapper return f(args, *kwargs) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\helper.py", line 63, in wrapper output = f(args) File "c:\users\user\appdata\local\programs\python\python39\lib\site-packages\datacamp_downloader\datacamp_utils.py", line 156, in list_completed_courses for i, course in enumerate(self.courses, 1): TypeError: 'NoneType' object is not iterable Please wait |

TRoboto commented 3 years ago

I think this issue is related to the website because it is protected by Cloudflare, and it might prevent the tool from accessing it. Try to run the tool on another device with different internet if possible.

TRoboto commented 2 years ago

Closing this issue as it has been resolved with the new version.