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)
Sentiment Analysis web app using Streamlit - American Airlines Tweets

Analyse des sentiments à partir des Tweets L'application est développée par Streamlit L'analyse sentimentale est effectuée sur l'ensemble de données d

Abida Hassan 2 Feb 04, 2022
Project made to analyse movie trends

MovieTrends Project to analyse the daily movie trends from the website The Movie DataBase. The main idea is upload the results to a PostgreSQL server

Jazmín López Chacón 0 Feb 15, 2022
PR Changes Matrix Builder

Pr-changes-matrix-builder - A Github Action that will output a variable to be used in a matrix strategy job based on a PR&'s changes

Kyle James Walker (he/him) 21 Oct 04, 2022
⚡TIKTOK BOT - FAST OPTIMIZED ZEFOY SCRIPT

⚡ ZEFOY [ TikTok Zefoy Bot ] Get the script in: discord.gg/onlp !! Official shop: onlp.sellix.io Newest version v.9.0.0 Requirements pip install p

Tekky 186 Dec 31, 2022
Customizable and open-sourced bot for a few private servers

MarlBot A private bot for controlling monkeys and turtles. Why does this bot exist? The bot exists as a general-purpose community bot for a select few

KR 1 Jan 18, 2022
Semplice pagina di informazione per sapere se e quando è uscito Joypad, il podcast a tema videoludico di Matteo Bordone (Corri!), Francesco Fossetti (Salta!) e Alessandro Zampini (Spara! per finta).

È uscito Joypad? Semplice pagina di informazione per sapere se e quando è uscito Joypad, il podcast a tema videoludico di Matteo Bordone (Corri!), Fra

Paolo Donadeo 32 Jan 02, 2023
Minimal telegram voice chat music bot, in pyrogram.

VCBOT Fully working VC (user)Bot, based on py-tgcalls and py-tgcalls-wrapper with minimal features. Deploying To heroku: Local machine/VPS: git clone

Aditya 33 Nov 12, 2022
A simple, lightweight Discord bot running with only 512 MB memory on Heroku

Haruka This used to be a music bot, but people keep using it for NSFW content. Can't everyone be less horny? Bot commands See the built-in help comman

Haruka 4 Dec 26, 2022
QR-Code-Grabber - A python script that allows a person to create a qr code token grabber

Qr Code Grabber Description Un script python qui permet a une personne de creer

5 Jun 28, 2022
A telegram media to gofile bot

GoFile-Bot A telegram media to gofile bot Made with Python3 (C) @FayasNoushad Copyright permission under MIT License License - https://github.com/Fay

Fayas Noushad 37 Nov 14, 2022
Telegram 隨機色圖,支援每日自動爬取

Telegram 隨機色圖機器人 使用此原始碼的Bot 開放的隨機色圖機器人: @katonei_bot 已實現的功能 爬取每日R18排行榜 不夠色!再來一張 Tag 索引,指定Tag色圖 將爬取到的色圖轉為 WebP 格式儲存,節省空間 需要注意的事件 好久之前的怪東西,代碼質量不保證 請在使用A

cluckbird 15 Oct 18, 2021
A CLI tool to transfer, sync, and backup playlists on music streaming services

unitunes A command-line interface tool to manage playlists across music streaming services. Introduction unitunes manages playlists across streaming s

Victor Tao 50 Jan 07, 2023
Orca is an extensive and extendable Python 3.x library for the Discord API.

Orca is an extensive and extendable Python 3.x library for the Discord API.

RPS 4 Apr 03, 2022
Python SDK for LUSID by FINBOURNE, a bi-temporal investment management data platform with portfolio accounting capabilities.

LUSID® Python SDK This is the Python SDK for LUSID by FINBOURNE, a bi-temporal investment management data platform with portfolio accounting capabilit

FINBOURNE 6 Dec 24, 2022
An App to get Ko-Fi payment updates on Telegram.

Deployments. Heroku.com 🚀 Replit.com 🌀 Make sure your app runs 24*7 Zeet.co 💪 Use this :~ Get Bot token from @botfather 🤖 Get ID where you want to

Jainam Oswal 16 Nov 12, 2022
Rbx-mass-send - mass sends trades to item owners

mass sends trades to item owners proxies should be in ip:port format itemsToSend

0 Feb 20, 2022
A quick way to verify your Climate Hack.AI (2022) submission locally!

Climate Hack.AI (2022) Submission Validator This repository contains code that allows you to quickly validate your Climate Hack.AI (2022) submission l

Jeremy 3 Mar 03, 2022
Simple stock price analytics

mune · Mune is an open source python web application built to analyze stocks, named after Homma Munehisa. Currently, the forecasting component is powe

Richard Hong 14 Aug 30, 2021
Easy to use reaction role Discord bot written in Python.

Reaction Light - Discord Role Bot Light yet powerful reaction role bot coded in Python. Key Features Create multiple custom embedded messages with cus

eibex 109 Dec 20, 2022
This repository will (hopefully) always contain the latest version of the libProfessorP.asm.so shared object.

libPuhfessorP - Deploy Repo This repo should (hopefully) always contain the latest version of the libPuhfessorP.asm.so shared object, to be linked wit

Puhfessor P - CPSC 240 3 Sep 30, 2021