Wykres commitów

544 Commity (a3875e39187dd0b9e462eb3729eaf3e29a0b83a3)

Autor SHA1 Wiadomość Data
Eliot Berriot 8d50743b3b
Fix #258: Implemented getCovertArt in Subsonic API to serve album covers 2018-06-01 08:42:05 +02:00
Eliot Berriot 218a92547e Merge branch '223-management-interface' into 'develop'
Resolve "Add a management interface for artists/albums/tracks"

Closes #223 and #241

See merge request funkwhale/funkwhale!216
2018-05-29 21:28:32 +00:00
Eliot Berriot 540c6fb583
Fixed #240: ignored page_size paremeter on artist and favorites list 2018-05-29 23:21:03 +02:00
Eliot Berriot dcd150a1f1
See #223: fixed failing test 2018-05-29 22:54:53 +02:00
Eliot Berriot 1737a75d4e
See #223: reflect new possibilities of library permission in help text 2018-05-29 22:36:47 +02:00
Eliot Berriot 256d98b77d
See #223: delete actions is now dangerous anc cannot be applied to all files 2018-05-29 22:22:51 +02:00
Eliot Berriot 7b84a988fd
See #223: dangerous actions can now prevent executing an action on all objects 2018-05-29 21:55:00 +02:00
Eliot Berriot c7782693bc
See #223: api for listing/managing library files 2018-05-29 00:07:20 +02:00
Eliot Berriot 2569f136b7
Fix #241: autoremove media files on model instance deletion 2018-05-28 22:17:36 +02:00
Eliot Berriot d2c99b9f5d Merge branch '220-fix-mp3-track-numbers' into 'develop'
Resolve "Track numbers from mp3 don't get imported"

Closes #220

See merge request funkwhale/funkwhale!214
2018-05-26 11:40:25 +00:00
David Magnus Henriques 8790631a65 Removed Typo which broke oggVorbis-import 2018-05-26 13:23:08 +02:00
David Magnus Henriques e478bb923e Improved Unit test
The tracknumber and the compilation number are now not identical
anymore
2018-05-26 13:16:20 +02:00
David Magnus Henriques 06a5ee939a Changed ID3Tag for Track-Number to TRCK
Until now the ID3Tag for the Track-Number was read from TPOS.
The Problem is, that TPOS is the part of the set (eg disc number)
and not the track-number. TRCK is the correct tag for the track
number.

Fixes #220
2018-05-26 13:06:40 +02:00
Eliot Berriot a9799e66d7
See #236: backend for users default permissions 2018-05-26 12:45:55 +02:00
Eliot Berriot 2ef36928c6
See #236: added a basic string list preference 2018-05-26 12:45:16 +02:00
Eliot Berriot c6cd3abf9d Merge branch '229-anonymous-access' into 'develop'
Resolve "Ensure anonymous users can listen to music if instance is configured accordingly"

Closes #229

See merge request funkwhale/funkwhale!211
2018-05-24 20:52:40 +00:00
Eliot Berriot 8d55040e9e
See #230: users with upload permission can now launch import and manage their own imports 2018-05-24 22:39:43 +02:00
Eliot Berriot dfb4f5f62a
See #230: can now use "or" operator to check permissions 2018-05-24 22:38:26 +02:00
Eliot Berriot ed6c1a9a5b
See #230: added an upload permission on user model 2018-05-24 22:37:41 +02:00
Eliot Berriot 2586444db2
Fix #229: removed last hardcoded settings to protect audio files 2018-05-24 21:34:59 +02:00
Eliot Berriot 9c02954e46 Merge branch 'action-tables' into 'develop'
Action table component / implementation on federation library tracks

Closes #164 and #228

See merge request funkwhale/funkwhale!210
2018-05-24 19:11:33 +00:00
Eliot Berriot eded32c2e8
See #228: more performante federation import launch via API 2018-05-24 18:53:12 +02:00
Eliot Berriot 4f8db661fa
See #228: now expose library track status in API 2018-05-24 18:33:40 +02:00
David Magnus Henriques 7ae90305e3 Added test for OggTheora Import 2018-05-23 23:33:19 +02:00
David Magnus Henriques 83738e4e04 Reading the musicBrainz-Id-Fields from correct field 2018-05-23 23:32:28 +02:00
EorlBruder dc76283ebb Added OggTheora Metadata
OggTheora wasn't support up until now. Now the config is there and the
import works

fixes #216
2018-05-23 22:23:59 +02:00
Eliot Berriot ba4b6f6ba6
See #228: now use our new action logic for library track import 2018-05-23 21:50:23 +02:00
Eliot Berriot f1a1b93ee5
See #228: serializer logic 2018-05-23 19:52:47 +02:00
Eliot Berriot b36ed8a699 Merge branch '214-flac-no-mbid' into 'develop'
Resolve "Flac import fails if no MusicBrainz-ID present"

Closes #214

See merge request funkwhale/funkwhale!208
2018-05-22 21:57:44 +00:00
Eliot Berriot 01ea6562a6
Fix #214: Do not crash on flac import if musicbrainz tags are missing 2018-05-22 23:53:45 +02:00
Eliot Berriot 47cc2a3920
Fix #179: fixed broken ordering in front-end lists 2018-05-22 23:30:37 +02:00
Eliot Berriot 54008aa37c Merge branch '224-music-api' into 'develop'
Resolve "Better API for artists/album/tracks"

Closes #224 and #226

See merge request funkwhale/funkwhale!205
2018-05-22 21:04:09 +00:00
Eliot Berriot a8baf8fa67
See #224: updated front-end with new music API 2018-05-22 22:22:53 +02:00
Eliot Berriot 857fab526d
See #224: less clutered music API, better serializers 2018-05-22 21:10:48 +02:00
Eliot Berriot 7b71463ef8
Removed acoustid support, as the integration was buggy and error-prone (#106) 2018-05-21 20:55:44 +02:00
Eliot Berriot ae00cccf14
Fix #207: Consistent constraints/checks for URL size 2018-05-21 19:04:28 +02:00
Eliot Berriot f91ec0c810
Upgraded to django-allauth 0.36 2018-05-21 18:46:39 +02:00
Eliot Berriot fc48e16e65
Fix #218: Ensure inactive users cannot get auth tokens 2018-05-21 18:45:39 +02:00
Eliot Berriot d299964c99
0.13: Version bump and changelog 2018-05-19 11:43:19 +02:00
Eliot Berriot ac7db73785
See #152: added management command to execute one-time migration scripts 2018-05-18 22:18:03 +02:00
Eliot Berriot a57d975183
See #152: updated admin interface 2018-05-18 22:18:02 +02:00
Eliot Berriot 6fc4275b68
See #152: use new user permissions on relevant viewsets 2018-05-18 18:48:46 +02:00
Eliot Berriot ff65a4b935
See #152: added permission fields on user model and corresponding API permission 2018-05-18 18:47:35 +02:00
Eliot Berriot e7619fd189
See #206: minor tweaks on settings (wording, input type...) 2018-05-17 23:40:06 +02:00
Eliot Berriot 13c5219d71
See #206: added API endpoint for managing settings 2018-05-17 23:39:34 +02:00
Eliot Berriot 6608a3153d Merge branch '200-private-nodeinfo' into 'develop'
Resolve "Add a "private" property on nodeinfo"

Closes #200

See merge request funkwhale/funkwhale!198
2018-05-17 18:21:18 +00:00
Eliot Berriot 1974c17e76
Fix #200: Instances can now indicate on the nodeinfo endpoint if they want to remain private 2018-05-16 22:24:05 +02:00
Eliot Berriot e852c84007
Fix #197: .well-known/nodeinfo endpoint can now answer to request with Accept: application/json 2018-05-16 22:10:11 +02:00
Eliot Berriot a28078753b
See #195: no update track information when fetching track from federation 2018-05-16 18:55:09 +02:00
Eliot Berriot 3290a15c88
See #195: expose bitrate, size and duration in subsonic API 2018-05-15 22:46:01 +02:00
Eliot Berriot 8994326634
See #195: expose bitrate, duration and size in AP audio representations 2018-05-15 22:01:53 +02:00
Eliot Berriot 4b21128e46
See #195: fix_track_files command can now recompute size, bitrate and duration 2018-05-15 22:01:53 +02:00
Eliot Berriot af82111ade
Missing select related on trackfile viewset 2018-05-15 22:01:53 +02:00
Eliot Berriot 1bc4ceab9e
See #195: set bitrate, duration and size when importing file 2018-05-15 22:01:52 +02:00
Eliot Berriot 7425a8ea4d
See #195: added bitrate and size fields on track file 2018-05-15 22:01:52 +02:00
Eliot Berriot 3415d02028
Fixed wrong mimetype for flac files 2018-05-15 22:01:52 +02:00
Eliot Berriot b3a6c6d77f Merge branch '205-html-renderer' into 'develop'
Resolve "Disable HTML API renderer in production"

Closes #205

See merge request funkwhale/funkwhale!195
2018-05-15 17:10:04 +00:00
Eliot Berriot 155a40e296
Fixed #205: Disabled browsable HTML API in production 2018-05-15 19:06:08 +02:00
Eliot Berriot 5abac103c4 Merge branch '204-missing-dot' into 'develop'
Resolve "Missing dot in file name when downloading file"

Closes #204

See merge request funkwhale/funkwhale!194
2018-05-15 17:04:35 +00:00
Eliot Berriot 6e168a54ec
Fix #204: missing dot when downloading file 2018-05-15 19:01:49 +02:00
Eliot Berriot 8a321d4abe
Fix #201: escaping issue of track name in playlist modal 2018-05-15 18:37:44 +02:00
Eliot Berriot ce92747d89
Fix #157: Can now import and play flac files
If you ever need an empty flac file with metadata again:

1. Get a flac file (like https://archive.org/download/NineInchNailsTheSlip24bit96khz/01999999.flac)
2. Tag it with Musicbrainz Picard
3. Truncate it, keeping only tags with `ffmpeg -i in.flac -ss 0 -to 0.001 out.flac`

Thanks @HgO for the trick!
2018-05-15 18:20:24 +02:00
Eliot Berriot 2f44dd0eb7 Merge branch '199-disabled-play' into 'develop'
Resolve "Unplayable tracks are not disabled in the interface"

Closes #199

See merge request funkwhale/funkwhale!191
2018-05-13 11:38:11 +00:00
Eliot Berriot 2f5a13a339
Fix #199: unplayable tracks are now properly disabled in the interface 2018-05-12 10:52:58 +02:00
Eliot Berriot 6f79dd475d
Now return proper error payload on subsonic API 2018-05-12 10:52:58 +02:00
Eliot Berriot 9c9f6708a3 Merge branch '196-fix-filepath-encoding' into 'develop'
Resolve "404 for files with special utf-8-chars"

Closes #196

See merge request funkwhale/funkwhale!189
2018-05-12 08:26:02 +00:00
Eliot Berriot 1937b81699
Fix #196: In-place imported tracks non-ascii characters don't break reverse-proxy serving 2018-05-10 18:52:00 +02:00
Eliot Berriot 190a4357dc
Fix #198: Removed Python 3.6 dependency (secrets module) 2018-05-10 16:45:45 +02:00
David Magnus Henriques 023c6f6f5e Encode the Filepath utf-8
The filepath of a track gets broken when it contains special
UTF-8-characters. Encoding it UTF-8 fixes this behaviour.
2018-05-10 13:24:26 +02:00
Eliot Berriot 0997aa4b25
0.12 Version bump and changelog 2018-05-09 23:45:14 +02:00
Eliot Berriot 805f9c6bbc Merge branch '75-subsonic-api' into 'develop'
Resolve "Implement the subsonic API"

Closes #75

See merge request funkwhale/funkwhale!188
2018-05-09 21:27:57 +00:00
Eliot Berriot 12638e1d82
Updated demo script 2018-05-09 23:24:51 +02:00
Eliot Berriot 24cb1d9519
See #75: user can now manage the Subsonic API token from their settings page 2018-05-09 22:18:33 +02:00
Eliot Berriot 7595936260
See #75: added a preference do enable/disable the subsonic API on the instance level 2018-05-09 22:13:04 +02:00
Eliot Berriot 67dc414c8a
See #75: music direcory and indexes endpoints 2018-05-09 20:32:17 +02:00
Eliot Berriot 7c85d1ca81
See #75: can now add multiple tracks to a playlist on creation and update 2018-05-09 20:31:47 +02:00
Eliot Berriot 1674ad919f
See #75: implemented subsonic playlist API endpoints 2018-05-08 23:06:47 +02:00
Eliot Berriot 7e9320fc1c
Queryset methods for playlists 2018-05-08 23:06:29 +02:00
Eliot Berriot e31099ef33
See #75 more subsonic api endpoints (star, unstar, search...) 2018-05-08 21:22:52 +02:00
Eliot Berriot 40cde0cd92
Queryset methods on artist/albums 2018-05-08 21:21:52 +02:00
Eliot Berriot bbd273404a
See #75: initial subsonic implementation that works with http://p.subfireplayer.net 2018-05-08 16:32:07 +02:00
Eliot Berriot 9682299480
See #75: dedicated token for subsonic API access 2018-05-08 16:31:19 +02:00
Eliot Berriot 2ef8723485 Merge branch '192-nodeinfo' into 'develop'
Resolve "Use nodeinfo schema for instance statistics"

Closes #192

See merge request funkwhale/funkwhale!187
2018-05-08 07:03:47 +00:00
Eliot Berriot cdc8388118
See #192: renamed name to nodeName, and include anonymousCanListen value as well 2018-05-08 09:01:02 +02:00
Eliot Berriot 095b70db4b
See #192: use proper content type for nodeinfo endpoint 2018-05-07 23:29:07 +02:00
Eliot Berriot a679f48fcf
See #192: removed useless localPosts and localComments 2018-05-07 23:26:48 +02:00
Eliot Berriot d88b7869fe
See #192: added .well-known/nodeinfo endpoint 2018-05-07 22:28:46 +02:00
Eliot Berriot 6ff8c2c8da
See #192: use nodeinfo/2.0 namespace to be future proof 2018-05-07 22:28:21 +02:00
Eliot Berriot b4ad7a4a71
See #192: replaced old stats endpoint with nodeinfo 2018-05-07 22:09:03 +02:00
Eliot Berriot 23d21b0fdb
Fix #193: broken federated import 2018-05-07 19:22:09 +02:00
Eliot Berriot 7908ae3942
Version bump and changelog 2018-05-06 16:24:12 +02:00
Eliot Berriot 82f5dc20f3
Documentation for missing DEFAULT_FROM_EMAIL setting 2018-05-06 16:23:23 +02:00
Eliot Berriot bc2c9950e3
Fix #189: federation cache should now delete properly, including orphaned files 2018-05-06 15:36:49 +02:00
Eliot Berriot f343159856
Added an accessed_date field on TrackFile for easier cache deletion (#189) 2018-05-06 15:36:18 +02:00
Eliot Berriot 4a7105ae7e
Fix #187: documentation and changelog for email configuration 2018-05-06 13:48:23 +02:00
Eliot Berriot 44ebb92874
See #187: Front logic for password reset and email confirmation 2018-05-06 12:50:53 +02:00
Eliot Berriot 3b9024129d
See #187: Front logic for password reset 2018-05-06 11:30:52 +02:00
Eliot Berriot 22f0b1a2d8
See #187: API logic for password reset 2018-05-06 11:30:41 +02:00
Eliot Berriot 929b50183a
Now reset cookie on profile fetch, to avoid CSRF bugs 2018-05-06 11:21:36 +02:00
Eliot Berriot 4325b1be4f
Removed radios and listening recording for anonymous users as it was buggy 2018-05-06 11:18:28 +02:00
Eliot Berriot 9ec47f1ec9
Added dosctrings to fixtures 2018-04-28 18:39:48 +02:00
Eliot Berriot 29645aab1d
Added documentation page on how to reduce memory usage. 2018-04-28 16:17:29 +02:00
Eliot Berriot 7ad21b7d25
Fix #186: moved high-level settings to database preferences 2018-04-28 12:28:13 +02:00
Eliot Berriot a3b2125d2a
See #186: moved api authentication required setting to preference 2018-04-28 06:11:50 +02:00
Eliot Berriot 6100b106c0
See #186: moved federation settings to preferences 2018-04-28 05:55:21 +02:00
Eliot Berriot 7222f7b710
See #186: moved PLAYLISTS_MAX_TRACKS to playlists__max_tracks 2018-04-28 05:30:23 +02:00
Eliot Berriot aa3da412a7
#186: common utils for moving settings to preferences 2018-04-28 05:28:51 +02:00
Eliot Berriot f4899c5387
Fix #176: Can now relaunch erored jobs and batches 2018-04-28 04:59:47 +02:00
Eliot Berriot 6dcde77b1e
Avoid fetching Actor object on every request authentication 2018-04-28 00:25:47 +02:00
Eliot Berriot 42a2ffbf24
Fix #109: List pending requests by default, added a status filter for requests 2018-04-27 22:23:25 +02:00
Eliot Berriot 7d3da3d757
Added a fix_track_files command to run checks and fixes against library (#183) 2018-04-27 21:11:20 +02:00
Eliot Berriot 3d6f0b8b2c
Fix #183: ensure in place imported files get a proper mimetype 2018-04-27 21:10:35 +02:00
Eliot Berriot 99ff8169fc Merge branch '178-api-documentation' into 'develop'
Resolve "Document important API features"

Closes #178

See merge request funkwhale/funkwhale!166
2018-04-26 16:29:44 +00:00
Eliot Berriot c4777532eb
Bundle swagger docs with sphinx docs 2018-04-26 18:22:47 +02:00
Eliot Berriot d2c2fb837e
Now support Bearer auth in complement of JWT 2018-04-26 15:17:51 +02:00
Eliot Berriot 2477aa31f9
Initial swagger setup 2018-04-26 14:30:26 +02:00
Eliot Berriot 472e9f7605
Added q filter on artists 2018-04-26 14:26:01 +02:00
Eliot Berriot a49d3b4251
Fixed #182: X-sendfile not working with in-place imports 2018-04-25 18:50:06 +02:00
Eliot Berriot 7e8972a3b0
Version bump and Changelog 2018-04-23 19:44:38 +02:00
Eliot Berriot 300e24dbde
Ensure we return correct paths when using Apache as a reverse proxy 2018-04-22 16:34:07 +02:00
Eliot Berriot ad43d160bd Merge branch '171-import-jobs' into 'develop'
Resolve "Dedicated API endpoint for import jobs"

Closes #171

See merge request funkwhale/funkwhale!156
2018-04-22 13:20:07 +00:00
Eliot Berriot 6a67bc6fac
Fix #171: dedicated endpoint to list import jobs, updated front-end 2018-04-22 15:17:06 +02:00
banana 0f7de68f0d Update common.py to add USE_APACHE_HEADERS set to false
Update views.py to modify headers depending on Nginx or Apache
Update common.py with future proof REVERSE_PROXY_TYPE setting
Update views.py to adapt headers based on REVERSE_PROXY_TYPE
Update views.py, typo on apache
2018-04-22 15:11:04 +02:00
Eliot Berriot 93c57f08f9
Fixed broken youtube-dl import 2018-04-22 12:10:32 +02:00
Eliot Berriot 84c3b531ad
Pinned oauthlib2 version to prevent when fetching youtube data 2018-04-22 11:27:26 +02:00
Eliot Berriot f4ac0b2d3f
Serve view can now serve in-place imported files 2018-04-21 18:21:15 +02:00
Eliot Berriot 58fced2640
updated import_task to support in place import 2018-04-21 18:20:56 +02:00
Eliot Berriot de754b835e
Updated CLI to support in-place import 2018-04-21 18:16:43 +02:00
Eliot Berriot a8bf44a494
Added dedicated settings to manage in-place import 2018-04-21 18:15:29 +02:00
Eliot Berriot 0d3eb96bec
Fixed failing tests 2018-04-21 16:33:15 +02:00
Eliot Berriot 3f3d6d88d6
Make music directory configurable in development 2018-04-21 16:16:43 +02:00
Eliot Berriot 1672230f39
More verbose/robust import_files command, also skips existing files 2018-04-21 16:16:43 +02:00
Eliot Berriot d98c33e5ed
More efficient SQL query to compute import batch status 2018-04-21 16:02:11 +02:00
Eliot Berriot e29cfb7301
Smarted UUID validation on metadata 2018-04-21 16:01:42 +02:00
Eliot Berriot 2be46b3320
Fix #142: Increased max_length on TrackFile.source 2018-04-19 22:25:58 +02:00
Eliot Berriot ced851891d
Fix #163: Avoid downloading audio files multiple times from remote libraries 2018-04-19 21:19:40 +02:00
Eliot Berriot c29a96f244
Fail graciously when AP representation includes a null_value for mediaType 2018-04-18 00:08:31 +02:00
Eliot Berriot eb275b7e08
Version bump and changelog 2018-04-17 23:20:32 +02:00
Eliot Berriot f55d2b6c9d
Updated tests 2018-04-17 23:10:46 +02:00
Eliot Berriot c17f7eefde
Ensure follower is approved to access library 2018-04-17 23:08:15 +02:00
Eliot Berriot 899ba31162
Do not fail on library page scan if one item is invalid 2018-04-17 22:58:43 +02:00
Eliot Berriot 14cadce4a6
Allow null values for musicbrainz_id in Audio ActivityPub representation 2018-04-17 21:49:11 +02:00
Eliot Berriot dd97a9b488
Version bump and changelog 2018-04-17 21:26:58 +02:00
Eliot Berriot a37183f57e
Additional celery beat systemd unit file 2018-04-17 21:26:35 +02:00
Eliot Berriot 5fee42f896
Can now filter by import status on library tracks 2018-04-17 20:03:31 +02:00
Eliot Berriot f31874edf5
Implemented followers notification on import and autoimport 2018-04-17 19:35:57 +02:00
Eliot Berriot adcbe8852d
Tmpfile fixture 2018-04-17 19:35:57 +02:00
Eliot Berriot 5ee1f18089
Fixed failing api test 2018-04-15 11:25:35 +02:00
Eliot Berriot fc09a3b320
Can now accept/deny follow requests 2018-04-15 11:25:35 +02:00
Eliot Berriot ca02aca327
Ensure follower is approved for listening 2018-04-15 11:25:35 +02:00