{ "info": { "author": "Andreas Ruppen", "author_email": "andreas.ruppen@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: MacOS :: MacOS X", "Operating System :: POSIX", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Utilities" ], "description": "# missing_tv_shows_for_xbmc\n\n\nMissing TV-Shows for Kodi is a small python utility to check which episodes are still missing. Sometimes it is hard to keep up with multiple series and keep our collections clean and full. This small script iterates over all availalbe series in Kodi and checks whether they some episodes are missing.\n\n\n## Introduction\n\nTo find missing episodes, for each season of each series, the script asks thetvdb.com for the total amount of episodes in this particular season. Based on the response from thetvdb and the information in the local Kodi databse, the scripts computes the missing episodes.\n\nThe output is either:\n* command line only. The information is structured into four parts\n* CSV files. The information is spread upon three files.\n\nThe command line output is structured into the following four sections:\n\n1. All episods unwatched & Some episodes still missing\n2. Some episodes alread watched & Some episodes still missing\n3. All episodes unwatched & All episodes downloaded\n4. Some episodes already watched & All episodes downloaded\n\nSince TheTVDB gets constantly updated (for running seasons), it is possible that a given season is sometimes in section 2) and sometimes in section 4). However, if the season is locked on thetvdb, the information is accurate and once a a series arrives in section 4, it will stay there.\n\nThere is no section containing complete and watched episodes as I judge this infomration not relevant here. Thus, as soon as for a given season all episodes are collected and watched, it will dissapear from the list.\n\n\n## Usage\n\nA Sample output may be look like this:\n```\n:src$ missingTVShows\nAcquiring necessary TV-Shows information\n[=============================================================================================== ] 95%\n##############################################################\n###################### Unwatched Missing #####################\n##############################################################\n-------------------------------------------------------------------------------------------------------------------------------------------------\n|Title | Season (Downloaded/Available)| Missing |\n-------------------------------------------------------------------------------------------------------------------------------------------------\n|Gold Rush : | S3 ( 2/17)| missing: 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17 |\n-------------------------------------------------------------------------------------------------------------------------------------------------\n###############################################################\n######################## Watched Missing ######################\n###############################################################\n-------------------------------------------------------------------------------------------------------------------------------------------------\n|Title (SeasonId) | Season (Downloaded/Available)| Missing |\n-------------------------------------------------------------------------------------------------------------------------------------------------\n|fernOST - Von Berlin nach Tokio (275486 ): | S1 (10/11)| missing: 11 |\n-------------------------------------------------------------------------------------------------------------------------------------------------\n###############################################################\n######################## Ready to Watch #######################\n###############################################################\nBig Rig Bounty Hunters : Season 1 and has 8/8 Episodes\nDoomsday Preppers : Season 2 and has 18/18 Episodes\nDoomsday Preppers : Season 3 and has 14/14 Episodes\n###############################################################\n#################### Complete and Watching ####################\n###############################################################\nDoomsday Preppers : Season 1 and has watched 8/12 Episodes\n\n```\n\n# Installation\n\n## From pip\n\nSimply run\n```\npip install missingTVShows\n```\n\n## From Sources\n\n### Final installation\n\nFrom a terminal launch\n```\nsudo python setup.py install --record files.txt\n```\nthis will compile and install the project to the pyhton libraries (eg. /usr/local/lib/python2.7/dist-packages/XWoT_Model_Translator-1.1-py2.7.egg). Furthermore it will install a script in /usr/local/bin/:\n* missingTVShows\n\nThe basic configuration and logging.conf are copied into /etc/MissingTVShows/. Upon the first start a copy of this directory is created in the user's home directory ~/.MissingTVShows/. From this point on configuration files are read from this location. It is however possible to overwrite them either by placing a file with the same name (but prefixed with a dot eg. .logging.conf) in the user home directory or a file with the same name in the current working directory.\n\n### Development installation\n\nfrom a terminal launch\n```\nsudo python setup.py develop --record files.txt\n```\ndoes the same as before but, uses links instead of copying files.\n\n### Clean Working directory\n\nTo clean the working directory\n```\nsudo python setup.py clean --all\nsudo rm -rf build/ dist/ Identify_missing_TVShows_in_Kodi.egg-info/ files.txt\n```\n\n# Uninstall\n\n## Method 1\n```\npip uninstall missingTVShows\n```\n\n## Method 2 (if installed from sources)\n```\ncat files.txt |sudo xargs rm -rf\n```\n## Method 3 (if installed from sources)\n\nFirst find the installed package with pip and the uninstall it\n```\n\u2714 ~/Documents/Programming/Python/missing_tv_shows_for_xbmc [master \u2191\u00b71|\u271a 1]\n12:11 $ pip freeze |grep Identify-missing-TVShows\nIdentify-missing-TVShows-in-Kodi==1.1\n\u2714 ~/Documents/Programming/Python/missing_tv_shows_for_xbmc [master \u2191\u00b71|\u271a 1]\n12:11 $ sudo pip uninstall Identify-missing-TVShows-in-Kodi\nPassword:\nUninstalling Identify-missing-TVShows-in-Kodi:\n /Library/Python/2.7/site-packages/Identify_missing_TVShows_in_Kodi-1.1-py2.7.egg\n /usr/local/bin/missingTVShows\nProceed (y/n)? y\n Successfully uninstalled Identify-missing-TVShows-in-Kodi\n\u2714 ~/Documents/Programming/Python/missing_tv_shows_for_xbmc [master \u2191\u00b71|\u271a 1]\n12:12 $\n```\n\n# Configuration\n\nUpon the first launch, the script creates the ~/.MissingTVShows/ directory containing:\n* logging.conf where the logger is configured\n* tvshows.cfg where the general configuration is stored. Adapt at least the property and point it to the Kodi MyVideosXX.db. This file is usually found under\n * On Linux system this files is usually: /home//.kodi/userdata/Database/MyVideos93.db\n * On Mac OsX the file is found under: /Users//Library/Application Support/Kodi/userdata/Database/MyVideos93.db\n * Under Windows there must me a simliar location ;-)\n* tvdbdb.db the local TheTVDB.com cache as SQLite file", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/digsim/missingTvShows", "keywords": "kodi,tvshows,xbmc", "license": "Apache", "maintainer": null, "maintainer_email": null, "name": "missingTvShows", "package_url": "https://pypi.org/project/missingTvShows/", "platform": "any", "project_url": "https://pypi.org/project/missingTvShows/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/digsim/missingTvShows" }, "release_url": "https://pypi.org/project/missingTvShows/1.1.8/", "requires_dist": null, "requires_python": null, "summary": "Manages Kodi TVShows", "version": "1.1.8" }, "last_serial": 1894609, "releases": { "1.1": [ { "comment_text": "", "digests": { "md5": "fefd05fa9dc2d75f19cc1f02487aaa34", "sha256": "b05ee4aa3925366480e8020cea2cb933c5f7019777be0db6341c93ee06d3ca25" }, "downloads": -1, "filename": "missingTvShows-1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fefd05fa9dc2d75f19cc1f02487aaa34", "packagetype": "bdist_wheel", "python_version": "2.7", "requires_python": null, "size": 14226, "upload_time": "2015-07-28T12:01:26", "url": "https://files.pythonhosted.org/packages/60/51/c201a626ed4108d4ee382fbf7a7f765a9e3f71f540fc1025e17b601195a6/missingTvShows-1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "025f67c7e319198285a53345f201c4dc", "sha256": "94aaef27778d9e9268cf5bd84546a445952ace05d495e56572e30fc397df653c" }, "downloads": -1, "filename": "missingTvShows-1.1.tar.gz", "has_sig": false, "md5_digest": "025f67c7e319198285a53345f201c4dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 9047, "upload_time": "2015-07-28T12:01:22", "url": "https://files.pythonhosted.org/packages/dc/20/879590800593f9e4b13bf44bc12f1e8fceafe477328c46eab3fd7e626151/missingTvShows-1.1.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "fabfa0351f43df010b6251a9d2da790b", "sha256": "d9b4e78f11515540f1d79fb7dffcf02c4db8d9546adf457e0166ce31611746e8" }, "downloads": -1, "filename": "missingTvShows-1.1.1-py2.7.egg", "has_sig": false, "md5_digest": "fabfa0351f43df010b6251a9d2da790b", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17004, "upload_time": "2015-07-29T14:24:07", "url": "https://files.pythonhosted.org/packages/43/9a/50d9227893d0746be1d1ef2ddcda4a733172da44c95d3e2b5cc4b985adbb/missingTvShows-1.1.1-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "aa36b8dec97557915aa1a678cd9087c2", "sha256": "3d2e6ac378c890afc46007932503849ef2afc2213618aee6efc9f39dac5789f0" }, "downloads": -1, "filename": "missingTvShows-1.1.1.tar.gz", "has_sig": false, "md5_digest": "aa36b8dec97557915aa1a678cd9087c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13252, "upload_time": "2015-07-29T14:24:03", "url": "https://files.pythonhosted.org/packages/32/07/63d61df86d6438974ee021fe2049b56def0110231d95f671e884eea98e3f/missingTvShows-1.1.1.tar.gz" } ], "1.1.2": [ { "comment_text": "", "digests": { "md5": "2c32d728580dfa0c5fbcdd281d659db2", "sha256": "708b78994b52125a4490100f2b500ab50dd0cb279ab956e17cd491de889ea569" }, "downloads": -1, "filename": "missingTvShows-1.1.2-py2.7.egg", "has_sig": false, "md5_digest": "2c32d728580dfa0c5fbcdd281d659db2", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17024, "upload_time": "2015-12-20T12:42:20", "url": "https://files.pythonhosted.org/packages/d3/76/752ff9122bb79ae848cdecfceac958c690766d458c1a8118ddf9d798dd4e/missingTvShows-1.1.2-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "462d7072798cb1433a5dfe9de8383259", "sha256": "437ae96256e71f0f51927d24bbd3b67eb3e28315b75f4903d60be82219fec849" }, "downloads": -1, "filename": "missingTvShows-1.1.2.tar.gz", "has_sig": false, "md5_digest": "462d7072798cb1433a5dfe9de8383259", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13291, "upload_time": "2015-12-20T12:42:12", "url": "https://files.pythonhosted.org/packages/cc/0d/8ec01eef86393f59188df31400819f82bd4877e911cec76fc9ef5f2545e8/missingTvShows-1.1.2.tar.gz" } ], "1.1.3": [ { "comment_text": "", "digests": { "md5": "f9521939b867ef090957f76c1ce83d19", "sha256": "6df44150ffd3b2ef9afab96f7d1800875c5511ed7e6a72e392ebbf877fed83a2" }, "downloads": -1, "filename": "missingTvShows-1.1.3-py2.7.egg", "has_sig": false, "md5_digest": "f9521939b867ef090957f76c1ce83d19", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17030, "upload_time": "2015-12-20T13:01:27", "url": "https://files.pythonhosted.org/packages/8e/d4/e33dc3ce9d1f9d5d374f2d30f5b8073f64324dcb98ca5272fa046217db03/missingTvShows-1.1.3-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "1cc7826ad123bbcfc171bb5cc43e1eca", "sha256": "11e63331ed795364a86c00185946201ec13f391a68c2ee1b517a6879b6b19a95" }, "downloads": -1, "filename": "missingTvShows-1.1.3.tar.gz", "has_sig": false, "md5_digest": "1cc7826ad123bbcfc171bb5cc43e1eca", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13297, "upload_time": "2015-12-20T13:01:21", "url": "https://files.pythonhosted.org/packages/68/17/db629bb2546f8c96f25896d6af5a537321d56c02cbc5c5f1d003fa3d0ccf/missingTvShows-1.1.3.tar.gz" } ], "1.1.4": [ { "comment_text": "", "digests": { "md5": "ce78cef276c4c9ee61bff54f10156c8d", "sha256": "ffafaaed57a8bee5e55e416f3c7a9c137ce5b99f855cb53ff136c209df505566" }, "downloads": -1, "filename": "missingTvShows-1.1.4-py2.7.egg", "has_sig": false, "md5_digest": "ce78cef276c4c9ee61bff54f10156c8d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 17831, "upload_time": "2015-12-23T15:11:44", "url": "https://files.pythonhosted.org/packages/ea/7c/42ca37b30b47af596b4a4ae03ed56df4c1c38cbdd4b369fd0c28549b5cc2/missingTvShows-1.1.4-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "573c89ad82d90979929aca26a284ce3a", "sha256": "e0a2aa14eecb334f195a85882f237db2a7307b32e4b71372ad138744f56f59d2" }, "downloads": -1, "filename": "missingTvShows-1.1.4.tar.gz", "has_sig": false, "md5_digest": "573c89ad82d90979929aca26a284ce3a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13633, "upload_time": "2015-12-23T15:11:37", "url": "https://files.pythonhosted.org/packages/46/94/2134d8c238f03bed192ac0104db6c79d0563edf2395550023941dd102ee4/missingTvShows-1.1.4.tar.gz" } ], "1.1.5": [ { "comment_text": "", "digests": { "md5": "76e28168f7146a57820e2336e75793d9", "sha256": "593dae431aac919d9f18991f70785b3d82690eecd5417c45cd618796479109c1" }, "downloads": -1, "filename": "missingTvShows-1.1.5-py2.7.egg", "has_sig": false, "md5_digest": "76e28168f7146a57820e2336e75793d9", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 18474, "upload_time": "2016-01-05T16:13:28", "url": "https://files.pythonhosted.org/packages/b5/22/6b15ee5fcbbed9741dde24a9e4934f3deb118602fde3fd67cbd0b0837100/missingTvShows-1.1.5-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "f64ede8e7f7481fdae3da32e03963e54", "sha256": "9c39ab97144ee2673704b00c35e4dbbce91fb7e86ddfa3b19bcd3a875260d94b" }, "downloads": -1, "filename": "missingTvShows-1.1.5.tar.gz", "has_sig": false, "md5_digest": "f64ede8e7f7481fdae3da32e03963e54", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13677, "upload_time": "2016-01-05T16:12:55", "url": "https://files.pythonhosted.org/packages/3c/18/0b3ea8048f007b3cf1e593bcff8c4c731e2d96cd466709ac534adf4226a7/missingTvShows-1.1.5.tar.gz" } ], "1.1.6": [ { "comment_text": "", "digests": { "md5": "7fa5b23d9cae07e0d7f8c8ffcaf5a3d9", "sha256": "05334f8d79480ad92663709fc1969bf4381ffbe608d5ee534e4bcc534c631141" }, "downloads": -1, "filename": "missingTvShows-1.1.6-py2.7.egg", "has_sig": false, "md5_digest": "7fa5b23d9cae07e0d7f8c8ffcaf5a3d9", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22299, "upload_time": "2016-01-06T16:34:24", "url": "https://files.pythonhosted.org/packages/c2/4a/db7276941f57262583970179ee36150884f9e68036f69a97d149e0898445/missingTvShows-1.1.6-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "99a8820274e2e6f7f204499fcf38a5a4", "sha256": "18712febbc47963250947a467a05dbb4d57016e4cd5fd0710024bf5fdfe88925" }, "downloads": -1, "filename": "missingTvShows-1.1.6.tar.gz", "has_sig": false, "md5_digest": "99a8820274e2e6f7f204499fcf38a5a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13687, "upload_time": "2016-01-06T16:34:04", "url": "https://files.pythonhosted.org/packages/25/b6/b8aa772d5b39b614b7ed5b4477bed2dd4010fd2dd4eb8b611c401e6ac55e/missingTvShows-1.1.6.tar.gz" } ], "1.1.7": [ { "comment_text": "", "digests": { "md5": "19f62d4d9a9d5ac2fdd475aae854ba39", "sha256": "31b7715459c6eb3b12d4aca5e7fc176efbc05a93c15db7883c7d1f493f79c90b" }, "downloads": -1, "filename": "missingTvShows-1.1.7.tar.gz", "has_sig": false, "md5_digest": "19f62d4d9a9d5ac2fdd475aae854ba39", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13665, "upload_time": "2016-01-08T09:11:13", "url": "https://files.pythonhosted.org/packages/41/7e/dd7f2b5591be458d57c5a53c7f61f6e64041f8ba711fee1a1141b2df2692/missingTvShows-1.1.7.tar.gz" } ], "1.1.8": [ { "comment_text": "", "digests": { "md5": "488830942d96e024d1362548f9bf337d", "sha256": "245b0630e7a3b1779300264ec49fb654f54f0e42829d826757e248adfa49204d" }, "downloads": -1, "filename": "missingTvShows-1.1.8-py2.7.egg", "has_sig": false, "md5_digest": "488830942d96e024d1362548f9bf337d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22242, "upload_time": "2016-01-08T09:47:47", "url": "https://files.pythonhosted.org/packages/e8/f9/3bde386e70f7c0ecb5e79d474802a31d92c253a856578fd8e7bbbf94dc86/missingTvShows-1.1.8-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "80e285320223e924a8eb90a3af232d17", "sha256": "47e6b5c82ed0e3c80c49668ba73a50c31fd00df42070ed0614c6ca5b9c886e62" }, "downloads": -1, "filename": "missingTvShows-1.1.8.tar.gz", "has_sig": false, "md5_digest": "80e285320223e924a8eb90a3af232d17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13667, "upload_time": "2016-01-08T09:47:36", "url": "https://files.pythonhosted.org/packages/03/27/05cece86b7483098e3110398f0992a4fb3ec120f0b7f9b1dadacbd82be39/missingTvShows-1.1.8.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "488830942d96e024d1362548f9bf337d", "sha256": "245b0630e7a3b1779300264ec49fb654f54f0e42829d826757e248adfa49204d" }, "downloads": -1, "filename": "missingTvShows-1.1.8-py2.7.egg", "has_sig": false, "md5_digest": "488830942d96e024d1362548f9bf337d", "packagetype": "bdist_egg", "python_version": "2.7", "requires_python": null, "size": 22242, "upload_time": "2016-01-08T09:47:47", "url": "https://files.pythonhosted.org/packages/e8/f9/3bde386e70f7c0ecb5e79d474802a31d92c253a856578fd8e7bbbf94dc86/missingTvShows-1.1.8-py2.7.egg" }, { "comment_text": "", "digests": { "md5": "80e285320223e924a8eb90a3af232d17", "sha256": "47e6b5c82ed0e3c80c49668ba73a50c31fd00df42070ed0614c6ca5b9c886e62" }, "downloads": -1, "filename": "missingTvShows-1.1.8.tar.gz", "has_sig": false, "md5_digest": "80e285320223e924a8eb90a3af232d17", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13667, "upload_time": "2016-01-08T09:47:36", "url": "https://files.pythonhosted.org/packages/03/27/05cece86b7483098e3110398f0992a4fb3ec120f0b7f9b1dadacbd82be39/missingTvShows-1.1.8.tar.gz" } ] }