Automatic Video Library Manager for TV Shows

Overview

image

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.

Dependencies

  • To run SiCKRAGE from source you will need Python 3.5+
  • To install requirements run 'pip install -r requirements.txt' from install folder

Features

  • Kodi/XBMC library updates, poster/banner/fanart downloads, and NFO/TBN generation
  • Configurable automatic episode renaming, sorting, and other processing
  • Easily see what episodes you're missing, are airing soon, and more
  • Automatic torrent/nzb searching, downloading, and processing at the qualities you want
  • Largest list of supported torrent and nzb providers, both public and private
  • Can notify Kodi, XBMC, Growl, Trakt, Twitter, and more when new episodes are available
  • Searches TheTVDB.com and AniDB.net for shows, seasons, episodes, and metadata
  • Episode status management allows for mass failing seasons/episodes to force retrying
  • DVD Order numbering for returning the results in DVD order instead of Air-By-Date order
  • Allows you to choose which series provider to have SiCKRAGE search its show info from when importing
  • Automatic XEM Scene Numbering/Naming for seasons/episodes
  • Available for any platform, uses a simple HTTP interface
  • Specials and multi-episode torrent/nzb support
  • Automatic subtitles matching and downloading
  • Improved failed download handling
  • DupeKey/DupeScore for NZBGet 12+
  • Real SSL certificate validation
  • Supports Anime shows

Screenshots

Links

Important

Before using this with your existing database sickrage.db please make a backup copy of it and delete any other database files such as cache.db and failed.db if present, We HIGHLY recommend starting out with no database files at all to make this a fresh start but the choice is at your own risk

Comments
  • Saving downloaded subtitles with utf-8 encoding

    Saving downloaded subtitles with utf-8 encoding

    While saving subtitles there was not specified encoding. As a result saved subtitles with specials characters (e.g. polish signs: ąężźćńół) were not correctly encoded.

    opened by mbiernacik 64
  • Check available episode

    Check available episode

    This function check for episode on torrent/nzb and set status on available if found. Tested only with torrent. For color code of new episode no preference, if you want to change it its ok.

    • [x] if not curShow.paused chenge check
    • [x] move log inside markAvailable procedure
    Do Not Merge Feature 
    opened by gborri 54
  • Add API methods to check for update and perform update

    Add API methods to check for update and perform update

    I added the two following methods to SickRage's API:

    • sb.checkversion:
      • Get information about the current version
      • Get information about the latest version
      • Check if an update is required
      • Get the number of commits between the current version and the latest version
    • sb.update: update SickRage if necessary

    Usage

    sb.checkversion

    Request:

    GET /?cmd=sb.checkversion
    

    Response:

    {
        "data": {
            "commits_offset": 0, 
            "current_version": {
                "branch": "develop", 
                "commit": "ddc0fca21d9030612a5c810ecc24463a7f64112b", 
                "version": "v4.0.24"
            }, 
            "latest_version": {
                "branch": "develop", 
                "commit": "3565ec70dc924d8117f506983fc18a9351f487e4", 
                "version": "v4.0.24"
            }, 
            "needs_update": false
        }, 
        "message": "", 
        "result": "success"
    }
    

    sb.update

    Request:

    GET /?cmd=sb.update
    

    Response:

    // If no update is necessary
    {
        "data": {}, 
        "message": "SickRage is already up to date", 
        "result": "failure"
    }
    
    // If the config could not be backed up
    {
        "data": {}, 
        "message": "SickRage could not backup config ...", 
        "result": "failure"
    }
    
    // If an update was started
    {
        "data": {}, 
        "message": "SickRage is updating ...", 
        "result": "success"
    }
    

    I'm not an expert in Python, but I think that my changes in sickbeard/versionChecker.py can be improved.

    Reference issue: SiCKRAGETV/sickrage-issues#1780

    Do Not Merge Feature Needs testing 
    opened by MGaetan89 47
  • Start converting templates for Mako, and replacement of Cheetah

    Start converting templates for Mako, and replacement of Cheetah

    PR's helping me do this conversion are most welcome. The changes in https://github.com/SiCKRAGETV/SickRage/commit/08ea0ec030c64b2a479604747e4f7016c14d7a57 are a good example of a starting point, although it is not complete and bugs will need worked out once everything is changed over.

    This will stay in this branch until complete and production ready.

    Do Not Merge Feature 
    opened by miigotu 46
  • Fix for SiCKRAGETV/sickrage-issues#2578: Add a

    Fix for SiCKRAGETV/sickrage-issues#2578: Add a "Size" column on shows list

    It needs to be tested for potential performance issue before being included in develop/master. I only have 2 shows with files in my dev environment, so I am not sure about the result.

    Feature Needs testing 
    opened by MGaetan89 41
  • Add new safe check to backup/update

    Add new safe check to backup/update

    Check if show are updating and/or SR is searching for episode before auto-update or manual update runs. Previous checks were only if PP were running and showsupdating (this PR fixes the forced-update check_

    Bugfix 
    opened by fernandog 37
  • Move

    Move "Coming episodes" logic into a dedicated class

    I am still working on this PR. But as I found a couple of differences between the API and the web UI, I decided to open this PR to track the changes and see which version is the best and validate the choices.

    • Qualities definition:
      • API (source): qualList = Quality.DOWNLOADED + Quality.SNATCHED + [ARCHIVED, IGNORED]
      • Web UI (source): qualList = Quality.DOWNLOADED + Quality.SNATCHED + [ARCHIVED, IGNORED]
      • Solution: @miigotu confirmed that Quality.ARCHIVED should be used (https://github.com/SiCKRAGETV/sickrage-issues/issues/2567#issuecomment-138367874)
    • Sorting methods:
      • API (source): only sort by the required field
      • Web UI (source): sort by the required field and then by time
      • Solution: I chose the web UI option. However the date sort might need to use airdate rather than localtime. What do you think?
    • Date time format:
      • API: %Y-%m-%d %H:%M (for future and show commands)
      • Web UI: %Y-%m-%d %H:%M:%S
      • Solution: Use the Web UI format (%Y-%m-%d %H:%M:%S) everywhere (https://github.com/SiCKRAGETV/SickRage/pull/2438#issuecomment-139912848)

    The rest of the logic looks similar, except in the SQL queries. The API only select what is needed (at least it looks like it does), while the web UI selects everything. I will try to improve that to select only what we need.

    https://github.com/SiCKRAGETV/sickrage-issues/issues/2567

    Refactor 
    opened by MGaetan89 37
  • Sync wathclist

    Sync wathclist

    This pull request is intended to take in sync sickrage with wathclist. It adds Show to watch list when added to sickrage and remove from watchlist when deleted. It add Episode to watchlist when the episode is set to wanted or snetched on sickrage and will be removed from watchlist when the episode will be downloaded.

    Feature Approved Tested 
    opened by gborri 34
  • Add RSS mode for HDTorrents

    Add RSS mode for HDTorrents

    For now it works with an empty search string In the future real RSS must be used

    @miigotu There's still a bug - that I thought I had fixed - about HDT only scrapping the first torrent in the table of torrents. the 'torrents' variable contains only one torrent.

    @duramato

    Feature In Progress 
    opened by fernandog 29
  • Add support for parsing TVRage specials

    Add support for parsing TVRage specials

    https://github.com/SiCKRAGETV/sickrage-issues/issues/292

    I've added support for parsing specials from the TVRage API. There are a few limitations due to the results returned from TVRage:

    • Each episode listed has a season listed corresponding to the season during which the special was released
    • There are no episode numbers associated with each episode

    Right now I use the season information to put the special in the correct season, but I must come up with the episode number myself. I simply keep a counter for each season and increment it (starting from 1) every time a special is seen, and use that as the episode number. This is dependent upon the order in which TVRage supplies us the episodes, but I believe this is what they do themselves as I get the same results, which is independent of air date. Because I use the season information, and I don't want to overwrite any episodes, I use 'S<special_num>' as the episode number. This isn't very desirable and I'd love to hear alternative ways to get around this, especially if there is some reason this must be an integer. I don't think stuffing all the episodes into Season 0 (i.e. Specials) is the way to go considering TVRage gives us season information, but I'm not picky on this point.

    I've tested this on Top Gear, and get results agreeing with TVRage.

    • [x] Pull metadata from TVRage
    • [ ] Modify search behaviour for each provider to ignore episode number and search by name
    Do Not Merge Feature 
    opened by drglove 29
  • Fix SiCKRAGETV/sickrage-issues/issues/3347

    Fix SiCKRAGETV/sickrage-issues/issues/3347

    HD-Torrents has some invalid html on the page with search results. Using the default html parser wasn't returning the correct data. Substituted it with html5 parser to fix the problem.

    P.S. I've also created another PR with a different fix to that issue. Not sure which one would you prefere.

    Ready to merge 
    opened by ncksol 27
Releases(v4.0.22)
The Fasted Proxyless Multi-Threaded Discord Call Crasher

Discord-Call-Crasher The Fasted Proxyless Multi-Threaded Discord Call Crasher (Created By Jonah) Requirements / Setting up There will be a few things

8ua 10 Jun 17, 2022
Trading through Binance's API using Python & sqlite

pycrypt Automate trading crypto using Python to pull data from Binance's API and analyse trends. May or may not consistently lose money but oh well it

Maxim 4 Sep 02, 2022
Attempting to create a framework for Discord Slash commands... yes

discord_slash.py Attempting to create a framework for Discord Slash commands... yes Installation pip install slashpy Documentation Coming soon™ Why is

AlexFlipnote 11 Mar 24, 2021
Infinity: a Twitter retweet bot that can be used by anyone

INSTAMATE Requires Firefox Instapy Python3 How To Use? Fork the repository Add your credentials in the bot.py file Save commits Clone your fork cd int

unofficialdxnny 3 Jun 23, 2022
szrose is an all in one group management bot made for managing your group effectively with some advance security tools & Suit For All Your Needs ❤️

szrose is an all in one group management bot made for managing your group effectively with some advance security tools & Suit For All Your Needs ❤️

szsupunma 93 Jan 07, 2023
This is a Innexia Group Manager Bot with many features

⚡ Innexia ⚡ A Powerful, Smart And Simple Group Manager ... Written with AioGram , Pyrogram and Telethon... Available on Telegram as @Innexia ❤️ Suppor

TeamDeeCode 84 Jun 04, 2022
A template that help you getting started with Pycord.

A Pycord Template with some example! Getting Started: Clone this repository using git clone https://github.com/AungS8430/pycord-template.git If you ha

2 Feb 10, 2022
toldium is a modular, fast, reliable and customizable multiplatform bot library for your communities

toldium The easy multiplatform bot toldium is a modular, fast, reliable and customizable multiplatform bot library for your communities, from a commun

Stockdroid Fans 5 Nov 03, 2021
A very tiny python api for the stock exchange tradegate.de

pytradegate A very tiny python api for the stock exchange tradegate.de The api provides the recent ask/bid data and all other data as found on the det

dunderstr aka seimen 7 Aug 24, 2022
This is a simple bot that can be used to upload images to a third-party cloud (image hosting). Currently, only the imgbb.com website supports the bot. I Will do future updates

TGImageHosting This is a simple bot that can be used to upload images to a third party cloud (image hosting). Currently, only the imgbb.com website su

Abhijith N T 0 Dec 26, 2021
A project in order to analyze user's favorite musics, artists and genre

Spotify-Wrapped This is a project about Spotify Wrapped (which is an extra option for premium accounts, but you don't need to be premium here) This pr

Hossein Mohseni 19 Jan 04, 2023
A tiktok autoclaimer/sniper used to get og/rare usernames on tiktok.com

TikTok Autoclaimer A tiktok autoclaimer/sniper used to get og/rare usernames on tiktok.com Report Bug · Request Feature Features Asynchronous User fri

dropout 24 Dec 08, 2022
Scrapping malaysianpaygap & Extracting data from the Instagram posts

Scrapping malaysianpaygap & Extracting data from the posts Recently @malaysianpaygap has gotten quite famous as a platform that enables workers throug

Yudhiesh Ravindranath 65 Nov 09, 2022
a script to bulk check usernames on multiple site. includes proxy & threading support.

linked-bulk-checker bulk checks username availability on multiple sites info people have been selling these so i just made one to release dm my discor

krul 9 Sep 20, 2021
This Discord bot is to give timely notifications to Students in the Lakehead CS 2021 Guild

Discord-Bot Goal of Project The purpose of this Discord bot is to give timely notifications to Students in the Lakehead CS 2021 Guild. How can I contr

8 Jan 30, 2022
Unencrypted Story View Botter is a helpful tool that allows thousands of people to watch your posts.

Unencrypted Story View Botter is a helpful tool that allows thousands of people to watch your posts.

8 Aug 05, 2022
A Wide AOI tool for discord.

drkdiscord - drk#1337 A Wide AOI tool for discord. Installation To Install you have to have python 3.x and pip installed on your system. If you have t

Darkest Surface 6 Dec 17, 2022
A Telegram bot to download youtube playlists and upload them to telegram. (may be slow becoz youtube limitations)

YTPlaylistDL 📛 A Telegram bot to download youtube playlists and upload them to telegram. (may be slow becoz youtube limitations) 🎯 Follow me and sta

Anjana Madu 43 Dec 28, 2022
Scanner and Checker for Binance Scam Contracts

Money Printer by Warranty Voider well this isnt exactly a printer, but it helps you find and check new token startups. In the end its a nice scam cont

12 Nov 24, 2022
The wrapper you need for the osu!api v2

oppy (op.py) oppy is the wrapper for use on the osu! v2 API. Version 1.0.0 Installation To install please use pip to install oppy pip install op.py To

Wayde 2 May 01, 2022