Commit graph

9637 commits

Author SHA1 Message Date
Sam Thursfield
b7ccb6f516 export,info: Improve performance of --library mode
The library mode was slow due to use of item.formatted(), which
runs multiple database queries per item. The --include-keys option
didn't help because it filtered the after the queries had already
happened.

This commit reworks filtering so that we only query the fields
that the user requests. In many cases this can dramatically speed up
execution.

Before:

    > /usr/bin/time beet  export -l Bob Dylan > /dev/null
    13.42user 21.56system 0:35.71elapsed 97%CPU (0avgtext+0avgdata 52396maxresident)k

    > /usr/bin/time beet  export -l -i artist,title,path Bob Dylan > /dev/null
    13.25user 21.17system 0:35.14elapsed 97%CPU (0avgtext+0avgdata 52112maxresident)k

After:

    > /usr/bin/time beet  export -l Bob Dylan > /dev/null
    1.46user 0.09system 0:01.60elapsed 97%CPU (0avgtext+0avgdata 51188maxresident)k

    > /usr/bin/time beet  export -l -i artist,title,path Bob Dylan > /dev/null
    0.50user 0.07system 0:00.58elapsed 97%CPU (0avgtext+0avgdata 50632maxresident)k
2020-09-30 20:12:02 +02:00
Sam Thursfield
aae422eaf2 export: Correctly export 'path' field when requested
This fixes a crash that could be seen by running:

    beet export --include=path .
2020-09-30 20:05:05 +02:00
Sam Thursfield
591038d246 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-09-30 17:36:23 +02:00
Benedikt
78f976320d
Merge pull request #3759 from ctrueden/beets-ibroadcast-plugin
Add beats-ibroadcast to list of external plugins
2020-09-29 21:02:03 +02:00
Curtis Rueden
ad399b3caa Add beats-ibroadcast to list of external plugins 2020-09-29 07:43:25 -05:00
Adrian Sampson
68cdaf23bf
Merge pull request #3755 from kdelwat/web-plugin-enhancements
Web plugin: support limited editing of items and albums
2020-09-20 21:29:52 -04:00
Cadel Watson
d1f93a26a6 Fix lint errors 2020-09-20 11:30:12 +10:00
Cadel Watson
3723f8a09f Update docs and changelog 2020-09-20 10:54:06 +10:00
Cadel Watson
a18b317240 Add PATCH method to item queries 2020-09-20 10:46:48 +10:00
Cadel Watson
afcde697e0 Add PATCH method to Items 2020-09-20 10:45:12 +10:00
Cadel Watson
29672a434f Add DELETE method to resource queries 2020-09-20 10:23:25 +10:00
Cadel Watson
76220fb148 Add DELETE method for items and albums 2020-09-20 10:18:07 +10:00
Adrian Sampson
b659ad6b0c Merge pull request #3670 from wisp3rwind/pr_remove_select
Add possibility to select individual items to the remove CLI command
2020-09-13 20:55:53 -04:00
djl
33b10d60fb
fetchart: Improve Cover Art Archive source. (#3748)
* fetchart: Improve Cover Art Archive source.

Instead of blindly selecting the first image, we now treat all "front"
images as candidates.

This is useful where some digital releases have both an animated cover
and a still image and the animated image is the first image returned
from the API.
2020-09-13 20:27:12 +01:00
wisp3rwind
1978484504 don't assume items are queried in any specific order in interactive delete test
The previous test worked (on my machine, and on Github CI and AppVeyor),
but it is not obvious whether the order is really guaranteed (given that
the full beets database stack and sqlite are involved). Thus, to prevent
this from exploding at some point, only verify the number of deletions
for now.
2020-09-13 15:55:09 +02:00
wisp3rwind
a8065ff3d6 update changelog 2020-09-13 14:26:39 +02:00
wisp3rwind
822bc1ce88 add possibility to select individual items to the remove CLI command 2020-09-13 14:26:00 +02:00
Adrian Sampson
0ca2c4e311
Merge pull request #3746 from Sciencentistguy/master
Added flac-specific samplerate-bitdepth reporting for duplicate imports
2020-09-07 20:15:52 -04:00
Jamie Quigley
e83959ab75
Add changelog item and merge if statements 2020-09-07 22:11:15 +01:00
Jamie Quigley
1ab162743a
Convert to kHz and meet line limit 2020-09-07 17:42:56 +01:00
Jamie Quigley
c8443332de
Added flac-specific samplerate-bitdepth reporting for duplicate imports 2020-09-07 17:32:03 +01: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
Jef LeCompte
f2a4864ab0
Merge pull request #3731 from jef/jef/fix-subsonic 2020-09-04 08:06:55 -04:00
Jef LeCompte
3c8419dbe0
fix(plugin): subsonicupdate rest call
Signed-off-by: Jef LeCompte <jeffreylec@gmail.com>
2020-09-04 00:51:03 -04:00
Adrian Sampson
ca33283526
Merge pull request #3732 from PotcFdk/patch-update-acoustid-on-submit
Update file metadata after generating fingerprints through the `submit` command.
2020-08-26 15:49:42 -04:00
PotcFdk
2039f26f96 Update file metadata after generating fingerprintsthrough the submit command. 2020-08-26 13:36:40 +02:00
Adrian Sampson
eb6bbaeee8
Merge pull request #3725 from aereaux/mpdstats_stop_no_skip
mpdstats: Don't record a skip when stopping MPD.
2020-08-10 10:37:12 -04:00
Aidan Epstein
fce27e6fa9 mpdstats: Don't record a skip when stopping MPD.
MPD keeps the current track in the queue when stopping, so it's not
really like a skip, and I use it so that I can stop the music, and later
start at the beginning of a track.

I do this by keeping track of the current song id, and then comparing
them when we receive a stop signal.
2020-08-10 07:07:17 -07:00
Jack Wilsdon
ff445ed2f8
Merge pull request #3716 from jackwilsdon/sphinx-problem-matcher
Add sphinx problem matcher
2020-08-06 12:53:30 +01: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
Jack Wilsdon
490fc07516
Add sphinx problem matcher 2020-08-03 13:23:15 +01:00
Jack Wilsdon
78d8e31eeb
Merge pull request #3714 from jackwilsdon/problem-matcher
Add flake8 problem matcher
2020-08-02 23:32:56 +01:00
Jack Wilsdon
5d24cb0e1d
Include error code in message 2020-08-02 22:41:01 +01:00
Jack Wilsdon
20a228c21b
Add flake8 problem matcher 2020-08-02 22:17:32 +01:00
Jack Wilsdon
20713a2ac3
Merge pull request #3713 from jackwilsdon/skip-genius-ci
Skip Genius integration test on GitHub actions
2020-08-02 18:54:10 +01:00
Jack Wilsdon
92f425628d
Skip Genius integration test on GitHub actions 2020-08-02 17:56:22 +01:00
Jack Wilsdon
6e4207f35a
Merge pull request #3712 from jackwilsdon/zulip-notifications
Notify Zulip chat on integration test failure
2020-08-02 16:06:23 +01:00
Jack Wilsdon
c7859ca9c6
Add worfklow_dispatch trigger
This change allows us to trigger integration tests manually.
2020-08-02 15:51:15 +01:00
Jack Wilsdon
5f44c3147d
Switch to #github for integration test messages 2020-08-02 15:37:01 +01:00
Jack Wilsdon
c9f9f9691d
Notify Zulip chat on integration test failure 2020-08-02 15:14:50 +01:00
jtpavlock
9291d9c304
Fix rarfile 4.0 dependency conflict (#3711) 2020-08-01 16:35:53 -05:00
Adrian Sampson
c45cc740ce
Merge pull request #3702 from gschmidl/master
fix 'the' plugin regex
2020-07-30 21:35:25 -04:00
Gunther Schmidl
48d39ea11e fix regex, add test and changelog entry 2020-07-30 22:42:31 +02:00
Jacob Pavlock
4e93469421 fix missing docstring-convention declaration 2020-07-29 20:32:53 -07:00
Jacob Pavlock
02fcbea676 add google docstring convention to CONTRIBUTING.rst 2020-07-29 17:21:15 -07:00
Jacob Pavlock
019055c156 add docstring checks to flake8
currently ignore all errors on a per-file basis
2020-07-29 17:21:15 -07:00
jtpavlock
0cd102b0dd Update pytest test writing restriction
I think the basics sections is fairly self explanatory at this point especially with the copious amounts of examples we have. Also, if we kept it, we'd have to expand on pytest basics as well. I'd rather just point to the docs/getting started guides for each.
2020-07-29 12:39:59 -07:00
Adrian Sampson
2408f6b36f
Merge pull request #3691 from chipsnblip/chipsnblip-patch-1
update link to current homepage
2020-07-26 17:04:08 -04: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
Adrian Sampson
b258e060a8
Merge pull request #3688 from gschmidl/master
fix #3685
2020-07-26 15:13:05 -04:00