Move local/network setting datetime convert into it's own function.
Function parse_date_time() now returns when possible a correct timezone aware datetime.
Change webapi to use new converter.
Fix Daily Searcher.
Fix saving old DateTime setting.
Add safety check if network_dict is already loaded.
Fix white screen of death when trying to add a show that is already in library by replacing "Add Show" button with "In library".
Add show sorting options.
Add handler for when Trakt returns no results.
Fix image links when anchor child images are not found at Trakt.
Add image to be used when Trakt posters are void.
Add send2trash, a small package that sends files to the Trash (or Recycle Bin) natively and on all platforms. If send2trash is found not compatible, the user can use the default delete and manually delete failed send2trash files.
Add General Config/Misc/Send to trash for actions that involve removing shows and log rotation.
Add handling for the exception raised while deleting a show and show folder no longer exists.
Change to rename General Configuration -> "Web Interface" tab as "Interface".
Add a "User Interface" section to the "Interface" tab.
Change consolidate "Date and Time" and "Theme" tab content to "User Interface" section.
Add field in Advanced setting for a custom remote name used to populate branch versions.
Change theme name "original" to "light".
Improve text wording on all UI options under General Configuration.
Improve reduce over use of capitals.
Improve streamline UI layout, mark-up and some CSS styling of all General Configuration tabs.
Fix default top navbar background white-out behaviour on browsers that don't support gradients.
Improve top navbar gradient use for greater cross browser compatibility (e.g. Safari).
Fix dark theme divider between Season numbers on display show page.
Fix main background and border colour of logs on log page.
Fix imdb and three other images rejected by IExplorer because they were corrupt. Turns out that they were .ico files renamed to either .gif or .png instead of being properly converted.
Fix "Subtitle Language" drop down font colour when entering text on the Subtitles Search settings.
Clean up text, correct quotations, use spaces for code lines, tabs for html.
Update changelog.
The main core of this code was lifted from Trakt code and not developed enough to be suitable for purpose given that the Trakt code isn't fully developed either. An issue found leading to this decision was that show statuses were set false instead of the expected default, however, worse was that users had no way of choosing shows to add, was not informed of what was actually going on once a URL was added to the UI, and was not offered options prior to adding shows like the normal add new show work-flow does. Basically, there are too many issues and this feature is too immature for inclusion.
Used regex checks with javascript popup, for checking if valid imdb csv watchlist.
Added test/test_tvdb_api.py for testing the tvdb api for retrieving shows by IMDB id.
TODO: Help for assisting users in getting the correct IMDB url.
maybe, make interval configurable
First changes for imdb watchlist checker
Thrown the couch code overboard and created my own version of an imdb watchlist scraper
Added IMDB thread and test values with an IMDB csv url. These values should be replaced by front end UI settings.
- Removed some tracelogs when unable to download watchlist
- Added settings for enabling and setting of the watchlist csv url
TODO:
- create UI for setting from frontend
- Implement frontend and backend checks for validating the csv url
Default interval is 1 hour.
Searched for other occurrences for the search_queue.FailedQueueItem() call.
Changed segment to [segment]
The failedDownloadQueueItem always expects a single epObj in the segment. But when checking multiple episodes as "Failed" in displayShow, an array is provided. I've changed the queueItem to always iterate over it as an array. And i've made sure that when retry a single episode, it's also send to the queueItem as an array (with a single element).
I've had to adapt the queuing functionality in webserve for this.
Added queued.png image.. for manual searching
Fixed issue where consecutive manual searches where not queued properly
Added first backend processing for retrieving all queued searches. This should fix the frondend blocking when doing manual searches for episodes, because the backend is free sooner. It now only queues the search.
Created a returning ajax call for getting a list of all searches in queue en running on the displayShow page.
For the getManualSearchStatus() function, only use curItem from the ManualSearchQueueItem or FailedQueueItem threads.
Conflicts:
sickbeard/search_queue.py
Added gui for selecting categories from multiselect box.
Created some helper function in js, for dynamically modifying selects/options
Made results of function for retrieving newznab capabilities more generic. In that now always a valid json is returned with success,tv_categories,error
Added gui elements for retrieving and displaying newznab capabilities
Added backend functions for calling ajax /getNewznabCategories?name=yourNewznabProvider&url=https://newznabprovURL&key=YourApiKey
Returns json.dumps() with TV category capabilities of newznab provider. Is going to be used for new gui element in adding newsnab provider.
Added full delete feature to mass update, removes show from SR and deletes show folder from hard drive. Remove will just delete show from SR without deleting files from hard drive
Fixed XML errors for TVRage indexer api
Added new show option, delete now removes show from showlist and deletes from hard drive, remove will just remove show from showlist but leave files on hard drive untouched
scene_exceptions.py: scene exceptions were not saved. the exceptionCache variable used to cache the scene exceptions. The list with exceptions is updated in db, but when reopening your series edit page, the scene exception list is retrieved from the cache instead the db. I've created a small patch that updates the cache after updating the scene exceptions in db.
show_name_helpers.py: After each manual search the showName was added to the scene exceptions list. This was only added to the cache, but was anoying because up until a restart the list with scene exception names kept growing. Fixed this by refering to the function by value instead of by reference.
This adds a priority option that allows the user to specify the
priority to be used for daily/recent snatches instead of the default
high value ‘100’.
This also includes the use of priority ‘force’ which will let nzbget
download the task even if the queue is paused.
Git updates are now forced to overwrite locale changes to avoid needing to manually stash uncommited changes before being able to proceed with a update.
Fixed indexer mapping when unable to locate show on indexer that we are trying to map to.
Provider getURL and downloadResult functions now removed and replaced with ones from helpers.py to help slim the code down plus allow more better control over request sessions.
Removed TVTumbler code.
Fixed HDBits provider.
Fixed config settings that were ment to be booleans but instead where set as str or int, should help resolve random html errors.
XEM Refresh check re-coded.
NameParser code for creating show object has been changed to only attempt at the very end once its found the bestMatch result, helps on resources and performance.
Indexer mapping now uses indexer api calls to gather its information and then stores it to a new table called indexer_mapping for instant lookups later on.
Fixed trakt related issues for adding new shows and syncing.
Centered items at bottom of pages to just look a little nicer and fit properly.
Fixed charmap issues for anime show names.
Fixed issues with display show page and epCat key errors.
Fixed duplicate log messages for clearing provider caches.
Fixed issues with email notifier ep names not properly being encoded to UTF-8.
TVDB<->TVRAGE Indexer ID mapping is now performed on demand to be used when needed such as newznab providers can be searched with tvrage_id's and some will return tvrage_id's that later can be used to create show objects from for faster and more accurate name parsing, mapping is done via Trakt API calls.
Added stop event signals to schedualed tasks, SR now waits indefinate till task has been fully stopped before completing a restart or shutdown event.
NameParserCache is now persistent and stores 200 parsed results at any given time for quicker lookups and better performance, this helps maintain results between updates or shutdown/startup events.
Black and White lists for anime now only get used for anime shows as intended, performance gain for non-anime shows that dont need to load these lists.
Internal name cache now builds it self on demand when needed per show request plus checks if show is already in cache and if true exits routine to save time.
Schedualer and QueueItems classes are now a sub-class of threading.Thread and a stop threading event signal has been added to each.
If I forgot to list something it doesn't mean its not fixed so please test and report back if anything is wrong or has been corrected by this new release.
Fix for mass update edits of shows, bwlist no longer gets updated during this process as its not required. You can not change your root dir even if location does not exist so long as you have create_missing_show_dirs=1 in your config set so that there be auto-created during the next post-processing of a episode.
Syncs show library with trakt.tv show library on startup.
Adds/Removes shows individually to/from trakt.tv library.
Added use_recommended feature to trakt.tv notifier config page.
Move start time check from properFinder and showUpdater into scheduler.
Add show how long to next propers search at end of each run.
Change proper finder and show updater to silent thread logging.
Change Scheduler runImmediately to run_delay.
from oldskool:nfo_orig
credit to oldskool
Fixing issue 2404: Option to NOT rename .nfo to .nfo-orig
Conflicts:
data/interfaces/default/config_postProcessing.tmpl
sickbeard/__init__.py
sickbeard/postProcessor.py
sickbeard/webserve.py