Commit Graph

213 Commits

Author SHA1 Message Date
Eliot Berriot 0d96e75eeb
Do not silent import errors 2018-09-26 19:23:15 +02:00
Eliot Berriot b6e376ed0a 0.17 release documentation initial draft and migration script 2018-09-25 20:18:02 +00:00
Eliot Berriot 125d0eed5e Federation scanning 2018-09-24 18:44:22 +00:00
Eliot Berriot 1bee3a4675 Import trust source 2018-09-23 12:38:42 +00:00
Eliot Berriot 3e49b2057a CLI for importing files with user libraries 2018-09-22 15:47:17 +00:00
Eliot Berriot e49a460203 Audio federation 2018-09-22 12:29:30 +00:00
Eliot Berriot ecd395d6b0 Library follows and user notifications 2018-09-13 15:18:23 +00:00
Eliot Berriot 2ea21994ee Resolve "Per-user libraries" (use !368 instead) 2018-09-06 18:35:02 +00:00
Toke Høiland-Jørgensen 0d128d40d5 Add support for Opus files
This adds support for reading metadata from Opus files. The metadata config
is copied from OggVorbis with just the 'track' field name changed.

Also make sure get_audio_file_data() in music/utils.py doesn't crash if no
bitrate information is set, since mutagen doesn't add a bitrate to Opus
info objects.

Fixes #244.

Signed-off-by: Toke Høiland-Jørgensen <toke@toke.dk>
2018-08-29 21:23:50 +02:00
Eliot Berriot 71c70cee39
Fixed #478: Removed release date error in case of empty date 2018-08-19 17:52:04 +02:00
Eliot Berriot 4781e7821e
Fix #376: Smarter date parsing during import by replacing arrow with pendulum 2018-07-24 23:07:51 +02:00
Eliot Berriot 3a94462bd6
Removed django-cacheops dependency 2018-07-21 12:57:48 +02:00
Eliot Berriot 979c554b4a
Use cropped covers/avatars to reduce bandwidth use 2018-07-20 19:17:39 +02:00
Eliot Berriot 1458c084a7 Resolve "Funkwhale unable to import Albums with multiple Artists" 2018-07-09 20:47:55 +00:00
Eliot Berriot 93cd72ff09
Fix #351: Ensure we do not import artists with empty names 2018-07-09 22:35:32 +02:00
Eliot Berriot d713ad177b
See #344: query parsing 2018-07-03 08:13:13 +02:00
Eliot Berriot 0e1203336d
Fixed randomly failing test 2018-06-24 13:56:06 +02:00
Renon 2182227f50 Merge branch '222-update-import' into 'develop'
Resolve "Add flag during import to replace already present tracks with new version"

Closes #222

See merge request funkwhale/funkwhale!264
2018-06-22 22:04:06 +00:00
RenonDis 61eb8e4d61 Test for _do_import with replace 2018-06-22 23:50:46 +02:00
RenonDis 8d9499332f
Migration file for ImportJob.replace_if_duplicate 2018-06-22 20:25:15 +02:00
RenonDis f3f07c1f8d
Updated tasks.py to process replace flag 2018-06-22 20:25:15 +02:00
RenonDis 8103ea541f
cli import files with replace option 2018-06-22 20:25:15 +02:00
RenonDis bb79d454af
Bypassing cli skip for update flag 2018-06-22 20:24:55 +02:00
Eliot Berriot 9767c8f415
See #190: API and serializers to manage import requests 2018-06-22 18:25:17 +02:00
Eliot Berriot d17ceec1f0
See #297: linting of various, uncommon errors 2018-06-10 12:06:46 +02:00
Eliot Berriot 799386c2b6
See #297: removed a lot of unused variables 2018-06-10 11:27:38 +02:00
Eliot Berriot 9bea804f14
See #297: sorted imports 2018-06-10 10:55:16 +02:00
Eliot Berriot 9427f8b56e
See #297: removed unused imports 2018-06-10 10:39:47 +02:00
Eliot Berriot 639882bd34
See #297: removed unused variables 2018-06-09 17:41:59 +02:00
Eliot Berriot 62ca3bd736
Blacked the code 2018-06-09 15:36:16 +02:00
Eliot Berriot bbae4e323b
Fix #288: Huge performance boost during CLI import that queries MusicBrainz 2018-06-06 21:45:38 +02:00
Eliot Berriot 9d9676aa17
Fix #237: Do not crash when importing track with an artist that do not match the release artist 2018-06-06 21:41:38 +02:00
Eliot Berriot 33ae51fc91 Merge branch '274-logging' into 'develop'
Resolve "Broken logging formatting in import task"

Closes #274 and #278

See merge request funkwhale/funkwhale!233
2018-06-05 18:55:17 +00:00
Eliot Berriot b7295382e7
Fix #274: Broken logging statement during import error 2018-06-05 20:52:03 +02:00
Eliot Berriot 7c47348855
Fix #267: Do not crash when tag contains multiple uuids with a / separator 2018-06-05 19:44:00 +02:00
Eliot Berriot a16bd2a409 Merge branch '273-fix-mimetypes' into 'develop'
Resolve "Update file_track_files command to handle bad mimetypes"

Closes #273

See merge request funkwhale/funkwhale!226
2018-06-03 17:00:54 +00:00
Eliot Berriot 18ad6cfa78
Fix #273: fix_track_files will now update files with bad mimetype 2018-06-03 18:57:35 +02:00
Eliot Berriot 36a0a4df4f
Removed transcoding support (#271) 2018-06-03 18:33:28 +02:00
Eliot Berriot 5afc3e4637
Fix #266: Ensure we do not store bad mimetypes 2018-06-03 18:07:59 +02:00
Eliot Berriot 290cae9a8f
Fix #231 and #219: ensure we import covers regarless of the import method
Can now import covers from track metadata and track directory as well
2018-06-02 17:34:46 +02:00
Eliot Berriot 8d50743b3b
Fix #258: Implemented getCovertArt in Subsonic API to serve album covers 2018-06-01 08:42:05 +02:00
Eliot Berriot c7782693bc
See #223: api for listing/managing library files 2018-05-29 00:07:20 +02:00
David Magnus Henriques 8790631a65 Removed Typo which broke oggVorbis-import 2018-05-26 13:23:08 +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 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 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
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 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 6fc4275b68
See #152: use new user permissions on relevant viewsets 2018-05-18 18:48:46 +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 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 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 1937b81699
Fix #196: In-place imported tracks non-ascii characters don't break reverse-proxy serving 2018-05-10 18:52:00 +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 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 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 23d21b0fdb
Fix #193: broken federated import 2018-05-07 19:22:09 +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 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 f4899c5387
Fix #176: Can now relaunch erored jobs and batches 2018-04-28 04:59:47 +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 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 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 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 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 f31874edf5
Implemented followers notification on import and autoimport 2018-04-17 19:35:57 +02:00