Commit graph

1054 commits

Author SHA1 Message Date
Sam Thursfield
2fa3717731 Optimise FormattedMapping when querying a specific set of fields
This changes greatly improves the speed of `beet export` and `beet info`
when the `--include-keys` option is used. It also removes the globbing
feature of `--include-keys` that was added in #1295. (See #3762 for
discussion).

Listing all fields for an item requires querying the database to find
any flex attributes. This is slow when done for every item being
exported. We already have a way for the user to specify a fixed set
of keys, but we previously queried everything and filtered it afterwards.
The new approach is more efficient.

Code that iterates through all fields now have to handle invalid field
names. The export and info plugins output invalid fields as None.

Timings before:

    > /usr/bin/time beet export -i title,path,artist -l  Bob Dylan
    13.26user 20.22system 0:34.01elapsed 98%CPU (0avgtext+0avgdata 52544maxresident)k

    > /usr/bin/time beet export -l  Bob Dylan
    12.93user 20.15system 0:33.58elapsed 98%CPU (0avgtext+0avgdata 53632maxresident)k

Timings after:

    > /usr/bin/time beet export -l  Bob Dylan
    13.33user 20.17system 0:34.02elapsed 98%CPU (0avgtext+0avgdata 53500maxresident)k

    > /usr/bin/time beet export -i title,path,artist -l  Bob Dylan
    0.49user 0.07system 0:00.56elapsed 98%CPU (0avgtext+0avgdata 50496maxresident)k

Notice the dramatic speedup in the last example!
2021-05-01 23:41:09 +02:00
Adrian Sampson
eab4372a58
Merge pull request #3900 from Lanny/master
badfiles: Optionally run checkers during import
2021-03-29 19:28:30 -04:00
Adrian Sampson
f067180c4c
Shorten a ReST underline 2021-03-28 14:23:38 -04:00
Xavier Hocquet
6081e6a8df CR comments 2021-03-28 13:08:00 -05:00
Xavier Hocquet
8c6530369d
Merge branch 'master' into tekstowo-lyrics 2021-03-28 12:05:42 -06:00
Ryan Lanny Jenkins
3e1fe88053 Merge branch 'master' of https://github.com/beetbox/beets 2021-03-24 16:59:24 -05:00
Ryan Lanny Jenkins
2f8a8e2f8a Add docs for badfiles' check_on_import option. 2021-03-24 16:55:28 -05:00
wisp3rwind
9a6b65351b Merge pull request #3560 from davidswarbrick/master
Album Art Resize to filesize
2021-03-23 12:15:51 +01:00
David Swarbrick
07b5e69f40 fetchart/artresizer: add max_filesize support (#3560)
Squashed from the PR, relevant commit messages follow below:

Added file size option to artresizer

 - In line with comments on PR, adjusted the ArtResizer API to add
   functionality to "resize to X bytes" through `max_filesize` arg

 - Adjustment to changelog.rst to include max_filesize change to ArtResizer
   and addition of new plugin.

Added explicit tests for PIL & Imagemagick Methods

 - Checks new resizing functions do reduce the filesize of images

Expose max_filesize logic to fetchart plugin

- Add syspath escaping for OS cross compatibility
- Return smaller PIL image even if max filesize not reached.
- Test resize logic against known smaller filesize (//2)
- Pass integer (not float) quality argument to PIL
- Remove Pillow from dependencies
- Implement "max_filesize" fetchart option, including
  logic to resize and rescale if maxwidth is also set.

Added tests & documentation for fetchart additions.

Tests now check that a target filesize is reached with a
higher initial quality (a difficult check to pass).

With a starting quality of 95% PIL takes 4 iterations to succeed
in lowering the example cover image to 90% its original size.
To cover all bases, the PIL loop has been changed to 5 iterations
in the worst case, and the documentation altered to reflect the
50% loss in quality this implies. This seems reasonable as users
concerned about performance would most likely be persuaded to
install ImageMagick, or remove the maximum filesize constraint.
The previous 30% figure was arbitrary.
2021-03-23 12:00:14 +01:00
Graham R. Cobb
cad2c055c5 Make unicode handling explicit, to support python 2 and 3.
Add link to Unidecode library in docs.

Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-16 16:29:57 +00:00
Graham Cobb
4b9c9d0a5f
doc improvement as suggested by @sampsyo
Co-authored-by: Adrian Sampson <adrian@radbox.org>
2021-03-16 15:30:43 +00:00
Graham Cobb
2df3765521
Tidy doc as suggested by @sampsyo
Co-authored-by: Adrian Sampson <adrian@radbox.org>
2021-03-16 15:29:35 +00:00
Graham R. Cobb
d1ec7b4b70 Add `bareasc` command to display entries with the unidecode transformation
applied.

Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-16 11:57:52 +00:00
Graham R. Cobb
06b6b72e0e Add credit to Unidecode library into bareasc docs.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 22:52:14 +00:00
Graham R. Cobb
f4fccfa05c Add documentation for bareasc to the plugins index.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 15:53:14 +00:00
Graham R. Cobb
341a0a0adf Added documentation and changelog for bareasc.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-15 15:34:58 +00:00
Graham R. Cobb
680ccdcd96 Documentation and changelog for web `readonly` option fixing #3870.
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-11 23:09:51 +00:00
David Dembeck
374707bb7a
remove LyricsWiki from default sources in docs
https://github.com/beetbox/beets/pull/3766 missed removing this
2021-03-10 12:59:48 -06:00
govynnus
debd382837
Merge pull request #3758 from beetbox/aura
AURA: Add aura plugin and docs
2021-03-08 07:24:53 +00:00
Callum Brown
a24a094562 AURA: Small updates to docs and set server version 2021-03-07 18:24:57 +00:00
Callum Brown
9b9ff46e7d Merge branch 'master' into aura
Ensure aura branch has updated configuration to eliminate spurious
linter errors from the style checker.
2021-03-07 11:08:37 +00:00
Graham R. Cobb
49c747d144 Small documentation change to make GET /album/.../art clearer
Signed-off-by: Graham R. Cobb <g+beets@cobb.uk.net>
2021-03-06 15:14:41 +00:00
George Rawlinson
00252ab28f
Fix #3608: Replace discogs-client with python3-discogs-client
discogs-client has been deprecated since June 2020, the replacement
is actively developed by the community and does not have any breaking
API changes.

Signed-off-by: George Rawlinson <george@rawlinson.net.nz>
2021-02-27 10:09:23 +13:00
Andrea Mistrali
af2229c1b7 Fix docs and changelog 2021-02-22 14:28:14 +01:00
Andrea Mistrali
414b682123 Add strip_path to mpdstats 2021-02-22 11:19:23 +01:00
ybnd
93101e7ea6 Disable replaygain parallelism during import 2020-12-21 19:19:20 +01:00
sentriz
95677c8626
lastgenre: Make TitleCasing optional 2020-12-15 23:37:16 +00:00
ybnd
e3205aacbd Merge remote-tracking branch 'origin/master' into parallel-replaygain 2020-12-14 22:19:28 +01:00
Callum Brown
c2a92fdbf8 AURA: Update reverse proxy docs 2020-11-21 18:40:44 +00:00
rachmadaniHaryono
bb80fe5c5b fix: doc: copyartifacts fork 2020-11-11 12:16:30 +08:00
Callum Brown
72c0412552 AURA: Small updates to documentation 2020-10-30 12:27:22 +00:00
Nathan
90cf26389e
Swap links 2020-10-08 00:35:03 -07:00
Jack Wilsdon
d115f3679b
Remove LyricWiki source
LyricWiki was shut down on 2020/09/21 and no longer serves lyrics.
2020-10-05 22:15:40 +01:00
Sam Thursfield
d9582f4bea export: Add --format=jsonlines option
This adds support for the JSON Lines format as documented at
https://jsonlines.org/.

In this mode the data is output incrementally, whereas the other
modes load every item into memory and don't produce output until
the end.
2020-10-02 12:41:29 +02:00
Curtis Rueden
ad399b3caa Add beats-ibroadcast to list of external plugins 2020-09-29 07:43:25 -05:00
Callum Brown
5c875c50de AURA: Add aura plugin and docs 2020-09-21 20:24:41 +01:00
Cadel Watson
3723f8a09f Update docs and changelog 2020-09-20 10:54:06 +10:00
jtpavlock
c9f59ee38d
Add broken link checker to integration test (#3703)
* fix broken links
* add link check command to tox
* add link check to the weekly integration test
2020-09-04 15:42:36 -05:00
ybnd
72710cd8c7 Merge branch 'master' into parallel-replaygain 2020-08-12 11:59:32 +02:00
Samuel Cook
b89a2650cc
Delete after convert (#3700)
* If import move is true, files will be deleted after converting.
Fixes #2947

* Removed trailing whitespace to comply with W293, fixing build

* Add period to the end of the comment

Co-Authored-By: Adrian Sampson <adrian@radbox.org>

* Added changelog entry for this fix.

* Added delete_originals option to remove source files after transcode

* Added unit test, removed redundant syspath call

Co-authored-by: Logan Arens <logan-arens@users.noreply.github.com>
Co-authored-by: Logan Arens <heresmygithub@protonmail.com>
Co-authored-by: Adrian Sampson <adrian@radbox.org>
Co-authored-by: Logan Arens <logan.arens@protonmail.com>
2020-08-03 20:20:20 -05:00
chipsnblip
30173b7331
update link to current homepage
update link from non-existent page (https://2.python-requests.org/en/latest/) to the plugin's current homepage: https://requests.readthedocs.io/en/master/
2020-07-26 13:50:05 -07:00
Aidan Epstein
27199abac8 Get the date of the parentwork, which may be different from the date of the child work.
Also add a changelog entry and docs.
2020-07-03 09:35:15 -07:00
Adrian Sampson
9b47e4fa23
Merge pull request #3619 from trolley/topic/plex-secure-connections
feat: support secure Plex connections
2020-06-08 20:28:27 -04:00
Mark Trolley
6d41f31309 Rename use_secure to secure and add to changelog 2020-06-08 20:19:19 -04:00
Mark Trolley
22d74a3b8a feat: support secure Plex connections 2020-06-08 18:05:43 -04:00
Mark Trolley
2ae0dbbd7a docs: clarify mbcollection options 2020-06-08 16:29:33 -04:00
Martin Kirchgessner
fc4a61c557 add drop2beets to community plugins 2020-05-23 17:09:18 +02:00
soergeld
ed97b984b0 Documentation 2020-05-13 18:02:14 +02:00
Dorian Soergel
e8b57dfda6
Update docs/plugins/parentwork.rst
Co-authored-by: Adrian Sampson <adrian@radbox.org>
2020-05-13 14:55:00 +02:00
soergeld
918fea5eca small changes, documentation 2020-05-12 16:05:08 +02:00