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)
An API wrapper for Discord written in Python.

disnake A modern, easy to use, feature-rich, and async ready API wrapper for Discord written in Python. About disnake All the contributors and develop

557 Jan 05, 2023
HTTP Calls to Amazon Web Services Rest API for IoT Core Shadow Actions 💻🌐💡

aws-iot-shadow-rest-api HTTP Calls to Amazon Web Services Rest API for IoT Core Shadow Actions 💻 🌐 💡 This simple script implements the following aw

AIIIXIII 3 Jun 06, 2022
Telegram to TamTam stickers

Telegram to TamTam stickers @tg_stickers TamTam бот, который конвертирует Telegram стикеры в формат TamTam и помогает загрузить их в TamTam. Все делае

Ivan Buymov 22 Nov 01, 2022
Project for QVault Hackathon which plays sounds based on the letters of a user's name

virtual_instrument Project for QVault Hackathon which plays sounds based on the letters of a user's name I created a virtual instrument using Python a

Paolo Sidera 2 Feb 11, 2022
Telegram Bot to learn English by words and more.. ( in Arabic )

Get the mp3 files Extract the mp3.rar on the same file that bot.py on install requirements pip install -r requirements.txt #Then enter you bot token

Plugin 10 Feb 19, 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
The best discord Nuk3r !

Discord - Nuker ☢️ Nuk3r ☢️ STEP 1 ✅ We go create discord bot ! [] Go on https://discord.com/developers/applications [] Set the name of your applica

2s.py 1 Apr 16, 2022
Free & open source API service for obtaining information about +9600 universities worldwide.

Free & open source API service for obtaining information about +9600 universities worldwide.

Yagiz Degirmenci 57 Nov 04, 2022
A website application running in Google app engine, deliver rss news to your kindle. generate mobi using python, multilanguages supported.

Readme of english version refers to Readme_EN.md 简介 这是一个运行在Google App Engine(GAE)上的Kindle个人推送服务应用,生成排版精美的杂志模式mobi/epub格式自动每天推送至您的Kindle或其他邮箱。 此应用目前的主要

2.6k Jan 06, 2023
News API consisting various sources from Tanzania

Tanzania News API News API consisting various sources from Tanzania. Fork the project Clone the project git clone https://github.com/username/news-a

Innocent Zenda 6 Oct 06, 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
Python client for CoinPayments API

pyCoinPayments - Python API client for CoinPayments Updates This library has now been converted to work with python3 This is an unofficial client for

James 27 Sep 21, 2022
Celestial - a Python regex Discord chatbot who can talk with you.

Celestial a Python regex Discord chat bot who can talk with you. Invite url: https://discord.com/api/oauth2/authorize?client_id=927573556961869825&per

Jirayu Kaewsing 3 Jan 01, 2023
Download nitro generator that generates free nitro code that you can use for Discord

Download nitro generator that generates free nitro code that you can use for Discord, run it and wait for free nitro to come

Umut Bayraktar 154 Jan 05, 2023
PyFIR - Python implementations of Finite Impulse Response (FIR) filters

pyFIR Python implementations of Finite Impulse Response (FIR) filters. The algorithms are mainly (but not strictly) the ones described in WEFERS, Fran

Davi Carvalho 4 Feb 12, 2022
Fast IP address lookup

ipscoop Fast IP Scoop Table of Contents Installation CLI Getting Started Ref Installation To install ipscoop, simply: $ python3 -m pip install -U git+

6 Mar 16, 2022
Discord.py Bot Series With Python

Discord.py Bot Series YouTube Playlist: https://www.youtube.com/playlist?list=PL9nZZVP3OGOAx2S75YdBkrIbVpiSL5oc5 Installation pip install -r requireme

Step 1 Dec 17, 2021
This is a very simple botnet with a CnC server, made by me. Feel free to change anything

This is a very simple botnet with a CnC server, made by me. Feel free to change anything

8 Nov 12, 2022
This repository contains modules that extend / modify parts of Odoo ERP

Odoo Custom Addons This repository contains addons that extend / modify parts of Odoo ERP. Addons list account_cancel_permission Only shows the button

Daniel Luque 3 Dec 28, 2022
Nflmetrics - Johns Hopkins Spring 2022 Sports Analytics research project about NFL Draft Metrics

nflmetrics GitHub repo for Johns Hopkins Spring 2022 Sports Analytics research p

Anish Kulkarni 4 Feb 24, 2022