Commit Graph

172 Commits

Author SHA1 Message Date
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
tcavallari 2c94f9dd82 Patches the enzyme lib to allow the detection of subtitles embedded into mp4/m4v files 2014-07-06 12:02:02 +02:00
echel0n f0146f728e Lowered CPU usage even further, re-wrote daemonizer code for startups, removed misc unrequired functions from providers. 2014-07-03 07:07:07 -07:00
echel0n 12ac388dc2 Fixed startup/restart/shutdown issues on Windows, Linux, FreeBSD platforms tested.
Fixed for updating issues.

Fixed high cpu and memory usage.
2014-07-02 11:51:14 -07:00
echel0n 1fc909299d Fixed start/restart/shutdown issues including any issues with daemonizing. 2014-07-01 06:08:10 -07:00
echel0n 130daf7d0a Added trending shows feature, this allows you to choose from a wide selection of popular/trending shows with rating stats and easily add the show into SR by simply clicking the plus sign. 2014-07-01 01:49:12 -07:00
echel0n a16bf8ca2c Fix for anidb errors 2014-06-30 09:21:21 -07:00
echel0n 2c98a5a448 Fixed "show must be added to list", regexes now check if numbers following after the series name is a date or part of the series name to properly parse and return correct show object.
Fixes TVDB and TVRAGE cache_location variable.
2014-06-29 23:20:19 -07:00
echel0n f247499289 Fix for _parseactors function in theTVDB Indexer API 2014-06-28 14:29:58 -07:00
echel0n 9685696e36 Fix for "TypeError: 'NoneType' object is unsubscriptable" in Indexer API code 2014-06-19 10:43:51 -07:00
adam a309b2bf1e Update anime-list.xml and animetitles.xml from https://github.com/ScudLee/anime-lists/ 2014-06-18 12:57:26 +08:00
echel0n d73cc1cbbd Replaced cherrypy with tornado which helped resolve our memory leak issue. 2014-06-14 20:56:15 -07:00
Nils 166dffeb5a Merge pull request #582 from bikemike222/add_cookies_rss
Added cookie support to custom torrent provider
2014-06-09 00:20:37 +02:00
echel0n 97a1693abf Fixes for TVDB and TVRage API search issues. 2014-06-07 17:43:58 -07:00
echel0n cfcc35ebcc Upgraded IMDBpy and improved performance of it.
Fixed TVDB Indexer API issues.
2014-06-07 08:33:18 -07:00
echel0n 24dfbc3f15 Quality is now set during parsing of results.
Fixed more anime regex bugs.
Fixed Indexer API issues for anime shows and unicode problems.
2014-06-07 04:06:21 -07:00
echel0n 5eabe43e48 Adding shows via TVRage fixed! 2014-06-05 12:17:49 -07:00
echel0n e7170328aa Fix for Indexer API issues 2014-06-03 22:20:54 -07:00
echel0n 8ac0b79986 Fixes originally aired dates and times issues. Please perform a mass update of all shows after updating to this new commit to have changes take affect. 2014-06-03 21:18:21 -07:00
echel0n e62d5ad50c Fix for nonetype being returned when trying to load data from TVDB Api for actors. 2014-06-01 22:21:09 -07:00
echel0n 893574b2ed Reverted new regex changes, not compatible with enough platforms to warrent keeping. 2014-05-31 06:16:18 -07:00
echel0n c5811791d0 Fix for missing regex module for python2.6 users 2014-05-31 04:12:48 -07:00
echel0n 90d011990c Fix for missing regex module for python2.7 users 2014-05-31 04:04:20 -07:00
echel0n d7396896b5 Added in regex matching with fuzzy matching.
Shows now display Indexer absolute numbering.
Improved speed of parsing search results.
Fixed episode naming issues.
2014-05-31 03:35:11 -07:00
echel0n a92de48aec Added new show option that allows you to choose if you want to search via scene numbering or indexer numbering.
Scene numbers and scene absolute numbers now only display if prooper show options are selected.

Scene absolute numbers are now able to be set by user.

Fixed issues with user set scene numbers not correctly applying to episode objects.
2014-05-30 00:50:27 -07:00
echel0n 9dd7d58618 Fixed TVRage searches 2014-05-29 07:16:23 -07:00
echel0n 00f38a7157 Fix for new show searches 2014-05-29 07:00:41 -07:00
echel0n e1ee01579d Fixed issues with TVDB retrieving banners and posters.
Fixed unicode issues with Indexer API's
Fixed issues with scene numbering.
Fixed issues with black and white lists for anime shows when editing a show.
2014-05-29 06:27:05 -07:00
echel0n 2dcd26e69c Update imdbpy libs to v5.0
Fixed invalid indexer id issues for TVRage shows.

Fixed issues for getting posters and backdrops for TVRage shows.

We now convert XML straight to a dict object for Indexer APIs, improved overall performance api's

Fixed issues with TVRage shows and displaying genre's properly.
2014-05-28 23:09:38 -07:00
Nils 3bca5d937e Merge pull request #586 from HakShak/dev
Fixed infinite loop in lib/rtorrent
2014-05-29 00:19:27 +02:00
echel0n e009641804 SickRage now stores the XEM scene data to the main DB under tv_episodes for faster lookups and better linkages with epiosde objects, insures we have scene data on hand when we want it!
Adding functions to lookup scene season and ep info via scene absolute numbers.

We now try and create a show object from parsed release info before we consider it a valid parsed result to insure we even have the show in our show list, also used to validate anime releases.

Misc bug fixes here and there.
2014-05-28 14:16:03 -07:00
Nicholas Herring 370c6d6f73 Fixed infinite loop in lib/rtorrent
This code works when there is only one torrent in rtorrent. As soon as there are multiple torrents, this just spins on the same torrent IF the first torrent isn't the one it is looking for. In general this function just brute forces the server as I expect it is written for a local SCGI endpoint.

(Side note, this was my second attempt to do this, since I didn't fork properly when I stated: https://github.com/echel0n/SickRage/pull/585)
2014-05-28 15:35:56 +00:00
echel0n 9a3e7ab0a9 Added anime support with anidb support.
Added fanzub anime nzb provider.
Fixed NyaaTorrents anime provider.

This is in testing phase so bugs are to be expected.
2014-05-25 23:29:22 -07:00
Bike Mike 89c944ec94 Added cookie support to custom torrent provider 2014-05-25 19:19:45 +02:00
echel0n 8ac8150eb3 Fixed issues with search results not being snatched when searching shows with custom quality settings.
Added option to force a RSS update under Manage searches.

Added status of rss updates and daily searches to be displayed at bottom of pages.
2014-05-15 14:43:57 -07:00
echel0n 1ff03def15 Added in missing libs 2014-05-15 06:01:45 -07:00
echel0n 79b239bbce Fix for incorrect date being set inside SickRage due to date not probally being converted back to local timezone. 2014-05-15 04:40:30 -07:00
echel0n e20adcfab8 Added daily searcher to check for and snatch daily new releases for current active watched shows. User settable interval can be found in search config menu plus forcing a daily search can be done from Manage Searches menu.
Fixed issues with subliminal subtitle downloader.
2014-05-14 21:16:46 -07:00
echel0n 7c5144417e Revert "Updated Subliminal to 0.80 and fixed issues with subtitle downloading."
This reverts commit f6a264bf5c.
2014-05-14 18:41:08 -07:00
echel0n f6a264bf5c Updated Subliminal to 0.80 and fixed issues with subtitle downloading. 2014-05-14 14:52:05 -07:00
echel0n b547226353 Fix for unrar2 2014-05-12 13:56:22 -07:00
echel0n b12df7e719 Testing fix for unrar2 libs 2014-05-12 13:50:07 -07:00
echel0n 5b23d83704 Updated unrar2 lib 2014-05-12 09:20:59 -07:00
echel0n e977750702 Merge branch 'origin/master'
Conflicts:
	sickbeard/__init__.py
2014-05-11 05:55:12 -07:00
echel0n 1398c38275 Fix for manual and backlog download/search issues.
Removed multi-threading as it was more problems then usefull for now.

Added in match & snatch, any quality from initial quality settings gets downloaded first and does not continue searching, if archive qualities exist it'll stop once it hits max quality from said list.
2014-05-11 05:51:39 -07:00
Nils Vogels 7875d45504 Add exception handing if logout fails for opensubtitles 2014-05-11 00:51:57 +02:00
echel0n fb71c6139e Added in optional multi-threading for all search queues, can be set from General->Advanced config section.
Fixed issue #417 and #335
2014-05-06 04:29:38 -07:00
echel0n ddea462f0b More fixes for SQLAlchemy 2014-05-04 21:05:43 -07:00
echel0n 831507cb47 Downgraded SQLAlchemy to version 0.8 from 0.9 for compatibility reasons 2014-05-04 20:52:49 -07:00
echel0n 246708f600 Added SQLAlchemy to libs 2014-05-04 20:25:51 -07:00
Nils 6d1e025445 Merge pull request #323 from WebSpider/dev-midgetspy_fixes
Midgetspy backports
2014-05-04 23:41:45 +02:00
echel0n 129a8c1d7e Added cache for rss feed items.
Fixed issues with searches
2014-05-04 05:05:27 -07:00
Nils Vogels ab89084688 tvdb_api update, backport from midgetspy
* Skip episodes which are missing SeasonNumber or Episode Number (or DVD_season or DVD_episodenumber)
* Avoid excessive calls to the ShowContainer garbage collection
* fix ShowContainer cache resizing
2014-05-03 00:28:36 +02:00
echel0n 9384881241 Fixed issues with searching for air by date shows and sports.
Several bugfixes applied throughout the code along with cleanup performed.
2014-04-30 06:49:50 -07:00
echel0n a5836afa4f Fixes issue #161 2014-04-28 16:04:09 -07:00
echel0n 0e82c5f573 Added RSS feedparser lib to process custom torrent RSS feeds.
Adjusted code for custom RSS feed parsing now that feedparser does the parsing for us all we do is pull the data from the returned entries.
2014-04-25 16:41:47 -07:00
echel0n a71ed25b19 Fixes issues with searches and importing existing shows 2014-04-25 14:22:31 -07:00
echel0n f8ec897010 Lightning fast indexer searches now!
Version checks reverted back to every 12 hours.
2014-04-24 04:52:44 -07:00
echel0n c945726f05 Fixed subliminal issues.
Added ignore/required words option to bet set individually for each show.
Fixed issue with global ignore words not properly matching against releases.
Fixed issue with
2014-04-23 22:18:16 -07:00
echel0n 8d9d62caf5 Updated sumbliminal.
Fixed issue #52
2014-04-23 20:22:21 -07:00
echel0n 94670f7f95 Updated our cache code.
Updated rsstorrents to not bother using requests sessions.
2014-04-22 23:24:08 -07:00
echel0n f54a6e25b2 Fixes issues with tvdb and tvrage api content attribute not found 2014-04-22 12:15:15 -07:00
echel0n e171aa1c10 Conditional check bugfixes 2014-04-02 07:23:17 -07:00
echel0n 23348e0bd0 Fixed bug for returning requests object exceptions 2014-04-01 22:44:47 -07:00
echel0n 4caf2441d6 Fixed a typo issue 2014-03-29 22:45:36 -07:00
echel0n 9124c528a8 Fixed couple bugs in cache control 2014-03-29 22:02:32 -07:00
echel0n 381049c373 Re-coded our cache session handler and made vast improvements to it 2014-03-29 21:54:23 -07:00
echel0n 2acafcb603 Fixed bugs in cache control 2014-03-29 02:49:51 -07:00
echel0n c2f7f766f4 Fixed bug in cache controller that was causing session handler to return NoneType 2014-03-29 01:45:49 -07:00
echel0n f0ffae31a6 Fixed bug in TVRage API that was effecting python 2.6 users 2014-03-29 01:22:08 -07:00
echel0n c309e8afc9 Fixed bug in cache controller 2014-03-29 01:00:42 -07:00
echel0n 42f88b3b3f Revert "Added lxml to our libs"
This reverts commit 32c029c3cf.
2014-03-28 22:37:22 -07:00
echel0n 32c029c3cf Added lxml to our libs 2014-03-28 21:32:46 -07:00
echel0n 9ac649444d Added cache_auto, cache_urls, and cache_max_age features to our cache handler.
Added session handler to our cache handler so that we can pass in paramaters at the request level and use them for our cache handler to process features.
2014-03-28 21:23:55 -07:00
echel0n 1bb9413b19 Move some code around in our cache handler for better parsing and accuracy of caching 2014-03-27 17:12:44 -07:00
echel0n 3db51ef268 Fixed typo in TVDB Api code
Updated cache handler code
2014-03-27 15:39:54 -07:00
echel0n 6a1ccef8d9 Replaced cache handler with a modified version of our own, gives quicker Indexer API responses to our requests 2014-03-27 14:06:03 -07:00
echel0n ff1e6e6dbc Changed to new cache handler that stores its cached data in sqlite db files for persistance 2014-03-27 05:06:40 -07:00
echel0n 6a7906eeb1 Fixed bug in TVRage API that was not properly handling malformed airdates for shows.
Fixed bug in metadata function that was throwing attribute errors when checking for banner images for shows from TVRage

Converted some list comprehensions to generators to improve speed and lower memory usage of SB
2014-03-27 02:42:00 -07:00
echel0n 95d7d728e0 Re-write of Indexer API wrapper
Re-write of New Show seearch function
Re-write of Existing show search helper function for determining indexer/indexerid
Massive code cleanup and more bugs found and fixed
Indexer code fully modualized for future proofing
2014-03-24 22:57:24 -07:00
echel0n 108df09382 Fix for air dates in TVRage API code 2014-03-21 10:26:22 -07:00
echel0n 10637f8f29 Code Clean up and regex fix for "no repeats" error (reverted from commit 8ecd5a196d) 2014-03-20 11:03:22 -07:00
echel0n 8ecd5a196d Code cleanup and regex fix for "no repeats" error 2014-03-20 10:51:59 -07:00
echel0n 36643acf5e Added TVRage support to our scene numbering lookups.
Tweaked our API's HTTP Handlers for better performance.

Fixed a bug in metadata parser that was preventing TVRage shows from getting images.
2014-03-19 22:33:34 -07:00
echel0n 84e53a2d10 Small typo 2014-03-16 06:36:33 -07:00