Commit graph

10772 commits

Author SHA1 Message Date
Adrian Sampson
4e692095eb
Changelog for #4160 2021-11-26 15:39:30 -05:00
Adrian Sampson
1fad3d01ae
aura: Sanitize filenames in image IDs
When constructing paths to image files to serve, we previously spliced
strings from URL requests directly into the path to be opened. This is
theoretically worrisome because it could allow clients to read other
files that they are not supposed to read.

I'm not actually sure this is a real security problem because Flask's
URL parsing should probably rule out IDs that have `/` in them anyway.
But out of an abundance of caution, this now prevents paths from showing
up in IDs at all---and also prevents `.` and `..` from being valid
names.
2021-11-26 15:35:07 -05:00
Adrian Sampson
54f4ccb1c5
Merge pull request #4155 from beetbox/album_removed_event 2021-11-22 21:00:54 -05:00
David Logie
9c9f7eb1ed Move the plugins.send() call into the Album.remove() method. 2021-11-22 22:02:09 +00:00
David Logie
73c7cc86fe Add an 'album_removed' event.
This works similarly to the existing 'item_removed' event but is called
with an `Album` object.
2021-11-22 20:56:50 +00:00
Adrian Sampson
ca1974ff86
Merge pull request #4154 from catap/missed-py7zr
Add missed `py7zr` dependency
2021-11-21 20:20:22 -05:00
Kirill A. Korinsky
c78bd2972c
Add missed py7zr dependency 2021-11-21 20:10:30 +01:00
Adrian Sampson
b07d1756a5
Merge pull request #4152 from catap/double-dots-tests
Prevent fails of tests when path contains dots
2021-11-19 12:01:31 -05:00
Kirill A. Korinsky
c459ff26fb
Prevent fails of tests when path contains dots
Unit test may fails when path to temprorary library contains `.`; to
garantue that bug wasn't here, it forces to use one more `.` inside path.

Fixes: https://github.com/beetbox/beets/issues/4151
2021-11-19 16:54:28 +01:00
Adrian Sampson
57797a5d73
Merge pull request #4148 from beteivap/master
Improve Spotify plugin test coverage
2021-11-18 21:05:09 -05:00
Paldin Bet Eivaz
a1fe106dc5 fixed linting error 2021-11-18 09:37:15 -08:00
Paldin Bet Eivaz
7a30bd6d61 created Spotify track and album info rsrcs 2021-11-17 16:25:26 -08:00
Paldin Bet Eivaz
d7055fac1d added test for track_for_id method 2021-11-17 16:24:10 -08:00
Adrian Sampson
281eec8a48
Merge pull request #4147 from jcassette/query-perf
Use short-circuit evaluation in AndQuery and OrQuery (fix #4145)
2021-11-17 07:59:43 -05:00
Julien Cassette
5e6be0ddb3 Use short-circuit evaluation in AndQuery and OrQuery (fix #4145) 2021-11-16 21:44:57 +01:00
Christopher Larson
b7d0ddf6a4
Merge pull request #4146 from kergoth/move-pluginload 2021-11-16 08:11:37 -07:00
Christopher Larson
a7ef7704f8 Send the pluginload event after types and queries are available
Making these types and queries available is part of fully loading the plugins,
so the event should not be sent until this work is done. This allows plugins
to make use of those types and queries in a pluginload listener.
2021-11-15 21:27:39 -07:00
Adrian Sampson
f3552f09cf
Merge pull request #4140 from jcassette/aunique-flexattr
Use slow queries for flexible attributes in aunique (fix #2678, close #3553)
2021-11-11 14:40:07 -05:00
Julien Cassette
b67c25a55d Use slow queries for flexible attributes in aunique (fix #2678, close #3553) 2021-11-11 19:32:55 +01:00
Adrian Sampson
3b531811b9
Merge pull request #4133 from ArsenArsen/convert-cover-format
Add option to convert cover art file format.
2021-11-03 10:29:09 -04:00
Arsen Arsenović
3de657403a
changelog: add entry about fetch_art cover_format 2021-11-03 13:31:34 +01:00
Arsen Arsenović
96be1840e3
docs: add fetchart cover_format option 2021-11-03 13:31:33 +01:00
Arsen Arsenović
0b578a3384
fetchart: add option to force cover format 2021-11-03 13:31:33 +01:00
Adrian Sampson
8fb1c03ca5
Merge pull request #4029 from khnsky/deinterlace
Add option to fetchart to store cover art as non-progressive.
2021-11-01 17:07:44 -04:00
Piotrek Kochański
4d94bf8fad Merge branch 'master' of github.com:beetbox/beets into deinterlace 2021-11-01 21:33:27 +01:00
wisp3rwind
5578d0713b update changelog for #4060 2021-11-01 19:00:43 +01:00
Benedikt
813dea160e
Merge pull request #4060 from catap/atomic-move
Introduce atomic move and write of file
2021-11-01 18:55:15 +01:00
Benedikt
bcdf78e0c3
Merge pull request #4129 from tianon/color-move
Use "colordiff" to highlight "beet move" path differences
2021-11-01 18:48:05 +01:00
Benedikt
82285052b1
Merge pull request #4130 from wisp3rwind/pr_rm_gmusic
remove the gmusic plugin
2021-11-01 18:40:34 +01:00
Piotrek Kochański
fbc2862ff0 Improve style and clarity of comments 2021-11-01 18:35:45 +01:00
Piotrek Kochański
1a130059e8 deinterlace option to affect when no other processing
remove interlacing by default when resizing/down-scaling, the
`deinterlace` option is to remove interlace when otherwise no processing
would have happened.
2021-11-01 13:51:57 +01:00
Tianon Gravi
5886aa9247 Use "colordiff" to highlight "beet move" path differences 2021-10-31 15:17:33 -07:00
Piotrek Kochański
417ef0d453 Merge branch 'master' of github.com:beetbox/beets into deinterlace 2021-10-31 13:27:00 +01:00
Benedikt
361ff05b51
Merge pull request #4131 from tianon/export-albums-todone
Remove completed TODO item
2021-10-30 21:49:58 +02:00
Tianon Gravi
6e434934d4 Remove completed TODO item 2021-10-30 11:19:21 -07:00
Kirill A. Korinsky
8d50301be5 Introduce atomic move and write of file
The idea of this changes is simple: let move file to some temporary name
inside distance folder, and after the file is already copy it renames to
expected name.

When someone tries to save anything it also moves file to trigger OS
level notification for change FS.

This commit also enforce that `beets.util.move` shouldn't be used to
move directories as it described in comment.

Thus, this is fixed #3849
2021-10-30 20:17:11 +02:00
wisp3rwind
786236f046 remove the gmusic plugin 2021-10-30 14:46:14 +02:00
Adrian Sampson
be82fd0f4a
Merge pull request #4124 from tianon/album-info
Add a basic "--album" flag to "beet info"
2021-10-29 21:08:05 -04:00
Christopher Larson
b8b74a7f9c
Merge pull request #4125 from kergoth/destination-replacements 2021-10-27 13:26:22 -07:00
Christopher Larson
86465e6437 Allow custom replacements in Item.destination
This allows for the use of differing replacements for destinations other than
the library, which is useful for beets-alternatives in the case where
filesystem requirements differ between the two paths.

Signed-off-by: Christopher Larson <kergoth@gmail.com>
2021-10-27 12:30:16 -07:00
Tianon Gravi
9ddc75035a Fix duplicated output in "beet export" 2021-10-27 09:06:27 -07:00
Tianon Gravi
7bd36ed6ca Add "beet export --album" (matching "beet info --album") 2021-10-27 08:55:36 -07:00
Tianon Gravi
89a7cc3701 Add "beet info --album" changelog entry 2021-10-27 08:30:05 -07:00
Tianon Gravi
a5b5831d28 Switch "beet info --album" approach to use a named argument instead
These functions are also used by the export plugin, so it's useful if the signature stays backwards compatible.
2021-10-27 08:27:39 -07:00
Duncan Overbruck
a2030d1a63
changelog: import/modify field formatting 2021-10-27 00:28:23 +02:00
Duncan Overbruck
5824d46353
changelog: rewrite permissions cover art change 2021-10-27 00:28:23 +02:00
Duncan Overbruck
819ba735bd
allow templates/formatting of set_fields on import 2021-10-27 00:28:23 +02:00
Duncan Overbruck
636e36ef7a
allow templates/formatting when setting fields with modify 2021-10-27 00:10:25 +02:00
Tianon Gravi
5c41478263 Add "beet info --album" to the plugin documentation too 2021-10-26 09:09:44 -07:00
Tianon Gravi
d8cff030a6 Add a basic "--album" flag to "beet info"
This currently implies "--library" because I'm not sure what "album info" of the tags of individual files would mean.
2021-10-26 09:00:31 -07:00