GithubHelp home page GithubHelp logo

guptachetan1997 / episodes Goto Github PK

View Code? Open in Web Editor NEW
212.0 11.0 25.0 2.56 MB

Self Hosted TV show Episode tracker and recommender built using django, bootstrap4.

License: MIT License

Python 68.75% HTML 31.25%
episodes django pandas episode-tracker bootstrap4

episodes's Introduction

Episodes

TV show Episode tracker built using django and bootstrap4.
Episodes allows you to keep track of your favourite tv shows either continuing or ending and also provide you with recommendations based on your likings using machine learning using libraries like pandas, sci-kit learn, numpy etc. Using http://thetvdb.com/ for metadata. Inspired from https://github.com/jamienicol/episodes

Requirements:

  • python 2/3
  • django
  • sklearn
  • requests
  • pandas

To use clone the production branch, install requirements, run the following terminal commands:

$ sudo pip3 install -r requirements.txt
$ python3 manage.py makemigrations
$ python3 manage.py migrate
$ python3 manage.py runserver

alt tag alt tag alt tag alt tag

episodes's People

Contributors

dependabot[bot] avatar guptachetan1997 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

episodes's Issues

Can't install

Hi. I'm trying to install Episodes, but the first command fails with the following error message:

Traceback (most recent call last):
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
    return Database.Cursor.execute(self, query, params)
sqlite3.OperationalError: no such table: tvshow_show

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/management/__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/management/base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/management/base.py", line 342, in execute
    self.check()
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/management/base.py", line 374, in check
    include_deployment_checks=include_deployment_checks,
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/management/base.py", line 361, in _run_checks
    return checks.run_checks(**kwargs)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/checks/urls.py", line 14, in check_url_config
    return check_resolver(resolver)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/core/checks/urls.py", line 24, in check_resolver
    for pattern in resolver.url_patterns:
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/urls/resolvers.py", line 313, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
    return import_module(self.urlconf_name)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/user/Episodes/Episodes/urls.py", line 23, in <module>
    url(r'^', include('tvshow.urls', namespace='tvshow'))]
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/conf/urls/__init__.py", line 50, in include
    urlconf_module = import_module(urlconf_module)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 986, in _gcd_import
  File "<frozen importlib._bootstrap>", line 969, in _find_and_load
  File "<frozen importlib._bootstrap>", line 958, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 673, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 665, in exec_module
  File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
  File "/home/user/Episodes/tvshow/urls.py", line 2, in <module>
    from .views import (home, add_search, add ,single_show, episode_swt, season_swt, search, update_show, update_show_rating, recommended, update_all_continuing, delete_show)
  File "/home/user/Episodes/tvshow/views.py", line 5, in <module>
    from .utils.recommender import get_recommendations
  File "/home/user/Episodes/tvshow/utils/recommender.py", line 10, in <module>
    train_df = build_training_set()
  File "/home/user/Episodes/tvshow/utils/cts.py", line 49, in build_training_set
    for show in show_data:
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/models/query.py", line 256, in __iter__
    self._fetch_all()
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/models/query.py", line 1087, in _fetch_all
    self._result_cache = list(self.iterator())
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/models/query.py", line 54, in __iter__
    results = compiler.execute_sql()
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/models/sql/compiler.py", line 835, in execute_sql
    cursor.execute(sql, params)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/backends/utils.py", line 79, in execute
    return super(CursorDebugWrapper, self).execute(sql, params)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/utils.py", line 94, in __exit__
    six.reraise(dj_exc_type, dj_exc_value, traceback)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/utils/six.py", line 685, in reraise
    raise value.with_traceback(tb)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/backends/utils.py", line 64, in execute
    return self.cursor.execute(sql, params)
  File "/home/user/.local/share/virtualenvs/Episodes/lib/python3.5/site-packages/django/db/backends/sqlite3/base.py", line 337, in execute
    return Database.Cursor.execute(self, query, params)
django.db.utils.OperationalError: no such table: tvshow_show

To prepare the environment, I did the following

git clone $thisrepo
cd Episodes
pew new Episodes # create virtualenv
pip install django sklearn requests pandas scipy # scipy is not listed as a dependency, but there was a importError without it.

and that's it.

Any ideas?

Suggestion

Hi

Any chance this will support multiusers?
Would it also be possible to connect it to trak.tv and pull information based on your watched status?

Thanks in advance.

Suggestions not working

Hi,
I use a docker image (according to #15), but I have no suggestions at all. I can see only "You Might Like!!".

There is no logs (debug=True), where can I try to find more info about it?

Home page not displaying all shows

I added a number of shows and marked things as watched/not watched. It looks like the homepage and the all page don't show the same thing, and the homepage doesn't show that there are some upcoming shows.

On a related note:

  1. How does the app decide to show things on the homepage?
  2. What does the progress bar indicate (percent episodes or time to next episode)?

Home page

screen shot 2017-02-13 at 9 39 57 am

All page

screen shot 2017-02-13 at 9 40 05 am

How to access from the Internet

Hi,

I really would like to try you application but I am not available to install it on a server and access it from my computer.
I don't know Django well so can you give me the process.
I tried to acces IP:8000 and also changing debug mode to False and putting my IP in allowed hosts.
Can you give me advice ?

Thanks,
COFFIN Brandon

Docker image?

Hey, is there a good docker image built for this? Would make setup very fast. :)

API key needed ?

Hi,
I can't make Episodes work.
Every add_search ends-up in a blank page.

Should every user apply for an API key on the tvdb website ?

Is there any API KEY modification to apply in the tvdb_api_wrap.py file ?
Adding some logs in the search_series_list , the json_r variable contains {'Error': 'Not authorized'}

Best regards.

Error on makemigrations

I tried out the install directions on a fairly clean install of python 3.6 and got the error below. I am guessing there are specific version dependencies so maybe adding a requirements.txt or setup.py with version numbers would be helpful.

$ python manage.py makemigrations
Traceback (most recent call last):
  File "manage.py", line 10, in <module>
    execute_from_command_line(sys.argv)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/management/__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/management/__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/management/base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/management/base.py", line 342, in execute
    self.check()
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/management/base.py", line 374, in check
    include_deployment_checks=include_deployment_checks,
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/management/base.py", line 361, in _run_checks
    return checks.run_checks(**kwargs)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/checks/registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/checks/urls.py", line 14, in check_url_config
    return check_resolver(resolver)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/core/checks/urls.py", line 24, in check_resolver
    for pattern in resolver.url_patterns:
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/urls/resolvers.py", line 313, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/utils/functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/urls/resolvers.py", line 306, in urlconf_module
    return import_module(self.urlconf_name)
  File "/Users/pedro/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/pedro/Documents/Code/Episodes/Episodes/urls.py", line 23, in <module>
    url(r'^', include('tvshow.urls', namespace='tvshow'))]
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/django/conf/urls/__init__.py", line 50, in include
    urlconf_module = import_module(urlconf_module)
  File "/Users/pedro/anaconda3/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 978, in _gcd_import
  File "<frozen importlib._bootstrap>", line 961, in _find_and_load
  File "<frozen importlib._bootstrap>", line 950, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 655, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 678, in exec_module
  File "<frozen importlib._bootstrap>", line 205, in _call_with_frames_removed
  File "/Users/pedro/Documents/Code/Episodes/tvshow/urls.py", line 2, in <module>
    from .views import (home, add_search, add ,single_show, episode_swt, season_swt, search, update_show, update_show_rating, recommended, update_all_continuing, delete_show)
  File "/Users/pedro/Documents/Code/Episodes/tvshow/views.py", line 5, in <module>
    from .utils.recommender import get_recommendations
  File "/Users/pedro/Documents/Code/Episodes/tvshow/utils/recommender.py", line 11, in <module>
    x_train = scale(train_df.iloc[:, 5:])
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/sklearn/preprocessing/data.py", line 129, in scale
    dtype=FLOAT_DTYPES)
  File "/Users/pedro/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py", line 416, in check_array
    context))
ValueError: Found array with 0 sample(s) (shape=(0, 28)) while a minimum of 1 is required by the scale function.

Suggestion

Hi,
for people not familiar with python (like me) it can be useful to explain "install requirements".
After some fiddling i landed on
sudo pip3 install -r requirements.txt

Best regards

Updates to support Django 2.0.1

I'm new to Django and I see this is built on 1.10 from the requirements.txt file - anyone have experience / changes to run on 2.0.1? Thank you.

cant run $python3 manage.py makemigrations

RuntimeError: module compiled against API version 0xb but this version of numpy is 0xa
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/pandas/init.py", line 7, in
from pandas import hashtable, tslib, lib
ImportError: numpy.core.multiarray failed to import

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "manage.py", line 10, in
execute_from_command_line(sys.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/init.py", line 367, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python3.5/dist-packages/django/core/management/init.py", line 359, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 294, in run_from_argv
self.execute(*args, **cmd_options)
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 342, in execute
self.check()
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 374, in check
include_deployment_checks=include_deployment_checks,
File "/usr/local/lib/python3.5/dist-packages/django/core/management/base.py", line 361, in _run_checks
return checks.run_checks(**kwargs)
File "/usr/local/lib/python3.5/dist-packages/django/core/checks/registry.py", line 81, in run_checks
new_errors = check(app_configs=app_configs)
File "/usr/local/lib/python3.5/dist-packages/django/core/checks/urls.py", line 14, in check_url_config
return check_resolver(resolver)
File "/usr/local/lib/python3.5/dist-packages/django/core/checks/urls.py", line 24, in check_resolver
for pattern in resolver.url_patterns:
File "/usr/local/lib/python3.5/dist-packages/django/utils/functional.py", line 35, in get
res = instance.dict[self.name] = self.func(instance)
File "/usr/local/lib/python3.5/dist-packages/django/urls/resolvers.py", line 313, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/usr/local/lib/python3.5/dist-packages/django/utils/functional.py", line 35, in get
res = instance.dict[self.name] = self.func(instance)
File "/usr/local/lib/python3.5/dist-packages/django/urls/resolvers.py", line 306, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 665, in exec_module
File "", line 222, in _call_with_frames_removed
File "/opt/Episodes/Episodes/urls.py", line 23, in
url(r'^', include('tvshow.urls', namespace='tvshow'))]
File "/usr/local/lib/python3.5/dist-packages/django/conf/urls/init.py", line 50, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.5/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 986, in _gcd_import
File "", line 969, in _find_and_load
File "", line 958, in _find_and_load_unlocked
File "", line 673, in _load_unlocked
File "", line 665, in exec_module
File "", line 222, in _call_with_frames_removed
File "/opt/Episodes/tvshow/urls.py", line 2, in
from .views import (home, add_search, add ,single_show, episode_swt, season_swt, search, update_show, update_show_rating, recommended, update_all_continuing, delete_show)
File "/opt/Episodes/tvshow/views.py", line 5, in
from .utils.recommender import get_recommendations
File "/opt/Episodes/tvshow/utils/recommender.py", line 1, in
import pandas as pd
File "/usr/local/lib/python3.5/dist-packages/pandas/init.py", line 13, in
"extensions first.".format(module))
ImportError: C extension: umpy.core.multiarray failed to import not built. If you want to import pandas from the source directory, you may need to run 'python setup.py build_ext --inplace' to build the C extensions first.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.