1
0
mirror of https://github.com/spl0k/supysonic.git synced 2024-12-23 01:16:18 +00:00
Commit Graph

224 Commits

Author SHA1 Message Date
Taizo Simpson
4bbcbd0acf
Art extraction is now done as a method of Track; cover_art() only extracts cover art if given a track ID; Cache embeded art 2018-10-08 20:05:45 -04:00
Taizo Simpson
7106d95cee
Added support for ID3 based metadata, OGG, and FLAC in album art extraction 2018-10-08 16:34:44 -04:00
Taizo Simpson
befc460120
Added support for embeded album art in MP3s 2018-10-08 15:31:15 -04:00
Carey Metcalfe
396df4f1ca Stringify Exceptions when creating SubsonicAPIExceptions from them
This prevents a `TypeError` from being raised when the
`SubsonicAPIException` is serialized to JSON in preparation for being
returned to the client.
2018-10-07 16:17:26 -04:00
Michael Sabin
8c38292abd Expand path when adding a folder
Expand the path using the system environment
before generating the absolute path.
For example, ~ was not being expanded to
the user's home directory.
2018-09-29 22:53:10 -07:00
spl0k
5a065c75ae Merge branch 'master' into db-setup 2018-09-15 16:04:43 +02:00
spl0k
59f7fd62b0 Improved transcoding description and added client-side validation
Closes #115
2018-09-15 16:02:36 +02:00
spl0k
1a15b95155 Merge branch 'master' into issue90 2018-09-08 15:37:08 +02:00
spl0k
670bef6a91 Added support for python migrations 2018-09-02 17:26:18 +02:00
spl0k
659e46611a Fixed tests 2018-08-29 18:18:31 +02:00
spl0k
e84459d627 First throw at automatic database migrations
Only supporting SQL scripts for now
2018-08-29 17:46:59 +02:00
spl0k
2568b9bc91 Added a small table to store the schema version
Defined in a dedicated 'pony database', allowing to check only this table
to determine if we need to create the tables, and so existing tables getting
a new attribute won't trigger a table creation
2018-08-29 16:09:41 +02:00
spl0k
dbf817ea9e Automatically create DB tables if needed 2018-08-29 14:56:28 +02:00
spl0k
9c58b695ff Watcher now handles cover art
Closes #92
2018-08-28 17:44:32 +02:00
spl0k
9736622ce1 Recently played API returns albums/folders that have been played at least once
Fixes #107
2018-08-27 15:51:01 +02:00
spl0k
38f718b4df Using new pony on_connect decorator
Revert "Restore SQLite case insensitive LIKE"
This reverts commit a08689e8c0.
2018-08-11 16:16:34 +02:00
spl0k
a08689e8c0 Restore SQLite case insensitive LIKE
See ponyorm/pony#367
2018-08-05 15:35:29 +02:00
spl0k
dd33e8da14 Fixed LastFM account linking 2018-08-04 13:12:20 +02:00
spl0k
1b0cc54581 Workaround new pony QueryResult behaviour
Ref ponyorm/pony#369
2018-08-04 12:24:29 +02:00
spl0k
b25e943e4e Removed bulk deletes from scanner
Was causing either cache issues or constraint errors
Fixes #103, #102
2018-07-29 17:58:20 +02:00
spl0k
78cf84e136 Remove invalid folders before scanning for covers
Fixes #101
2018-06-24 13:19:04 +02:00
spl0k
b43a70a045 Cover art discovery: handle badly encoded files 2018-05-21 16:37:21 +02:00
spl0k
405a26a20a Don't restrict cover art to 'cover.jpg' files
Ref #81
2018-05-21 16:16:06 +02:00
spl0k
918cd11262 Allow missing/empty tags
Closes #94, closes #99
2018-05-20 17:35:32 +02:00
spl0k
a7cdeb0b2d Don't bulk delete folders
Fixes issue with MariaDB<10.3.1
Ref #99
2018-05-20 13:38:17 +02:00
spl0k
2b1977892e Generate a secret key only once 2018-04-01 12:32:36 +02:00
hhm
6bb98085bc B"H allow accessing public playlists even when not admin 2018-03-21 23:11:28 -04:00
spl0k
6ac969e2c5 Index folder and track path
Speeds up scanning
2018-03-17 23:25:26 +01:00
spl0k
b72daea109 Improved folder deletion 2018-03-15 20:50:01 +01:00
spl0k
b4a9a21671 Don't distinct random queries
Fixes #89
2018-03-12 21:06:57 +01:00
spl0k
e5d9050fa7 Improved transcoding configuration parsing 2018-03-11 21:29:17 +01:00
spl0k
9eb1bf63d7 API: stream.view: added support for 'estimateContentLength' 2018-03-10 23:04:57 +01:00
spl0k
a6b894c586 API: marked explicitly unsupported methods/parameters as such 2018-03-10 22:15:40 +01:00
spl0k
adb4e7e89b API: improved client preference passing 2018-03-10 18:35:00 +01:00
spl0k
0988d4319e Unified file headers 2018-03-04 21:49:56 +01:00
spl0k
4cbc8765e0 Refactored FolderManager to raise exceptions
rather than returning status codes
2018-03-04 17:36:35 +01:00
spl0k
ef9e7af026 Refactored UserManager to raise exceptions
rather than returning status codes
2018-03-02 22:51:49 +01:00
spl0k
8bf488fab2 Refactored star/unstar error handling 2018-02-28 20:12:34 +01:00
spl0k
5188976e6f Merge branch 'master' 2018-02-25 22:36:39 +01:00
spl0k
58b8a1171a More error refactoring 2018-02-25 22:28:47 +01:00
spl0k
177b0cce0d Refactoring API error handling 2018-02-25 11:39:26 +01:00
spl0k
ba61281ba1 Allow extra db connection args. Set utf8mb4 as the default charset for MySQL 2018-02-21 22:13:35 +01:00
spl0k
43b197a95e Wrapping all request handling in a database transaction 2018-02-14 22:48:44 +01:00
spl0k
e3ccf0809f Bumping the version, just because 2018-02-14 19:53:17 +01:00
spl0k
005ae4803b More formatter refactoring 2018-02-11 12:40:10 +01:00
spl0k
27b9c232c2 Small refactoring of supysonic.api.get_entity 2018-01-30 21:56:06 +01:00
spl0k
66b6eb341e Tests: removed context/module unload dance
Was a workaround for issues fixed by blueprints
2018-01-29 22:09:28 +01:00
spl0k
7455711b60 Frontend as blueprint
Ref #76
2018-01-29 21:37:19 +01:00
spl0k
0de87e64b0 API as blueprint
Ref #76
2018-01-28 22:50:21 +01:00
spl0k
aedda4f642 Add CORS header on JSON responses only 2018-01-27 17:18:30 +01:00
spl0k
b33e8ae6d1 Set mimetype when creating the response, don't try to fix it afterwards
Ref #76
2018-01-27 15:18:44 +01:00
spl0k
8275966db0 Dropped simplejson dependency
Ref #79
2018-01-21 22:02:32 +01:00
spl0k
c6992a4726 Fixed reading malformed tags
Fixes #86
2018-01-21 14:42:27 +01:00
spl0k
2df4de47a8 Replaced most of catch-all exception handlers
Closes #82
2018-01-20 22:46:41 +01:00
spl0k
3fd748cc5a Scanner: handle permission errors 2018-01-20 21:44:20 +01:00
spl0k
954c75bc35 Ignore files with a badly encoded path
Closes #85
2018-01-20 18:26:58 +01:00
spl0k
bfe6da12d7 Dropped 'future' dependency 2018-01-18 21:10:01 +01:00
spl0k
fd67eb9cd4 Fixed DeprecationWarnings 2018-01-16 23:16:13 +01:00
spl0k
420003dfc1 Py3: fixed remaining errors (hidden due to skipped tests)
Ref #75
2018-01-16 22:19:24 +01:00
spl0k
c36d1813ee Fixed setting client preferences 2018-01-16 19:45:28 +01:00
spl0k
7edb246b1e Py3: str/bytes, iterators, etc.
It seems to work on Python 3 now!
Ref #75
2018-01-11 23:08:53 +01:00
spl0k
1a79fe3d70 Py3: basestring
Ref #75
2018-01-08 23:13:50 +01:00
spl0k
8674965c03 Read config files without interpolation
Fixes #84
2018-01-08 19:17:00 +01:00
spl0k
1605fcd202 Py3: imports, exceptions, dicts
Ref #75
2018-01-06 00:33:45 +01:00
spl0k
d807f26ccb Provided migration scripts for existing storm databases 2017-12-30 19:06:43 +01:00
spl0k
df63919634 Look at my pony, my pony is amazing 2017-12-23 22:59:04 +01:00
spl0k
53fd4865cb Get on my pony 2017-12-21 23:29:00 +01:00
spl0k
6daedc6919 I'm on a pony 2017-12-19 23:16:55 +01:00
spl0k
2428ffeb57 Scanner, CLI and watcher are on a pony 2017-12-17 23:25:34 +01:00
spl0k
a4b9a97271 All managers get a pony 2017-12-16 17:42:53 +01:00
spl0k
6bd61e0388 Getting out of the storm on a pony 2017-12-16 13:53:43 +01:00
spl0k
8046457661 Relative imports 2017-12-12 22:24:18 +01:00
spl0k
0a47ef89a5 CLI: fixed foreign key errors on user deletion 2017-12-10 15:11:50 +01:00
spl0k
d3271e7174 CLI: added ability to set stdin/stdout/stderr 2017-12-10 14:31:04 +01:00
spl0k
5236abf6ff Moved CLI code to package 2017-12-08 22:02:12 +01:00
spl0k
bb72ce8f7c Slight changes to watcher
Configurable scan delay
Test friendliness
2017-12-05 22:48:55 +01:00
spl0k
c515a25b69 Config sample update 2017-11-29 22:55:39 +01:00
spl0k
9ffe40aa2c Reactivated config-dependent test 2017-11-27 22:46:09 +01:00
spl0k
a62976ba9d Reworked config handling 2017-11-27 22:30:13 +01:00
spl0k
510d9e6dc7 Added some validation to scanner 2017-11-25 22:03:42 +01:00
spl0k
18383a6cc4 Removed users import/export
That was some method I was using by the time I deleted/recreated the
database on each schema change
2017-11-24 19:24:00 +01:00
spl0k
c947219f59 Web UI user section: validation 2017-11-24 19:19:24 +01:00
spl0k
0353a8a1bc Web UI user section: factoring some usual validation with a decorator 2017-11-22 23:11:58 +01:00
spl0k
b7e9914246 Web UI: split GET and POST handlers 2017-11-22 22:39:54 +01:00
spl0k
b998bb0684 Web UI: reworked how data is passed to templates
Logged user is pushed in request data
No more 'username' session key
Small fixes along the way
2017-11-22 22:07:06 +01:00
spl0k
1488f29e9f Fixed playlist related errors 2017-11-20 21:31:10 +01:00
spl0k
aac5ee6936 Small None-formatting / mimetype fix (and (c) dates) 2017-11-17 19:46:35 +01:00
spl0k
da857b9ceb Reworked star/unstar error handling
Don't stop at the first error anymore, instead treat all provided ids
Potential errors are aggregated, if there's only one it is returned
as-is, if there are more they are all nested in a top-level error whose
code is 0 if there are different error codes, or their value if all
error codes are the same.
This error-nesting doesn't validate against the XSD, but the Subsonic
API gives absolutely no information on how errors should be handled.
And reverse-engineering is not in my line of work
2017-11-14 23:16:58 +01:00
spl0k
c709fa7e29 Better errors on listings 2017-11-11 00:12:10 +01:00
spl0k
336f556ced Improved playlists error handling 2017-11-08 23:18:41 +01:00
spl0k
0602bed2e8 Fixed error in old search and handled newerThan parameter 2017-11-03 23:14:39 +01:00
spl0k
b20c151765 Prevent server error when browsing on tracks that have been deleted 2017-11-03 23:12:38 +01:00
spl0k
d8c3b9fa88 User management error code tweaks 2017-11-01 20:52:59 +01:00
spl0k
7de57cb680 Small API content-type and error codes adjustments 2017-10-29 16:00:39 +01:00
spl0k
8f5fcc82f5 Response formatting tests 2017-10-28 21:18:34 +02:00
spl0k
033a86381b Removed password decoding from UserManager
Decode only when passwords are coming from API query parameters
2017-10-28 12:41:34 +02:00
spl0k
7effd3aee5 Untabbify 2017-10-28 12:23:31 +02:00
spl0k
4eb7386c99 Playlists improvements
They don't mess up the the track order anymore
A same track can now be added more than once to a playlist

Closes #61
2017-10-22 22:05:17 +02:00
spl0k
4d3809a835 Return a correct error when the client parameter isn't supplied 2017-10-16 19:57:09 +02:00
spl0k
534a6de4a0 Slightly improved API responses 2017-10-16 19:49:29 +02:00