Commit Graph

74 Commits

Author SHA1 Message Date
Gregor Zurowski
85eeb860bf feat(ci): update golangci-lint and action (#325)
* Update linter

- Update Github golangci-lint-action to v3
- Update golangci-lint to v1.52.2

* Fix linter issues after updating to linter 1.52.2
2023-05-19 12:05:14 +00:00
Gregor Zurowski
1d3877668f feat(scanner): add a new option for excluding paths based on a regexp
* 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>
2023-05-06 17:03:11 +00:00
sentriz
906164a5de feat(scanner): support more cover types
like bmp gif, and also files like folder.1.jpg like beets can create sometimes
2023-03-10 17:10:14 +00:00
sentriz
e0a8c18b8d fix(scanner): remove redundant mod time look up
fixes #293
2023-02-19 17:36:28 +00:00
Dmitry Rubtsov
78d0c52d22 fix(scanner): fix watcher panic 2023-02-17 12:24:24 +00:00
sentriz
8dc58c71a4 fix(subsonic): send valid content-type with http.ServeStream 2022-12-27 23:10:20 +00:00
sentriz
986fcd2270 use a switch/case for get mime 2022-11-16 19:40:40 +00:00
sentriz
e4756aa560 reset scanList to empty map instead of nil 2022-10-12 18:14:47 +01:00
brian-doherty
ea28ff1df3 feat(scanner): add option to use fsnotify based scan watcher (#232)
* 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>
2022-10-08 15:47:35 +01:00
sentriz
fdbb28209b fix(scanner): fix records with album name same as artist
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
2022-09-09 13:09:06 +01:00
sentriz
d6d1fe26ba refactor(scanner): remove unused genreIDs arg 2022-05-19 00:46:17 +01:00
sentriz
8b803ecf20 refactor: move shared packages up a level 2022-04-13 01:10:46 +01:00
sentriz
f52ce807af upgrade sqlite3 2020-04-25 01:55:46 +01:00
sentriz
b95f98ffcf add "-full-scan" scan option to gonic scan
closes #20
2020-04-24 01:57:17 +01:00
sentriz
1ff5845a02 refactor server startup into jobs 2020-04-18 19:35:15 +01:00
sentriz
256143a025 move senan.xyz/g/ to go.senan.xyz 2020-04-02 16:46:04 +01:00
sentriz
22992c9941 fixup! run gofumpt / format comments / comment blocks 2020-03-20 02:48:51 +00:00
sentriz
03647176d4 clean up scanner cleanup 2020-03-14 16:41:28 +00:00
sentriz
3a8e5b9205 run gofumpt / format comments / comment blocks 2020-03-12 15:17:36 +00:00
sentriz
29e9abc1d4 scrobble with brainz trackid, not album id 2020-03-12 13:28:27 +00:00
Duncan Overbruck
ae31d4a893 scanner: add genre support 2020-03-03 13:40:23 +01:00
sentriz
b677af43f0 return more child counts and format sql 2020-02-21 00:00:43 +00:00
sentriz
a42edc3441 move models into db package 2020-02-19 20:08:37 +00:00
sentriz
bdee11dfb6 consider symlinks to directories when pushing to scan stack
https://github.com/karrick/godirwalk/pull/45
https://github.com/sentriz/gonic/issues/27
2020-01-28 23:54:55 +00:00
sentriz
1dbd7811e6 follow symlinks while scanning
closes #27
2020-01-27 18:13:33 +00:00
sentriz
4f93ea7895 reset tracking variables after start scan
forgot about this when i admin and subsonic handlers reuse the same
scanner struct
2019-11-28 17:19:04 +00:00
sentriz
d02ace460d flatten callbackPost logic 2019-07-31 15:11:51 +01:00
sentriz
03af38be37 don't freak out if there's a file without and extension 2019-07-31 15:11:51 +01:00
sentriz
bef842ff4b close transation if there's one open im handlefolder 2019-07-31 15:11:50 +01:00
sentriz
5444b328fd seperate routes, provide robust handler types, use mux 2019-07-31 15:11:46 +01:00
sentriz
5e088f32ca update scanner comments 2019-07-09 21:52:08 +01:00
sentriz
35a4f5b42c scan musicbrainz album id to db and scrobble with it 2019-07-08 23:17:15 +01:00
sentriz
f2ac3b2cdf make recently added persistent 2019-07-08 21:54:20 +01:00
sentriz
fd940cfc9c clean up scanner order and surface 2019-07-08 11:47:26 +01:00
sentriz
51b6565b91 use vanity url 2019-07-06 19:28:03 +01:00
sentriz
4d844bd704 show scan status in ui 2019-07-06 16:49:28 +01:00
sentriz
1226274501 add last scan time to ui 2019-07-06 13:49:30 +01:00
sentriz
b6b3043765 move get funcs to db 2019-07-06 13:49:30 +01:00
sentriz
c3cbe2f889 comment some scanner vars 2019-07-05 14:57:52 +01:00
sentriz
e3ef5fa5e2 add some small performance stuff 2019-07-04 14:09:24 +01:00
sentriz
a24b5bfb44 do one transaction per folder only 2019-07-03 15:56:26 +01:00
sentriz
dbe7f1fb62 migrate on both binaries 2019-07-03 13:11:06 +01:00
sentriz
ada62d1511 add some comments to scanner 2019-07-03 11:41:26 +01:00
sentriz
e517c7538c show last element in stack string 2019-07-01 15:17:57 +01:00
sentriz
fb99ecc84e add stack test and take new stack 2019-06-28 14:26:10 +01:00
sentriz
12b9810ca1 format with gofumports 2019-06-27 21:06:51 +01:00
sentriz
508f44c066 only store differing unidecode and search both cols 2019-06-27 17:22:36 +01:00
sentriz
dea0a5cfab use unidecoded string when searching 2019-06-27 15:36:10 +01:00
sentriz
4ee0d4c6b1 clean up linting 2019-06-27 11:45:57 +01:00
sentriz
56b872a4b3 speed up scanning and delete folders 2019-06-13 13:04:16 +01:00