Giter VIP home page Giter VIP logo

pymedusa / medusa Goto Github PK

View Code? Open in Web Editor NEW
1.7K 59.0 267.0 216.24 MB

Automatic Video Library Manager for TV Shows. It watches for new episodes of your favorite shows, and when they are posted it does its magic.

Home Page: https://pymedusa.com

License: GNU General Public License v3.0

JavaScript 20.67% HTML 0.01% Python 57.20% CSS 2.30% Mako 0.57% Shell 0.26% Dockerfile 0.02% Vue 18.78% SCSS 0.19%
episodes medusa nzb mediainfo subtitle shows trakt metadata torrent tv

medusa's People

Contributors

abeloin avatar adam111316 avatar adaur avatar alisonatwork avatar amadeus- avatar cristianbb avatar duramato avatar echel0n avatar fernandog avatar gborri avatar jackdandy avatar joshjowen avatar labrys avatar medariox avatar mgaetan89 avatar miigotu avatar neoatomic avatar omgimalexis avatar p0psicles avatar purevertigo avatar rafi-d avatar ratoaq2 avatar renovate-bot avatar renovate[bot] avatar sharkykh avatar supremicus avatar tagforce avatar thraxis avatar vinceval avatar webspider 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  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

medusa's Issues

[APP SUBMITTED]: zip argument #1 must support iteration

INFO

Python Version: 2.7.9 (default, Mar 1 2015, 13:48:22) [GCC 4.9.2]
Operating System: Linux-4.4.6-3-osmc-armv7l-with-debian-8.4
Locale: UTF-8
Branch: fix_concurrence
Commit: 70dc4a8
No Log available with ERRORS:

ERROR

Thread-15 :: [80123f9] Failed doing webui callback: Traceback (most recent call last):
  File "/home/osmc/SickRage/sickbeard/webserve.py", line 322, in async_call
    result = function(**kwargs)
  File "/home/osmc/SickRage/sickbeard/webserve.py", line 1485, in manualSearchCheckCache
    episodesInSearch = collectEpisodesFromSearchThread(show)
  File "/home/osmc/SickRage/sickbeard/manual_search.py", line 148, in collectEpisodesFromSearchThread
    if not [i for i, j in zip(search_thread.segment, episodes) if i.indexerid == j['episodeindexid']]:
TypeError: zip argument #1 must support iteration


STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

Forced snatch of a multi ep doesnt mark as snatch

Branch/Commit: 134830f
OS: Ubuntu 14
What you did: For the snatch from manual snacth to mark all ep as snatched
What happened: When manually snatching X-Files.S01E01-17.DVDRip.XviD-SDG only the ep the manual snatch page was got marked as snatched
What you expected: All of the ep to be marked as snatched as on a manual search

[APP SUBMITTED]: subliminal: 'NoneType' object is not iterable

INFO

Python Version: 2.7.9 (default, Mar 1 2015, 13:48:22) [GCC 4.9.2]
Operating System: Linux-4.4.6-3-osmc-armv7l-with-debian-8.4
Locale: UTF-8
Branch: logging_improvements
Commit: 9ea0d8f
No Log available with ERRORS:

ERROR

19:33:06 INFO::FINDSUBTITLES :: [9ea0d8f] Scanning video "Marvel's.Agents.of.S.H.I.E.L.D.S03E15.Spacetime.1080p.WEB-DL.DD5.1.H.264-MAoS.mkv" in '/media/SAMSUNG/media/downloaded/series/Marvels.Agents.of.S.H.I.E.L.D.S03E15.Spacetime.1080p.WEB-DL.DD5.1.H264-MAoS[rarbg]'
19:33:12 ERROR::FINDSUBTITLES :: [9ea0d8f] Failed to refine video
Traceback (most recent call last):
  File "/home/osmc/SickRage/lib/subliminal/core.py", line 543, in refine
    refiner_manager[refiner].plugin(video, **kwargs)
  File "/home/osmc/SickRage/lib/subliminal/refiners/tvdb.py", line 274, in refine
    results = search_series(video.series.lower())
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 1053, in decorate
    should_cache_fn)
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 657, in get_or_create
    async_creator) as value:
  File "/usr/local/lib/python2.7/dist-packages/dogpile/core/dogpile.py", line 158, in __enter__
    return self._enter()
  File "/usr/local/lib/python2.7/dist-packages/dogpile/core/dogpile.py", line 98, in _enter
    generated = self._enter_create(createdtime)
  File "/usr/local/lib/python2.7/dist-packages/dogpile/core/dogpile.py", line 149, in _enter_create
    created = self.creator()
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 625, in gen_value
    created_value = creator()
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 1049, in creator
    return fn(*arg, **kw)
  File "/home/osmc/SickRage/lib/subliminal/refiners/tvdb.py", line 213, in search_series
    return sorted(tvdb_client.search_series(name), key=match)
TypeError: 'NoneType' object is not iterable

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

[APP SUBMITTED]: 17:43:35 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'** 403: Series Not Permitted **' ({'year': 2016}) None

INFO

Python Version: 2.7.6 (default, Jun 22 2015, 18:00:18) [GCC 4.8.2]
Operating System: Linux-3.19.0-56-generic-i686-with-Ubuntu-14.04-trusty
Locale: UTF-8
Branch: develop
Commit: 89a4599
No Log available with ERRORS:

ERROR

17:43:35 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'** 403: Series Not Permitted **' ({'year': 2016})
None

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

[ FEATURE ] Rename files after metadata is updated

Since files are only processed once if the show is missing the meta data such as the title the files may not be named correctly when they're processed. I'd love if when data gets updated we'd loop over the show's episodes and rename them according to the new data.

For example Daredevil only had episode 1 of season 2 named when the files processed so even though the show is now updated my files are still missing their names.

S01E01 - Into the Ring.mkv
S01E02 - Cut Man.mkv
S01E03 - Rabbit in a Snow Storm.mkv
S01E04 - In the Blood.mkv
S01E05 - World on Fire.mkv
S01E06 - Condemned.mkv
S01E07 - Stick.mkv
S01E08 - Shadows in the Glass.mkv
S01E09 - Speak of the Devil.mkv
S01E10 - Nelson v. Murdock.mkv
S01E11 - The Path of the Righteous.mkv
S01E12 - The Ones We Leave Behind.mkv
S01E13 - Daredevil.mkv
S02E01 - Bang.mkv
S02E02 -.mkv
S02E03 -.mkv
S02E04 -.mkv
S02E05 -.mkv
S02E06 -.mkv
S02E07 -.mkv
S02E08 -.mkv
S02E09 -.mkv
S02E10 -.mkv
S02E11 -.mkv
S02E12 -.mkv
S02E13 -.mkv

Supported Browsers

We need to workout what the oldest browser we should be supporting, if we're going to drop support for older browsers like IE then we can add a LOT of functionality with CSS, HTML and Javascript just won't work on IE and requires polyfixes and polyfills. In my Angular PR I'm thinking of just stripping the IE conditionals and also enabling the HTML5 history API this requires only modern browsers since they're the only ones that support it. I'm also leaning towards using <icon> instead of <b> and <i> for icons as it's semantically better to use a "real" tag for icons instead of reusing bold and italic tags for them.

Since we've decided we want to have people "vote" on things before we do them I'd like everyone's input before anything happens. Since I'm half way through the Angular PR I'd like to know people's opinions ASAP.

PING: @pymedusa/administrators @pymedusa/developers @pymedusa/owners @pymedusa/moderators @pymedusa/contributors

Xem season exception icon added twice for Ace of diamond

image

Before submitting your issue:

Enable debug logging in SickRage settings, reproduce the error (be sure to disable after the bug is fixed)

Branch/Commit: develop:025029552097f60035570ffd1df879b6a47aeb97
OS: debian
What you did: Openend the displayShow for show Ace of diamond
What happened: The xem icon once per season
What you expected: The xem icon twice per season
Logs: NA

TypeError: argument of type 'int' is not iterable

2016-04-05 12:05:53 FINDSUBTITLES :: [a90e41d] Traceback (most recent call last):
  File "/home/dariox/.sickrage/sickbeard/subtitles.py", line 325, in download_best_subs
    get_subtitle_description(subtitle)), logger.DEBUG)
  File "/home/dariox/.sickrage/sickbeard/subtitles.py", line 489, in get_subtitle_description
    return subtitle.id + '-' + desc if desc not in subtitle.id else desc
TypeError: argument of type 'int' is not iterable

@ratoaq2
Caused by Itasa subtitles provider on download.

[APP SUBMITTED]: Thread-15 :: [58fa733] Missing time zone for network: Chiller

INFO

Python Version: 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)]
Operating System: Windows-10-10.0.10240
Locale: cp1252
Branch: manual-search
Commit: 58fa733
No Log available with ERRORS:

ERROR

Thread-15 :: [58fa733] Missing time zone for network: Chiller

STAFF NOTIFIED: @SickRage/support @SickRage/moderators

Currently there is no indication when a show has a per season exception

I'm going to implement an indication for shows which have a per season name exception.
Currently the only way to know there is any, is by tracking the debug logs, or digging in the db files.

I'm starting this issue to discuss the solution. If there are any other indicators that are missing, let me know!

Branch/Commit: SickRage master/dev
OS:
What you did: Opened the shows displayShow
What happened: No indication which (xem) per season exceptions are configured
What you expected: An indication
Logs:

Not needed

quick mockup:
image

[APP SUBMITTED]: retryEpisode() takes exactly 5 arguments (4 given)

INFO

Python Version: 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:40:30) [MSC v.1500 64 bit (AMD64)]
Operating System: Windows-10-10.0.10240
Locale: cp1252
Branch: log-cleanup
Commit: a84ed40
No Log available with ERRORS:

ERROR

Thread-27 :: [a84ed40] Failed doing webui callback: Traceback (most recent call last):
  File "H:\usr\local\sickrage\sickbeard\webserve.py", line 303, in async_call
    result = function(**kwargs)
TypeError: retryEpisode() takes exactly 5 arguments (4 given)


STAFF NOTIFIED: @SickRage/support @SickRage/moderators

[APP SUBMITTED]: Thread-13 :: [fcb0d34] Missing time zone for network: RTร‰jr

INFO

Python Version: 2.7.10 (default, Oct 23 2015, 18:05:06) [GCC 4.2.1 Compatible Apple LLVM 7.0.0 (clang-700.0.59.5)]
Operating System: Darwin-15.3.0-x86_64-i386-64bit
Locale: UTF-8
Branch: split_templates
Commit: fcb0d34
No Log available with ERRORS:

ERROR

Thread-13 :: [fcb0d34] Missing time zone for network: RTร‰jr

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

Manual snatch gives key error, when results are found but not for the searched ep no.

Before submitting your issue:

Enable debug logging in SickRage settings, reproduce the error (be sure to disable after the bug is fixed)

Branch/Commit: develop/dd1d8396ea4d333016610a04e8e19ab36d2d3026
OS: Windows 7
What you did: Manual snatch Searched for and "old" show, (law of ueki)
What happened: No results found and the provided exception
What you expected: At least no exception, but preferably search results if there are any.
Logs:

AA
AAKeyError: 4
AA    results = curProvider.cache.update_cache_manual_search(searchResults[searched_episode.episode])
AA  File "/home/home/SickRage/sickbeard/search.py", line 583, in searchProviders
AA    searchResult = search.searchProviders(self.show, [self.segment], True, self.downCurQuality, self.manual_snatch)
AA  File "/home/home/SickRage/sickbeard/search_queue.py", line 199, in run

After some analysis I noticed this is happening when your search for a show that gives back results, but not exactly for the episode your are looking for.

In case of the show law of ueki, it returned the season pack. That has an episode value of -1. As i searched for episode 51, it trowed the exception.

My proposal is to check if the searched for ep is in the list of search results + -1 (for season packs). For example searching for ep 51, would now match it against the list [51]. I'm going to manually add -1 to it. Making it match against [51, -1].

check topic fix-manual-snatch-keynotfound (#214) for an intermediate fix.
I'm curious to hear everyone opinions. And let's test some more. There are probably other use cases that we need to finetune.

Result:
image

[APP SUBMITTED]: unsupported operand type(s) for +: 'NoneType' and 'str'

INFO

Python Version: 2.7.9 (default, Mar 1 2015, 13:48:22) [GCC 4.9.2]
Operating System: Linux-4.4.6-3-osmc-armv7l-with-debian-8.4
Locale: UTF-8
Branch: logging_improvements
Commit: 9ea0d8f
No Log available with ERRORS:

ERROR

19:34:13 INFO::FINDSUBTITLES :: [9ea0d8f] Scanning video 'New.Girl.S05E13.1080p.WEB-DL.DD5.1.H.264-NTb.mkv' in '/media/SAMSUNG/media/series/New Girl/Season 5'
19:34:14 ERROR::FINDSUBTITLES :: [9ea0d8f] Failed to refine video
Traceback (most recent call last):
  File "/home/osmc/SickRage/lib/subliminal/core.py", line 543, in refine
    refiner_manager[refiner].plugin(video, **kwargs)
  File "/home/osmc/SickRage/sickbeard/refiners/release.py", line 50, in refine
    release_path = os.path.join(dirpath, release_name + fileext)
TypeError: unsupported operand type(s) for +: 'NoneType' and 'str'

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

[APP SUBMITTED]: global name 'CPU_PRESET' is not defined

INFO

Python Version: 2.7.9 (default, Mar 1 2015, 13:48:22) [GCC 4.9.2]
Operating System: Linux-4.4.3-3-osmc-armv7l-with-debian-8.3
Locale: UTF-8
Branch: develop
Commit: cccdb25
No Log available with ERRORS:

ERROR

FINDPROPERS :: [Rarbg] :: [cccdb25] Unknown exception while searching propers in Rarbg, skipping: global name 'CPU_PRESET' is not defined

STAFF NOTIFIED: @SickRage/support @SickRage/moderators

[ FEATURE ] Add timeout to Plex, etc. to prevent excessive scanning

If you add a lot of files to process all at once Sickrage tells Plex, etc. to rescan the library after every single file this can in some cases cause Plex to be completely unusable. I'd suggest we add a 20 second timeout and if there's another file processed within that time it resets it, after the timeout hits 0 only then do we send the refresh command. This would cause Plex to only scan the library once instead of in my case 500 times in 60 seconds.

[APP SUBMITTED]: ('Connection aborted.', BadStatusLine("''",))

INFO

Python Version: 2.7.9 (default, Mar 1 2015, 13:48:22) [GCC 4.9.2]
Operating System: Linux-4.4.6-3-osmc-armv7l-with-debian-8.4
Locale: UTF-8
Branch: develop
Commit: 89a4599
No Log available with ERRORS:

ERROR

13:02:19 ERROR::FINDSUBTITLES :: [89a4599] Unexpected error in provider 'legendastv'
Traceback (most recent call last):
  File "/home/osmc/SickRage/lib/subliminal/core.py", line 118, in list_subtitles_provider
    return self[provider].list_subtitles(video, provider_languages)
  File "/home/osmc/SickRage/lib/subliminal/providers/legendastv.py", line 413, in list_subtitles
    return [s for l in languages for s in self.query(l, title, season=season, episode=episode, year=video.year)]
  File "/home/osmc/SickRage/lib/subliminal/providers/legendastv.py", line 316, in query
    titles = self.search_titles(sanitize(title))
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 1053, in decorate
    should_cache_fn)
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 657, in get_or_create
    async_creator) as value:
  File "/usr/local/lib/python2.7/dist-packages/dogpile/core/dogpile.py", line 158, in __enter__
    return self._enter()
  File "/usr/local/lib/python2.7/dist-packages/dogpile/core/dogpile.py", line 98, in _enter
    generated = self._enter_create(createdtime)
  File "/usr/local/lib/python2.7/dist-packages/dogpile/core/dogpile.py", line 149, in _enter_create
    created = self.creator()
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 625, in gen_value
    created_value = creator()
  File "/usr/local/lib/python2.7/dist-packages/dogpile/cache/region.py", line 1049, in creator
    return fn(*arg, **kw)
  File "/home/osmc/SickRage/lib/subliminal/providers/legendastv.py", line 205, in search_titles
    r = self.session.get(self.server_url + 'legenda/sugestao/{}'.format(title), timeout=10)
  File "/home/osmc/SickRage/lib/requests/sessions.py", line 480, in get
    return self.request('GET', url, **kwargs)
  File "/home/osmc/SickRage/lib/requests/sessions.py", line 468, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/osmc/SickRage/lib/requests/sessions.py", line 578, in send
    r = adapter.send(request, **kwargs)
  File "/home/osmc/SickRage/lib/requests/adapters.py", line 426, in send
    raise ConnectionError(err, request=request)
ConnectionError: ('Connection aborted.', BadStatusLine("''",))

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

[ FEATURE ] Improve show selection on Popular page

Before submitting your issue:

Enable debug logging in SickRage settings, reproduce the error (be sure to disable after the bug is fixed)

Branch/Commit: ALL
OS: ANY
What you did: Added show with show list
What happened: No feedback on if show was added
What you expected: Visual indications showing shows that were added.
Logs: Not applicable

We should enable some method of feedback when adding shows from IMDB and TRAKT lists. My recommendation is to gray-out the show poster and either remove or change the "ADD SHOW" button.

As for changing the "ADD SHOW" button, I feel there are two ways we could go about doing this. First we could change it to "REMOVE SHOW" and allow the show to be queued for removal (in case it was selected mistakenly) or to make it toggle the selection of the show and add a "SUBMIT" button to the page.

The advantages of the ADD/REMOVE method is that as the user adds shows, it begins to pull the data in the background immediately, leading to quicker availability of the shows in the show list. The disadvantage being that the removal process may present issues with the show attempting to be removed before it has been added and the wasted effort of adding a show just to subsequently remove it.

The advantages of the SELECTIVE method is that a user has better control over show selection with the trade off of the shows not being added until after clicking on the SUBMIT button, delaying addition of the shows.

A related issue with the current show page, is that when revisiting the page, any shows that have not yet been fully added to the shows list still appear on the page. I think the SELECTIVE method could easily address that by persisting the SELECTION and upon reload, excluding the previously selected items from display.

[APP SUBMITTED]: 17:43:14 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'The Island with Bear Grylls' ({'year': 2014}) None

INFO

Python Version: 2.7.6 (default, Jun 22 2015, 18:00:18) [GCC 4.8.2]
Operating System: Linux-3.19.0-56-generic-i686-with-Ubuntu-14.04-trusty
Locale: UTF-8
Branch: develop
Commit: 89a4599
No Log available with ERRORS:

ERROR

17:43:14 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'The Island with Bear Grylls' ({'year': 2014})
None

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

[APP SUBMITTED]: Thread-15 :: [9077ab6] Missing time zone for network: Chiller

INFO

Python Version: 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)]
Operating System: Windows-10-10.0.10240
Locale: cp1252
Branch: c-is-for-cookie
Commit: 9077ab6
No Log available with ERRORS:

ERROR

Thread-15 :: [9077ab6] Missing time zone for network: Chiller

STAFF NOTIFIED: @SickRage/support @SickRage/moderators

Failed to add a searchresult to cache

Note for myself.

Branch/Commit: manual-search
OS: Windows 7
What you did: started manual search for Fairy Tail S2 2x90 absolute: 265
What happened: It got some results from oznzb
What you expected: It did not download it, assume because not wanted q. But I expect it to be added to Cache.
Logs:

14:26:42 DEBUG::SEARCHQUEUE-MANUAL-114801 :: [oznzb] :: [f7d81b7] Search URL: https://api.oznzb.com/api?apikey=**********&maxage=1100&cat=5000%2C5070%2C5080%2C5040&q=Fairy+Tail+90&limit=100&t=tvsearch&offset=0
14:26:47 DEBUG::SEARCHQUEUE-MANUAL-114801 :: [oznzb] :: [f7d81b7] Using cached parse result for: Fairy.Tail.-.90.-.1080p.BluRay.x264.DHD
14:26:47 DEBUG::SEARCHQUEUE-MANUAL-114801 :: [oznzb] :: [f7d81b7] The result Fairy.Tail.-.90.-.1080p.BluRay.x264.DHD doesn't seem to match an episode that we are currently trying to snatch, skipping it
14:26:47 DEBUG::SEARCHQUEUE-MANUAL-114801 :: [oznzb] :: [f7d81b7] Adding item from search to cache: Fairy.Tail.-.90.-.1080p.BluRay.x264.DHD
14:26:47 DEBUG::SEARCHQUEUE-MANUAL-114801 :: [oznzb] :: [f7d81b7] Connection timed out (sockets) while searching oznzb. Error: '_addCacheEntry() takes at least 6 arguments (4 given)'

Results are also parsed and saved to cache.
But Fairy Tail S2 90 is parsed as: season: 2, ep: 42??
"[NotWCP].Fairy.Tail.S2.90.(265).-.That's.the.Power.to.Live.[720p].[CEF6CCE2]" "2" "|42|" "114801"

I expect it to use the tvdb numbering: season: 6, episode: 39 to save to cache.

[ FEATURE ] Maximum backlogged episodes

I'd love an option to have only x episodes being backlogged at a time so I could have my torrent client running at all times without having 1,000+ torrents added all at once.

For example I could set the limit to 20 and then only 20 backlogged episodes would be added, after it hits the limit it'd then just wait for those that are known to be backlogged to process and then it could start adding more. While this is going new episodes will still be added though.

[ FEATURE ] Improve Postprocessing

I want to look into queuing of the PP jobs.
I think we should implement this. IMO we have the following solution alternatives:

  1. Implement queuing in Medusa. nzbToMedia will deliver a job with medusa, it's queued, and we need to create some sort of callback to nzbToMedia, to update it's db.
  2. Implement queing in nzbToMedia, and make it send jobs to medusa synchronous.
  3. Integrate nzbToMedia in medusa, and let download client communicate directly with medusa. This will be sort of a solution like number, with the difference that we won't need to make callbacks.
    @pymedusa/developers what do you guys think?

IMO the main benefits of queuing would be:

  • Throttling of medusa's cpu/mem usage.
  • Preventing file locks
  • ?

I tend to solution 2, because that's the least amount of effort (I guess), and would offload some cpu/mem from medusa.
Just had a chat with @duramato. But the only issue we're having is when you AutoPP and Manual PP the same file at the same time. Which IMO is pretty rare?!

This change will make sure PP jobs can be run in parallel again: #290

I propose that we collect all issues in this FR, and try to collect as much knowledge as possible.

[APP SUBMITTED]: tuple indices must be integers, not str

INFO

Python Version: 2.7.9 (default, Mar 1 2015, 13:48:22) [GCC 4.9.2]
Operating System: Linux-4.4.3-3-osmc-armv7l-with-debian-8.3
Locale: UTF-8
Branch: history_fix_nt
Commit: de18ebd
No Log available with ERRORS:

ERROR

TORNADO :: [de18ebd] API :: tuple indices must be integers, not str

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

No shows added and no error when adding from popular lists.

Before submitting your issue:

Enable debug logging in SickRage settings, reproduce the error (be sure to disable after the bug is fixed)

Branch/Commit: ALL
OS: Win XP
What you did: With fresh install, tried to add shows from IMDB popular and Trakt lists.
What happened: No shows were added and no error message
What you expected: Shows to be added to list, or an error message explaining why not
Logs:

02:39:09 INFO::Thread-15 :: There was an error creating the show, no root directory setting found

The UI raises an INFO message about no root directory being found, but as it's an INFO message, there's no indication of a failure to the user. This should be changed to a warning, or, preferably, be trapped and redirect the user to the configuration page to force them to add a root show directory.

New Changes

We really need an issue for all of the core changes we're going to be making so we can keep track of things. That's what this issue will be for.

@pymedusa/administrators @pymedusa/contributors @pymedusa/developers @pymedusa/moderators @pymedusa/owners

[APP SUBMITTED]: 17:43:29 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'Misfit Garage' ({'year': 2014}) None

INFO

Python Version: 2.7.6 (default, Jun 22 2015, 18:00:18) [GCC 4.8.2]
Operating System: Linux-3.19.0-56-generic-i686-with-Ubuntu-14.04-trusty
Locale: UTF-8
Branch: develop
Commit: 89a4599
No Log available with ERRORS:

ERROR

17:43:29 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'Misfit Garage' ({'year': 2014})
None

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

[APP SUBMITTED]: Thread-24 :: [58fa733] Missing time zone for network: Seeso

INFO

Python Version: 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)]
Operating System: Windows-10-10.0.10240
Locale: cp1252
Branch: manual-search
Commit: 58fa733
No Log available with ERRORS:

ERROR

Thread-24 :: [58fa733] Missing time zone for network: Seeso

STAFF NOTIFIED: @SickRage/support @SickRage/moderators

Missing link to Feathub

Don't know if we can create a copy of the existing one? Else if we're not going to use feathub, we should remove the reference.

[ Master Feature Request List ]

We'll use this is the master feature list to keep track of all open and closed features

Open feature requests

Uncategorized

  • [ FH:92 ] Add Scheduled Automatic Backups
  • [ FH:77 ] Set quality size limits
  • [ FH:25 ] Timeout for snatched episodes. (Basic failed download function)
  • [ #3508 ] Scheduled database backups
  • [ #3449 ] Add network icons
  • [ #3308 ] Allow custom show folder names when adding shows with API
  • [ #3287 ] Delay Snatching new episodes
  • [ #3241 ] Add new shows auto remove underscores
  • [ #2659 ] Full show name in folder name (or option to customize)
  • [ #2112 ] Remove items from sab history upon successful completion
  • [ #2031 ] SD WEB-DL quality level
  • [ #1983 ] Add custom text to renamer filenames
  • [ #1948 ] Manual search by quality
  • [ #1875 ] More options in renamer
  • [ #1875 ] Omit certain directories from search
  • [ #1407 ] FFMpeg (or similar?) implementation + displayEpisode page
  • [ #1277 ] Mark certain file extensions as a failed download
  • [ #1262 ] Add a property have_xem_map in TV Show object
  • [ #748 ] Scan single season
  • [ #576 ] Ticketsystem for adding notes to Shows
  • [ #520 ] Allow users to get real ssl certs instead of self signed ones
  • [#3741] Adapt medusa to search for movies

Indexers

  • [ FH:86 ] Add IMDB as show indexer
  • [ FH:56 ] IMDB watchlist integration
  • [ FH:31 ] Add AniDB indexer support
  • [ #2153 ] Ability to find popular shows by network
  • [ #1891 ] English language fallback for episode names
  • [ #910 ] Media info is not sent to Trakt
  • [#7916] Choose between air schedules if an indexer offers multiple

Metadata

  • [ FH:45 ] Kodi Watched Status (bi-directionnal)
  • [ FH:40 ] Force Full Update to update nfo, posters, thumbs,....
  • [ #2646 ] Update episode nfo and maintain Kodi watched status
  • [ #621 ] Manual Metadata downloader
  • [ #577 ] Media metadata
  • [ #183 ] Rename files after metadata is updated

Notifications

  • [ #3332 ] Add Join push notification support
  • [ #3181 ] Discord notification
  • [ #168 ] Different notification for episode being replaced with higher quality
  • [ #3578 ] Add MQTT notification

Post Processsing

  • [ #3325 ] Windows uses icacls for permissions on files after move
  • [ #3252 ] Delete file when new file is same size
  • [ #3351 ] Make use of a Post Processing queue
  • [ #1883 ] Allow size limits for episodes
  • [ #438 ] Add support for processing and snatching multi-season releases
  • [ #291 ] Improve Postprocessing
  • [ #206 ] Add timeout to Plex, etc. to prevent excessive scanning
  • [ #3885 ] Convert manual PP to websocket

Providers

  • [ FH:57 ] Add option for most seeders on torrent search
  • [ #3361 ] Fallback to secondary search provider group after a day
  • [ #3420 ] Providers statistics
  • [ #3197 ] Possible new providers
  • [ #3095 ] Add x[BiT] as a provider (rss/api)
  • [ #3093 ] Add xspeeds.eu torrent provider
  • [ #2873 ] Add tv-vault.me support
  • [ #2818 ] Support seedpeer.eu
  • [ #2681 ] New tracker: Torrent9
  • [ #2320 ] Add Open Search support.
  • [ #653 ] Option for delaying a provider snatch

Search

  • [ #620 ] Manual Search Collapse / Expand list
  • [ #281 ] Maximum backlogged episodes

Subtitles

User Interface

  • [ FH:79 ] Make UI mobile friendly
  • [ #3431 ] Change the default option for change status on the backlog page
  • [ #3324 ] Extend the "Recommended-Shows" list from IMDB and Trakt
  • [ #3306 ] Tabbed home page
  • [ #3170 ] Add snatched as option in Schedule to see recent (failed) snatches
  • [ #3068 ] Option to use banners instead of posters in schedule (calendar layout)
  • [ #3012 ] Snatched Removes File Name in GUI
  • [ #2919 ] More options in Dropdown on /home/
  • [ #2436 ] Better layout in dropdown (select) box on displayShow
  • [ #2338 ] Show TORNADO errors by default in log even if WEB_LOG is disabled
  • [ #2099 ] Add page for PP results
  • [ #1947 ] Quicksearch button on /home/
  • [ #1878 ] Alternative episode table layout
  • [ #1877 ] History box for main page
  • [ #1876 ] Move showselect and change behaviour
  • [ #1712 ] Summarize manual PP results
  • [ #1786 ] Allow UI theme customisation
  • [ #1594 ] Display info about HI subtitles in manual subtitle search
  • [ #758 ] Visual improvements suggestion list
  • [ #752 ] Checkout tags in UI
  • [ #626 ] Direct link to torrent/nzb detail page in manual search
  • [ #622 ] Theme to get access to more artwork
  • [ #495 ] Add websockets
  • [#3666] Add option to add show in paused state

Completed features (in master)

  • [ FH:46 ] Make daily update shows less time/resource consuming
  • [ FH:81 PR: #1168 ] Allow to download subtitles again for given episodes
  • [ FH:23 ] Manual Search: let user choose what to download
  • [ #3458 ] Add support for Advanced Systems Format
  • [ #3243 ] Add spanish providers
  • [ #3061 ] Add release name to email notification
  • [ #2695 ] Support anidex.info
  • [ #2689 ] Support Horriblesubs
  • [ #2205 ] Make show selector auto size
  • [ #2186 ] Episode Select UI change
  • [ #2091 ] Backlog Concerns and potential options
  • [ #2056 ] UI Feature request: Colors
  • [ #1965 ] Nowrap tables
  • [ #1546 ] Age of post for nzb in manual search
  • [ #1467 ] Embedded subtitles not detected
  • [ #1342 ] Allow error submission from Medusa even if not up-to-date
  • [ #1139 ] Remove Torrent Once Completed
  • [ #575 ] Statusline pr season
  • [ #410 ] Add force update scene exceptions button
  • [ #354 ] Make manual search like the proper search thread
  • [ #199 ] Add icon next to provider list for "D" - daily enabled and "B" - backlog enabled
  • [ #150 ] Improve show selection on Popular page
  • [ #2345 PR: #3002 ] Add slack notification
  • [ #607 ] Display episode embedded tracks/subs

[APP SUBMITTED]: 17:43:23 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'Misfit Garage' ({'country': None, 'year': 2014}) None

INFO

Python Version: 2.7.6 (default, Jun 22 2015, 18:00:18) [GCC 4.8.2]
Operating System: Linux-3.19.0-56-generic-i686-with-Ubuntu-14.04-trusty
Locale: UTF-8
Branch: develop
Commit: 89a4599
No Log available with ERRORS:

ERROR

17:43:23 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'Misfit Garage' ({'country': None, 'year': 2014})
None

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

[APP SUBMITTED]: 17:43:33 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'** 403: Series Not Permitted **' ({'country': None, 'year': 2016}) None

INFO

Python Version: 2.7.6 (default, Jun 22 2015, 18:00:18) [GCC 4.8.2]
Operating System: Linux-3.19.0-56-generic-i686-with-Ubuntu-14.04-trusty
Locale: UTF-8
Branch: develop
Commit: 89a4599
No Log available with ERRORS:

ERROR

17:43:33 ERROR::FINDSUBTITLES :: [89a4599] No show id found for u'** 403: Series Not Permitted **' ({'country': None, 'year': 2016})
None

STAFF NOTIFIED: @pymedusa/support @pymedusa/moderators

Improve multiple indexer support

Just a list of items that should probably be fixed / enhanced before the addition of multiple indexers:

Database fields:

  • There really needs to be some consolidation and standardization of how we refer to the show and episode indexes and ids. Having references to indexerid, indexer_id and indexer can be confusing. Not really a high priority however, may cause more grief than anything if there are many references around.

Scene exceptions:

  • Scene exceptions are currently loaded into the database and are indexed purely by an indexer id. Ideally we should we should really store this against indexer number + indexer id

Show 'indexerids':

  • There needs to be adjustment to code to handle the fact that two indexers may have the same 'indexerid' for two different shows. Eg both Tvmaze and Anidb start their show ids at 1 and increment onwards. Currently the only way I see this working is removing all reference to indexerid in a fair chunk of all gui / backend code that we perform and replacing it with the unique database index

Duplicate show detection:

  • There may be duplicate shows added over two or more indexers. Eg adding family guy on Tvdb and Tvmaze. Whether we completely block this ever happening or add code to deal with this needs to be sorted.

List originally created by @adam111316

[APP SUBMITTED]: Thread-15 :: git version returned : 'git' is not recognized as an internal or external command, operable program or batch file.

INFO

Python Version: 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)]
Operating System: Windows-XP-5.1.2600-SP3
Locale: cp1252
Branch: ****
Commit: PyMedusa/SickRage@
No Log available with ERRORS:

ERROR

Thread-15 :: git version returned : 'git' is not recognized as an internal or external command,
operable program or batch file.

STAFF NOTIFIED: @SickRage/support @SickRage/moderators

[ BUG ] Control-clicking manual snatch icon does not open in new tab.

Before submitting your issue:

Enable debug logging in SickRage settings, reproduce the error (be sure to disable after the bug is fixed)

Branch/Commit: Develop/776c6fe6eba66d6368618f09511d681db13e4858
OS: Win 10 and Chrome Browser
What you did: Ctrl-click on manual snatch icon
What happened: Page redirects to manual-snatch page
What you expected: New tab to open with manual-snatch page
Logs: not applicable

[APP SUBMITTED]: Thread-15 :: [9077ab6] Missing time zone for network: Viceland

INFO

Python Version: 2.7.11 (v2.7.11:6d1b6a68f775, Dec 5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)]
Operating System: Windows-10-10.0.10240
Locale: cp1252
Branch: c-is-for-cookie
Commit: 9077ab6
No Log available with ERRORS:

ERROR

Thread-15 :: [9077ab6] Missing time zone for network: Viceland

STAFF NOTIFIED: @SickRage/support @SickRage/moderators

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.