You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refomatted CHANGELOG to over exceed 80 char line width
Changed logging levels for DB to DEBUG6 and DB listener to DEBUG7
Made geoblock if stmt look up partial match in list instead of exact, which makes it less susceptible to changes in
error message (which happens quite a lot)
Fixed issue with get_single_video being broken due to referencing the static PlaybackGridViewListener instead of the
instantiated one from MainModel (more listener rewrite bugs)
Fixed all issues with tile glitchyness (introduced by listener rewrite) both when showing and not showing videos that
are watched/discarded/downloaded. Videos will only be hidden/unhidden if the respective watched/discarded/downloaded
option is False, in the case of those options the video will skip hide/unhide calls and just do the redraw.
Fixed issue with downloaded videos not disappearing from Subfeed
Obliterated Issue #32 by always passing in a widget_id to hide/unhide functions (deprecates all the messy
"determine which view" code
Moved download and related listeners into PlaybackViewListener and made GridViewListener an inheritable
structure/model
Split GridViewListener into Subfeed and Playback listeners respectively
Created a Video.str override that prints "channel - title [url]" (allowed for changing all instances of
{} - {} [{}]".format(video.channel_title, video.title, video.url_video) to the more sensible "{}".format(video)
Moved listeners.py listeners into their own files
Moved DatabaseListener to new listener structure
Renamed DownloadHandler to DownloadViewListener and structured it
Removed redundant logging of 404 thumbnails that gets handled by caller
Fixed broken logic in GridView tile listeners (fixes issues #31 and #32)
Removed exception hook parsing deprecated by SaneExceptionHandler
Renamed strangely named 'purl' video file metadata tag to the established standard 'url'
Deleted deprecated test_file.py from eons past
Moved MainWindow stuff out of init and into functions; renamed and restructured all the Views, added some missing
pydoc here and there and fixed a lot of stuff in MainWindow in general
Merged pull request #30 from skandix/master (things found in .py files, that obviously need to be fixed)
Mapped global hotkey Ctrl+Z to undo action
SaneHistory can now undo prio, watched and discarded actions (created anti-functions for watch,
discard and decrease_watch_prio)
Implemented SaneHistory in QMainWindow and related
Fixed peculiarities in SaneHistory/SaneHistoryItem's str and log (also fixed bug where entries got removed
even if Exception was raised)
Renamed the old history system to plaintext_history (now legacy, should be removed at a later point)
Remade SaneGridViewHistory to SaneHistory, and made it a global history.
Created a SaneGridViewHistory(QObject) for better history control
Implemented sort-by channel title in Play View (with some FIXME caveats)
Added average download speed indicator and most common ETA speed indicator (default ticks = 50)
Removed nonsensical ability to pause a finished download (with no effect, backend)
Added a started/finished on field to Download View
Properly implemented duration field in Download view
Added support for deleting incomplete entries from DownloadView (context menu on the video/item tile)
Fixed bug where a successful geo block proxy download would be set as failed
Removed useless "pause/resume" context menu from finished downloads
Made Download view progress bar say "Postprocessing..." during mux (and optionally postprocessing) stage
Fixed issue with Total size only showing audio track size on finished download.
Added paused and failed status to ProgressBar Status field (WIP: failed not yet handled anywhere)
Made youtube_dl_handler detect and report failed downloads (WIP: Not yet handled anywhere)
Changed to a saner colour scheme (darker variety)
Made DownloadView and ProgressBar handle paused videos + misc small stuff
Recoded sane_try to take a func parameter and apply args and kwargs on it
Added option to display all exceptions in GUI dialogs (useful for testing/debug)
Made Sane able to display exceptions in GUI using the SaneTextViewDialog
Made MainWindow use the new SaneExceptionHandler and added necessary functions
Created a SaneExceptionHandler(QObject) and made the cli.py hook legacy.
Created an exceptions list that the sys_excepthook appends to so others can poll it for exceptions
Created an exception_pyqt_slot that wraps the pyqtSlot in order to handle backend Exceptions in frontend (very WIP)
Added a debug menu with some subitems that raises generic Exceptions
Fixed startup failures caused by missing {clients_secret,keys}.json by copying over public no no custom keys/secret
exists
Fixed CVE-2018-18074 by updating 'requests' dependency to >=2.20.0
Removed leftover PlayView ThumbnailTile debug.
Added a big red SD definition indicator at top left of video thumbs to make it easier to spot still-processing
(youtube's end) videos
Added cli option --print_subscriptions to print subscriptions (from DB) and quit.
Reclassified Database logging from DEBUG to DEBUG5 and DEBUG4 in order to make it easier to filter out DB logging
when it's not relevant (it's raaather spammy)
Added more logging levels (DEBUG2-5) and pydoc
Fixed false-positive bug in thumbnail matching for YouTube 404 image in cases the check shouldn't be run.
Make "Initializing UI" info logging a bit less vague by specifying who logged it
Added has_captions overlay to thumbnail tile (where applicable) and re-aligned duration position
Fixed headache-inducing bug where an if test for None also reacted to False
Added checks in write_operations for videos missing the newly implemented extra video info columns (helps with
backwards compatibility)
Added new video DB extra video info columns
Removed video response logging debug
Fixed bug in yt_duration_to_timedeltat() regex that failed matching durations with hours
Fixed broken bool input validation in boolify_string()
Fixed issue #26 by making MainWindow omit the 'Manual dir search' submenu if yt_file_path is unset in config.
Handle regionRestrictions not always existing in YouTube API contentDetails resource
Added extra video info properties (has_caption, dimension, definition, projection, region_restriction_allowed,
region_restriction_blocked) to Video object and Database
Fixed duration check accidentally setting has_captions property on videos and actually implement has_caption
Add forced garbage collection at end of refresh_videos() to combat "Too many open files" bug
Added logging of 'ulimit -a' on Linux to debug "Too many open files" bug
Removed debug log spam from on_any_event in dir_handler and add info logging to on_moved and on_created
Made (GridView) background color customisable (fixes issues for people with Qt as their system theme)
Fix Subscriptions view that was set to Downloads view (code typo-ish)
Swapped subprocess call(...) with Popen([..]) to fix custom img app on Linux
Added configurable friendly names for the various player options
Added 7 more optional configurable alternative/external players and listificated to all player strings
Added handling for external player arguments
Fix issue with proxied dl never triggering due to youtube_dl putting bash color codes in the Exception msg >_<
Added working pipenv Pipfile (and lock) to project as an alternative to virtualenv
Rephrased logger messages to be less vague
Set missing youtube_response keys to None instead of raising Exception
Fixed use of wrong kwarg and some message typos in logger calls
Added exception handling to most of models' Channel DB insertion
Made DB write_operations missing thumb/duration log message specify which video it occurred for
Made Thumbnail N/A log message specify which video it occurred for
Massive README.md overhaul
Bug fix: Subscriptions list API retrieval now handles strange cases where channels are missing title in backend.