Commit graph

156 commits

Author SHA1 Message Date
adam
c4908144e1 Remove unused libraries fuzzywuzzy and pysrt 2015-02-23 20:38:20 +08:00
JackDandy
907334f82c Add catch exceptions when unable to cache a requests response. 2015-02-14 17:44:49 +00:00
JackDandy
77ed796092 Add detection of file-system having no support for link creation (e.g. Unraid shares). 2015-02-14 17:22:23 +00:00
Supremicus
751d034711 Remove non english subtitle providers 2015-02-06 08:40:59 +10:00
Adam
9b3fd0b7a9 Add TVRage network name standardization 2015-01-12 18:45:41 +08:00
adam
87c78b50b2 Revert "Merge pull request #19 from adam111316/feature/AddNetworkStandardization" 2014-12-07 21:22:42 +08:00
JackDandy
5f5080d3ab Merge branch 'release/0.4.0' into develop 2014-11-23 21:07:46 +00:00
Adam
7930cbcd80 Fix reduces time API endpoint Shows takes to return results.
Fix indexer mapper caching.
Fix tvrage API garbage collection.
2014-11-23 20:57:38 +00:00
Adam
a046729436 Add TVRage network name standardization 2014-11-23 22:16:23 +08:00
JackDandy
aab5476bc2 Fix adding shows from TVRage API plus sorting them in Layout Simple of Show List.
Show failed to be added from TVRage API with "show contains no season/episode data" error.
Change TVRage "Canceled/Ended" to "Ended" status to correct the sort on Simple Layout of Show List page.

Conflicts:
	CHANGES.md
2014-11-21 11:48:51 +00:00
JackDandy
4ceee9a803 Fix typo for commit "ShowData handler" i.e. SHA-1:3eec217. 2014-11-21 00:55:41 +00:00
JackDandy
64bb3d53dc Fix a handler when EpisodeData is not available in tvdb and tvrage APIs
Addresses Traceback TypeError: list indices must be integers, not str. Is sometimes raised when doing a Force Full Update.
2014-11-20 21:25:44 +00:00
JackDandy
3eec21704a Fix a handler when ShowData is not available in tvdb and tvrage APIs.
"KeyError:<show_id>" Traceback is addressed.
2014-11-20 18:46:17 +00:00
JackDandy
6da09b8db0 Change suppress HTTPS verification InsecureRequestWarning.
Suppress this potentially confusing warning because many sites use self-certified certificates.

Change a couple of lib references to be full paths.
2014-11-20 03:07:44 +00:00
JackDandy
d03f198e13 Reapply check that SSLv3 is available before use that is listed in hacks.txt to new lib.
This fixes an issue in the urllib3/PyOpenSSL contrib in requests lib that assumes ssl.protocol_sslv3 is always defined. Many systems have disabled this protocol in light of recent security issues.
2014-11-20 02:09:45 +00:00
JackDandy
556e92a730 Update Requests library 2.3.0 to 2.4.3 (9dc6602). 2014-11-20 02:05:32 +00:00
vergessen
b5b3ad980a Add check that SSLv3 is available before use.
This fixes an issue in the urllib3/PyOpenSSL contrib in requests lib that assumes ssl.protocol_sslv3 is always defined. Many systems have disabled this protocol in light of recent security issues.
2014-11-19 18:01:54 +00:00
JackDandy
abd1c453fb Remove output of source code line when warnings highlight libraries not used with IMDb.
Add a new show to observe the output.

Conflicts:
	CHANGES.md
2014-11-15 04:29:12 +00:00
Supremicus
4c8c6b21d5 Change logos, text etc. branding to SickGear. 2014-11-12 20:56:40 +00:00
adam
af1c16c4da Fix parsing utf8 data from tvdb and tvrage 2014-11-10 10:07:47 +08:00
JackDandy
9ad811432a Fix invalid use of str() in the Send2Trash library for platforms other. 2014-11-09 20:25:23 +00:00
adam
e63ffd363c Fixes unicode issues during searches on newznab providers when rid mapping occurs 2014-11-08 01:02:29 +08:00
JackDandy
ef4470bd78 Add send2trash, General Config/Send to trash, and catch show dir not found exception.
Add send2trash, a small package that sends files to the Trash (or Recycle Bin) natively and on all platforms. If send2trash is found not compatible, the user can use the default delete and manually delete failed send2trash files.
Add General Config/Misc/Send to trash for actions that involve removing shows and log rotation.
Add handling for the exception raised while deleting a show and show folder no longer exists.
2014-11-05 05:36:16 +00:00
JackDandy
6c8d72b9c1 Revert "Added gui for IMDB watchlists in Config General."
The main core of this code was lifted from Trakt code and not developed enough to be suitable for purpose given that the Trakt code isn't fully developed either. An issue found leading to this decision was that show statuses were set false instead of the expected default, however, worse was that users had no way of choosing shows to add, was not informed of what was actually going on once a URL was added to the UI, and was not offered options prior to adding shows like the normal add new show work-flow does. Basically, there are too many issues and this feature is too immature for inclusion.
2014-10-24 17:03:32 +01:00
adam111316
4bb7e3cac0 Merge pull request #876 from JackDandy/UpdateTornado
Update Tornado webserver to 4.1dev1 and add the certifi lib dependency.
2014-10-14 13:01:15 +08:00
JackDandy
2d18f5b8ab Update Tornado webserver to 4.1dev1 from 4.0b1 and add the certifi lib dependency. 2014-10-14 05:24:01 +01:00
Ofir Brukner
b0426ca12d Fixed a few bugs.
Also fixed buggy search function in webserve.
2014-10-13 00:25:06 +03:00
Ofir Brukner
14f3848872 Added all logic related to subscenter, including logo 2014-10-12 16:19:34 +03:00
KontiSR
7165df7405 Added gui for IMDB watchlists in Config General.
Used regex checks with javascript popup, for checking if valid imdb csv watchlist.
Added test/test_tvdb_api.py for testing the tvdb api for retrieving shows by IMDB id.

TODO: Help for assisting users in getting the correct IMDB url.
maybe, make interval configurable

First changes for imdb watchlist checker

Thrown the couch code overboard and created my own version of an imdb watchlist scraper

Added IMDB thread and test values with an IMDB csv url. These values should be replaced by front end UI settings.

- Removed some tracelogs when unable to download watchlist
- Added settings for enabling and setting of the watchlist csv url
TODO:
- create UI for setting from frontend
- Implement frontend and backend checks for validating the csv url

Default interval is 1 hour.
2014-09-30 12:25:11 +02:00
Adam
3c9f1d754d Fixes shows not being added from tvrage 2014-09-25 19:04:19 +08:00
echel0n
67bd1a9e98 Fix for daily searches and high cpu usage plus increases search speed 2014-09-15 01:28:11 -07:00
echel0n
442631105b Fix for TypeError: list indices must be integers, not str in Indexer API code 2014-09-14 18:24:08 -07:00
adam
ae786bee42 Update adba libs
Add NotificationDel, NotificationDeletedResponse

Add Notification, NotificationResponse

Add MultipleNotificationResponse

Add NoSuchNotificationResponse
2014-08-31 14:12:48 +08:00
Adam
1b16320492 Fix missing fid listing on NotifygetMessageResponse 2014-08-30 12:17:25 +08:00
Adam
c4acb54d59 Replace tabs with spaces in adba libs / PEP8 2014-08-30 12:10:19 +08:00
echel0n
00a1ebfee3 Fixed TypeError: string indices must be integers error when mapping indexer id's
Added full delete feature to mass update, removes show from SR and deletes show folder from hard drive. Remove will just delete show from SR without deleting files from hard drive

Fixed XML errors for TVRage indexer api
2014-08-29 10:05:15 -07:00
loginfliggle
62a7d9850c Update tvrage_api.py
Bugfix by viperidae

Reference:
---------------
Reference: https://sickrage.tv/forums/forum/help-support/bug-issue-reports/6224-there-was-an-error-with-the-xml-retrieved-from-tvrage-com

Quote:
----------
Had a look at the code and the xml documents...

It looks like the problem is caused by an empty <genre /> element in Results/shows/show/genres/
Line 459 of tvrage_api.py (it's 460 in my track in the previous post because of the debug statements I put in)

I assume it's because value is NoneType, gets replaced by a [NoneType] list and then tries to call '|'.join([NoneType]) when it was expecting a list of strings.

I changed this to the following and the problem appears to be resolved

Syslog extract:
----------------------
tvrage_error: There was an error with the XML retrieved from tvrage.com
First try emptying the cache folder at..
C:\Users\Josh\Documents\Programs\SickRage\cache\indexers\TVRage
If this does not resolve the issue, please try again later. If the error persists, report a bug on


2014-08-09 00:43:25 INFO     SEARCHQUEUE-BACKLOG-74608 :: [NMatrix] :: Searching for episodes we need from Top Gear Season 21
2014-08-09 00:43:25 DB       SEARCHQUEUE-BACKLOG-74608 :: [NMatrix] :: cache.db: SELECT * FROM [nmatrix] WHERE indexerid = ? AND season = ? AND episodes LIKE ? with args [74608, 21, '%|2|%']
2014-08-09 00:43:25 DB       SEARCHQUEUE-BACKLOG-74608 :: [NMatrix] :: cache.db: UPDATE lastSearch SET time = ? WHERE provider = ? with args [1407559405, 'nmatrix']
2014-08-09 00:43:25 DB       SEARCHQUEUE-BACKLOG-74608 :: [NMatrix] :: cache.db: INSERT INTO lastSearch (time, provider) VALUES (?, ?) with args [1407559405, 'nmatrix']
2014-08-09 00:43:25 DB       SEARCHQUEUE-BACKLOG-74608 :: [NMatrix] :: sickbeard.db: SELECT * FROM indexer_mapping WHERE indexer_id = ? AND indexer = ? with args [74608, 1]
2014-08-09 00:43:25 ERROR    SEARCHQUEUE-BACKLOG-74608 :: [NMatrix] :: Error while searching NMatrix, skipping: There was an error with the XML retrieved from tvrage.com
First try emptying the cache folder at..
C:\Users\Josh\Documents\Programs\SickRage\cache\indexers\TVRage
If this does not resolve the issue, please try again later. If the error persists, report a bug on

2014-08-09 00:43:25 DEBUG    SEARCHQUEUE-BACKLOG-74608 :: [NMatrix] :: Traceback (most recent call last):
  File "C:\Users\Josh\Documents\Programs\SickRage\sickbeard\search.py", line 428, in searchProviders
    searchResults = curProvider.findSearchResults(show, season, episodes, search_mode, manualSearch)
  File "C:\Users\Josh\Documents\Programs\SickRage\sickbeard\providers\generic.py", line 264, in findSearchResults
    for curString in self._get_episode_search_strings(epObj):
  File "C:\Users\Josh\Documents\Programs\SickRage\sickbeard\providers\newznab.py", line 133, in _get_episode_search_strings
    rid = helpers.mapIndexersToShow(ep_obj.show)[2]
  File "C:\Users\Josh\Documents\Programs\SickRage\sickbeard\helpers.py", line 1178, in mapIndexersToShow
    mapped_show = t[showObj.name]
  File "C:\Users\Josh\Documents\Programs\SickRage\lib\tvrage_api\tvrage_api.py", line 675, in __getitem__
    selected_series = self._getSeries(key)
  File "C:\Users\Josh\Documents\Programs\SickRage\lib\tvrage_api\tvrage_api.py", line 566, in _getSeries
    allSeries = self.search(series)
  File "C:\Users\Josh\Documents\Programs\SickRage\lib\tvrage_api\tvrage_api.py", line 557, in search
    seriesEt = self._getetsrc(self.config['url_getSeries'], self.config['params_getSeries'])
  File "C:\Users\Josh\Documents\Programs\SickRage\lib\tvrage_api\tvrage_api.py", line 500, in _getetsrc
    raise tvrage_error(errormsg)
2014-08-09 02:36:21 -04:00
echel0n
1136e5c833 Fixed IndexError: list index out of range issue 2014-08-09 01:43:02 +00:00
Jamie
18da621016 Trakt method, error checking, remove series 2014-08-09 00:07:17 +01:00
echel0n
7cb2296b6a Fixed issue with reverts to master on startup due to bug in version checker.
Fixed issues with indexerApi caching code, seemed TVRage was really the only one experiancing the problems but has been corrected for theTVDB just in case.
2014-07-28 09:03:07 -07:00
echel0n
7dc89c084f Added ability to switch branches from general settings/advanced, will perform a forced checkout of whatever branch you choose and restart automatically.
Git updates are now forced to overwrite locale changes to avoid needing to manually stash uncommited changes before being able to proceed with a update.

Fixed indexer mapping when unable to locate show on indexer that we are trying to map to.
2014-07-27 11:39:02 -07:00
echel0n
14c354b551 Added proxy support to Indexer APIs.
Provider getURL and downloadResult functions now removed and replaced with ones from helpers.py to help slim the code down plus allow more better control over request sessions.

Removed TVTumbler code.

Fixed HDBits provider.

Fixed config settings that were ment to be booleans but instead where set as str or int, should help resolve random html errors.

XEM Refresh check re-coded.

NameParser code for creating show object has been changed to only attempt at the very end once its found the bestMatch result, helps on resources and performance.
2014-07-27 03:59:21 -07:00
echel0n
de5db9be64 Added ability to set a default indexer for trakt notifier used for adding shows from watch list so that SickRage knows what indexer to set the show as.
Indexer mapping now uses indexer api calls to gather its information and then stores it to a new table called indexer_mapping for instant lookups later on.

Fixed trakt related issues for adding new shows and syncing.

Centered items at bottom of pages to just look a little nicer and fit properly.
2014-07-23 22:07:01 -07:00
echel0n
403c267953 Further improved memory handling of bs4 for torrent providers. 2014-07-21 16:01:46 -07:00
echel0n
6957bd0656 Possible fix for stacked provider names during backlog search.
Possible fix for anidb connection stop issues during restart/shutdown.
2014-07-17 23:16:18 -07:00
echel0n
7f20f5e27f Fixed whitelist error when editing shows, needs more code changes to fully function correctly.
Possible fix for threading exceptions.
2014-07-17 17:43:36 -07:00
echel0n
c577ff2887 Reverted back to using Shove+SQLAlchemy for storing persistent object data to avoid any more DB corruption errors. 2014-07-15 11:40:40 -07:00
echel0n
703da76d80 Fix for AniDB list downloading 2014-07-15 00:17:08 -07:00
echel0n
4a061d4dd2 AniDB now updates its xml lists daily.
Added writeback cache for both rss feeds and name parser.
2014-07-14 23:55:52 -07:00
echel0n
d02c0bd6eb Fixed issues with editing/saving custom scene exceptions.
Fixed charmap issues for anime show names.

Fixed issues with display show page and epCat key errors.

Fixed duplicate log messages for clearing provider caches.

Fixed issues with email notifier ep names not properly being encoded to UTF-8.

TVDB<->TVRAGE Indexer ID mapping is now performed on demand to be used when needed such as newznab providers can be searched with tvrage_id's and some will return tvrage_id's that later can be used to create show objects from for faster and more accurate name parsing, mapping is done via Trakt API calls.

Added stop event signals to schedualed tasks, SR now waits indefinate till task has been fully stopped before completing a restart or shutdown event.

NameParserCache is now persistent and stores 200 parsed results at any given time for quicker lookups and better performance, this helps maintain results between updates or shutdown/startup events.

Black and White lists for anime now only get used for anime shows as intended, performance gain for non-anime shows that dont need to load these lists.

Internal name cache now builds it self on demand when needed per show request plus checks if show is already in cache and if true exits routine to save time.

Schedualer and QueueItems classes are now a sub-class of threading.Thread and a stop threading event signal has been added to each.

If I forgot to list something it doesn't mean its not fixed so please test and report back if anything is wrong or has been corrected by this new release.
2014-07-14 19:00:53 -07:00