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)
A Discord bot that controls Pico-8.

Pico-8 Discord Bot Synopsis: A Discord bot that controls Pico-8. Please let me know if you make any games with this tool! I will simplify the discord.

Camden 1 Jan 28, 2022
A Python Script to automate searching of available vaccination centers in the city and hence booking

Cowin Vaccine Availability Notifier Cowin Vaccine Availability Notifier takes your City or PIN code as an input and automatically notifies you via ema

Jayesh Padhiar 7 Sep 05, 2021
Bot made by BLACKSTORM[BM] Contact Us - t.me/BLACKSTORM18

ᴡʜᴀᴛ ɪs ᴊᴀʀᴠɪs sᴇᴄᴜʀɪᴛʏ ʙᴏᴛ ᴊᴀʀᴠɪs ʙᴏᴛ ɪs ᴛᴇʟᴇɢʀᴀᴍ ɢʀᴏᴜᴘ ᴍᴀɴᴀɢᴇʀ ʙᴏᴛ ᴡɪᴛʜ ᴍᴀɴʏ ғᴇᴀᴛᴜʀᴇs. ᴛʜɪs ʙᴏᴛ ʜᴇʟᴘs ʏᴏᴜ ᴛᴏ ᴍᴀɴᴀɢᴇ ʏᴏᴜʀ ɢʀᴏᴜᴘs ᴇᴀsɪʟʏ. ᴏʀɪɢɪɴᴀʟʟʏ ᴀ

1 Dec 11, 2021
A Python interface between Earth Engine and xarray for processing weather and climate data

wxee What is wxee? wxee was built to make processing gridded, mesoscale time series weather and climate data quick and easy by integrating the data ca

Aaron Zuspan 160 Dec 31, 2022
Python Markov Chain chatbot running on Telegram

Hanasubot Hanasubot (Japanese 話すボット, talking bot) is a Python chatbot running on Telegram. The bot is based on Markov Chains so it can learn your word

12 Dec 27, 2022
Find the best repos to contribute to, right from Discord!

repo-finder-bot Find the best repos to contribute to, right from Discord! Add to your server FAQs Hmm. What's this? This is the Repo Finder Bot, a bot

Skyascii 61 Dec 25, 2022
A project that automatically sends you a Medium article on a topic of your choosing to your email address daily.

Daily Article from Medium ✏️ About A project that automatically sends you a Medium article on a topic of your choosing to your email address daily. No

Orhan Emre Dikicigil 2 Apr 27, 2022
A Powerfull Userbot Telegram PandaX_Userbot, Vc Music Userbot + Bot Manager based Telethon

Support ☑ CREDITS THANKS YOU VERRY MUCH FOR ALL Telethon Pyrogram TeamUltroid TeamUserge CatUserbot pytgcalls Dan Lainnya

22 Dec 25, 2022
Opensea-upload-with-recaptcha-solution - Updated opensea uploading solution with recaptcha pass

opensea-upload-with-recaptcha-solution updated opensea uploading solution with r

byeonggeon sim 25 Nov 15, 2022
LOL-banner - A discord bot that bans anybody playing league of legends

LOL-banner A discord bot that bans anybody playing league of legends This bot ha

bsd_witch 46 Dec 17, 2022
Telegram Group Calls Streaming bot with some useful features, written in Python with Pyrogram and Py-Tgcalls. Supporting platforms like Youtube, Spotify, Resso, AppleMusic, Soundcloud and M3u8 Links.

Yukki Music Bot Yukki Music Bot is a Powerful Telegram Music+Video Bot written in Python using Pyrogram and Py-Tgcalls by which you can stream songs,

Team Yukki 996 Dec 28, 2022
Scheduled Block Checker for Cardano Stakepool Operators

ScheduledBlocks Scheduled Block Checker for Cardano Stakepool Operators Lightweight and Portable Scheduled Blocks Checker for Current Epoch. No cardan

SNAKE (Cardano Stakepool) 4 Oct 18, 2022
A multi-platform HTTP(S) Reverse Shell Server and Client in Python 3

Phantom - A multi-platform HTTP(S) Reverse Shell Server and Client Phantom is a multi-platform HTTP(S) Reverse Shell server and client in Python 3. Bi

85 Nov 18, 2022
discord bot made in discord.py

udeline discord bot made in discord.py, which's main features include: general use server moderation fun commands other cool commands dependencies dis

1 Feb 08, 2022
EC2 that automatically move files received through FTP to S3

ftp-ec2-s3-cf EC2 that automatically move files received through FTP to S3 Installation CloudFormation template Deploy now! Usage IP / domain name: ta

Javier Santana 1 Jun 19, 2021
NewpaperNews-API - Json data of the news with python

NewsAPI API Documentation BASE_URL = "https://saurav.tech/NewsAPI/" top_headline

Aryaman Prakash 2 Sep 23, 2022
Quack-SMS-BOMBER - Quack Toolkit By IkigaiHack

Quack Toolkit By IkigaiHack About Quack Toolkit Quack Toolkit is a set of tools

Marcel 2 Aug 19, 2022
Ubuntu env build; Nginx build; DB build;

Deploy 介绍 Deploy related scripts bitnami Dependencies Ubuntu openssl envsubst docker v18.06.3 docker-compose init base env upload https://gitlab-runn

Colin(liuji) 10 Dec 01, 2021
TheTimeMachine - Weaponizing WaybackUrls for Recon, BugBounties , OSINT, Sensitive Endpoints and what not

The Time Machine - Weaponizing WaybackUrls for Recon, BugBounties , OSINT, Sensi

Anmol K Sachan 112 Dec 29, 2022
Python script to harvest tweets with the Twitter API V2 Academic Research Product Track

Tweet harvester Python script to scrape, collect, and/or harvest tweets with the Twitter API V2 Academic Research Product Track. Important note: In or

Thomas Frissen 2 Nov 11, 2021