Commit graph

192 commits

Author SHA1 Message Date
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
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