1
0
mirror of https://github.com/spl0k/supysonic.git synced 2024-09-19 19:01:03 +00:00
Commit Graph

728 Commits

Author SHA1 Message Date
Alban Féron
7401b4dec9
Porting supysonic.api.annotation 2022-12-18 17:24:05 +01:00
Alban Féron
2b472b4d97
Porting supysonic.api.albums_songs 2022-12-18 16:50:03 +01:00
Alban Féron
c5246c74bb
Porting supysonic.watcher
Which mostly means fixing the scanner
2022-12-11 15:53:55 +01:00
Alban Féron
cd369f6c7f
Porting supysonic.cli 2022-12-11 15:13:48 +01:00
Alban Féron
83ba85aaf1
Port supysonic.scanner 2022-12-10 18:04:09 +01:00
Alban Féron
e589247458
Port supysonic.managers.user.UserManager 2022-12-10 17:12:44 +01:00
Alban Féron
ccdd73f8a0
Port supysonic.managers.folder.FolderManager 2022-12-10 16:55:02 +01:00
Alban Féron
64cf272887
Fix supysonic.utils.get_secret_key 2022-12-10 15:48:06 +01:00
Alban Féron
6bdee81e57
Fixing a good chunk of supysonic.db 2022-12-10 15:14:37 +01:00
Alban Féron
0b6891a5c4
Redefined models using peewee
Obviously untested, and breaks everything 🙃
2022-11-27 16:37:56 +01:00
Alban Féron
9db3549734
Bump API version to 1.12.0
Ref #235
2022-10-01 14:02:16 +02:00
Alban Féron
3b0aa20b51
Advertise hls endpoint as not supported 2022-09-10 15:59:10 +02:00
Alban Féron
e52a7043b0
Implement musicFolderId paramenter on various endpoints
Bumped API version to 1.12.0 along the way.
`getArtits` also got it event if it seems it has been added with version 1.14.0,
but I'm a bit concerned as to how clients will behave on authentication if the server
advertise itself as 1.13.0+

Closes #235
Ref #74
2022-09-10 15:50:10 +02:00
Alban Féron
bc373e595f
Factor in index construction 2022-09-09 15:14:50 +02:00
Alban Féron
65a7131c05
Version bump 2022-02-27 15:27:08 +01:00
Alban Féron
8d6821df99
Try to fix flaky test
Closes #229
2022-01-30 17:00:32 +01:00
Alban Féron
e11e775baf
Pony now has a stable release for Python 3.10 so we're compatible on this version too
Closes #230
2022-01-30 16:37:09 +01:00
Alban Féron
4bee23ce23
Fix covers not being scanned as such when modified 2022-01-30 16:31:10 +01:00
Alban Féron
f387cce9ca
Prevent naming collisions when zipping albums 2022-01-29 17:15:03 +01:00
Alban Féron
62bad3b987
Version bump 2022-01-01 19:39:55 +01:00
Alban Féron
ec92dec9ab
Build and include man pages in distributions
I do not fully understand how the building process works, and have some doubts
on what a "source distribution" should be.
The sdist might be polluted if a "man" directory exists at the project root
when building the distribution.
The inclusion of man pages in the wheel requires it to be built from the sdist,
so it's best to build both at the same time using "python -m build".

Closes #215
2021-12-31 18:05:43 +01:00
Alban Féron
c24ee94a44
Don't list sections on manpages index 2021-12-19 13:43:40 +01:00
Louis-Philippe Véronneau
5de715f756
Disable smartquotes dashes in Sphinx.
Smarquotes transform "--" into em-dashes, and we don't want that.
2021-12-18 15:25:07 -05:00
Louis-Philippe Véronneau
5c969e2f53
Modify the man pages for sphinx.
Closes #225.
2021-12-07 23:32:48 -05:00
Alban Féron
430d5a0dad
Try to fix stalling tests 2021-12-04 17:43:08 +01:00
Alban Féron
09802aedaf
CI tweaks 2021-12-04 15:51:54 +01:00
Louis-Philippe Véronneau
a02ece78ef
Fix wrong package name for apt install commands.
Since Debian 11 (Bullseye), python2 has been deprecated and all python
packages should now use python3-foo versions.
2021-12-03 13:53:45 -05:00
Alban Féron
799bfa3dde
Code style 2021-11-28 17:15:05 +01:00
Alban Féron
c3f911b3f4
Display version and proper URL on web UI 2021-11-28 15:13:33 +01:00
Alban Féron
98ff73738d
Drop Python 3.5 2021-11-28 14:50:02 +01:00
Alban Féron
632b1bc835
Fixed tests
Come to think of it, I wonder how they could ever work
2021-11-28 12:48:43 +01:00
Alban Féron
e8f4b2fbc2
Fix typo in setup file 2021-11-21 20:58:42 +01:00
Alban Féron
ddb7c6966c
Version bump 2021-11-21 17:54:08 +01:00
Alban Féron
56fe87af97
Supysonic is going to PyPI, update the docs accordingly 2021-11-21 17:51:44 +01:00
Alban Féron
3b0023e1ac
Test tweaks 2021-11-21 12:20:48 +01:00
Alban Féron
8f5a9a3b73
Properly close connections when killing the daemon 2021-11-21 11:43:28 +01:00
Alban Féron
b4e737c243
Use test discovery rather than explicit suites 2021-11-20 21:01:00 +01:00
Alban Féron
8ab9f444b7
Rationalizing/modernizing building stuff
Metadata in `setup.cfg` rather than `pyproject.toml` as I'm a bit confused
about `setuptools` support for PEP-621.
Test stuff still in `setup.py`, this needs updating and I'm not satisfied with
the way they are loaded/discovered.
2021-11-14 18:08:22 +01:00
Alban Féron
64475a8dfa
Small update on WSGI containers doc 2021-11-12 12:22:16 +01:00
Alban Féron
a88e261a8d
Remove old stuff 2021-11-12 11:31:03 +01:00
Alban Féron
f4bfc735e8
Rewriting the CLI using click rather than cmd+argparse 2021-11-12 10:28:14 +01:00
Alban Féron
8e33b374fe
Fix test workflow for Python 3.10 2021-11-06 18:04:30 +01:00
Alban Féron
ac690592d6
Also test on Python 3.10 2021-11-06 17:54:28 +01:00
Alban Féron
a033d45605
Adding doc for the newly added supysonic-server 2021-11-06 17:52:49 +01:00
Alban Féron
91cb3fb179
black 2021-11-06 17:45:25 +01:00
Alban Féron
f8c3d99e87
Embedded server using poorly designed wrappers on some WSGI servers 2021-11-01 17:41:56 +01:00
Carey Metcalfe
359e391fcc Implement recursive downloading of folders
Example use case:
```
Some Album/
├── CD1
│   └── <songs>
├── CD2
│   └── <songs>
└── cover.jpg
```

Previously, downloading the `Some Album` folder would result in no data
being sent (not even `cover.jpg`)

This commit changes folder-based downloads so that the entire folder
tree (including any non-music) is added to the returned zip file. This
allows any included album art, scans, notes, etc. to be distributed with
the files.

Album-based downloads are unaffected.
2021-10-08 00:48:45 -04:00
Carey Metcalfe
387a5e3de3 Switch to using zipstream-ng to generate and stream zip files
- Fixes zip downloads failing when zipping enough data that Zip64
   extensions are required by automatically enabling them if needed.
 - Fixes zip downloads failing when a file has a datestamp that zipfiles
   cannot store (pre-1980 or post-2108) by clamping them within the
   supported range.
 - Massively speeds up zip downloads by disabling compression (audio
   files generally don't compress well anyway)
 - Computes the total size of a generated zip file before streaming it
   and sets the `Content-Length` header. This allows clients to show a
   final size and progress bar while downloading, as well as detect if
   the download fails.
 - Adds a check to prevent sending an empty zip file to the client if
   there was no content to download (will error out instead).
2021-10-08 00:38:09 -04:00
Carey Metcalfe
5490189484 Add cover art to downloaded zip files
- Only includes cover art in the zip file if it's provided separately
  from the files (ie. doesn't extract it from the tracks)
- Refactors the existing code for implementing the `/getCoverArt` API
  endpoint to allow it to be reused.
2021-10-08 00:06:45 -04:00
Alban Féron
e8d3f164b0
Slightly improved genre merging 2021-09-18 17:07:53 +02:00