fixes#345
* fix return playlist if file not found and do not add to playlist not downloaded podcast
---------
Co-authored-by: sentriz <senan@senan.xyz>
* Move model into separate file
* Separate Last.FM client and scrobbler
* Use separate Last.FM client and scrobbler
* Fix playcount attribute name
* Add initial test for Last.FM client
* Access HTTP client via interface to allow for testing
* [Minor] Fix typo
* Add initial test cases for ListenBrainz scrobbler
* Fix linter error for insecure TLS in tests
* Use Testify for unit tests
* Move model into separate file
* Embed JSON responses into tests
* [Minor] Fix test function names
* Exclude paths based on new exclude pattern option
* Add test for excluded paths
* Add exclude pattern option to docs
* Set exclude regexp only if given argument is set
* Update scanner/scanner.go
---------
Co-authored-by: Senan Kelly <senan@senan.xyz>
fixes#106
* Added support to TranscodedContentType and TranscodedSuffix
* Make sure that we have a profile
* Fix linting
* Fixed use of NewTCTrackByFolder instead of NewTrackByTags in handlers_by_tags.go
simplify a bit
fixes#171fixes#31
* Initial code. Compiles and passes unit tests.
* Moved average rating calculation from rating fetch to set rating function. Still only compiled and unit tested.
* Bug fixes
* Fixed bug in savePlayQueue. Removed unique_index for star / rating entries because it's not valid.
* Changed time format on stars to RFC3339Nano to match created date format.
* Lint fixes.
* More lint fixes.
* Removed add* functions and replaced with Preload.
* Fixed several bugs in handlers for getStarred and getStarred2.
* Fixed bug when using music folder ID.
Co-authored-by: Brian Doherty <brian@hplaptop.dohertyfamily.me>
* First cut at fsnotify support. Tested on Linux.
* Fixed bug in logging.
* Fixed lint issues.
* Added new scan watcher option to README.md
* Inverted conditional and dedented following code as per PR discussion.
* Changed command line switch and error return on ExecuteWatch() as per GH comments.
* Scan watcher: Removed scan at first start. Modified watcher to set a 10 second timer and then process in bulk.
Co-authored-by: Brian Doherty <brian@hplaptop.dohertyfamily.me>
* Found a podcast that returns 403 without a UserAgent string so I added one. URL is https://feeds.buzzsprout.com/132359.rss
* Fixed lint issues including needed error checking.
* DSub swaps fromYear and toYear so swap them back in that case. TBD -- fix the same logic in ServeGetRandomSongs
and never use db.Where() with a struct
gorm was seeing a query like
db.Where(Album{Left: left, Right: right})
but if the `left` variable was empty, gorm couldn't differentiate it with an empty field in the struct
so it generated SQL that we weren't expected
like
SELECT * FROM albums WHERE right=?
instead of
SELECT * FROM albums WHERE left=? AND right=?
fixes#230