question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

beet import icremental

See original GitHub issue

Problem

Sorry, but I don’t quite understand how it works beet import -i

I have a fairly large library and sometimes I delete several directories

at this point when I use beet import -i I would expect beet to automatically delete from the database the paths it no longer finds, in the same way it does with new paths (which it adds in this case) am I missing something in the configuration?

I would expect it to first delete the paths that no longer exist and then import the new ones. Otherwise, it would keep the old path in case of renaming…

Setup

  • OS: Gentoo
  • Python version: 3.9.13
  • beets version: 1.6.0
  • Plugin: acousticbrainz, chroma, info, lastgenre, missing, play, types
  • Turning off plugins made problem go away (yes/no):

My configuration (output of beet config) is:

plugins: play info acousticbrainz chroma lastgenre missing types
directory: /home/filippo/Musica/

import:
    copy: no
    write: no
    log: /home/filippo/.config/beets/import.log
    default_action: apply
    languages: en de it
play:
    command: gst-play-1.0 --gapless --audiosink='alsasink device=hw:CARD=DirettaAlsa,DEV=0'
    raw: yes
    use_folders: no
    relative_to:
    warning_threshold: 100
    bom: no
acoustid:
    apikey: REDACTED
chroma:
    auto: yes
acousticbrainz:
    auto: yes
    force: yes
    tags: []
lastgenre:
    auto: yes
    canonical: ~/.config/beets/genres/genres-tree.yaml
    whitelist: ~/.config/beets/genres/genres.txt
    count: 5
    fallback: Pop/Rock
    separator: '; '
    force: no
    min_weight: 10
    prefer_specific: no
    source: track
    title_case: yes
verbose: no

ui:
    color: yes
    colors:
        text_success: green
        text_warning: blue
        text_error: red
        text_highlight: blue
        text_highlight_minor: lightgray
        action_default: darkblue
        action: purple
hook:
    hooks:
    -   event: album_imported
        command: echo "\"{album}\""
    -   event: import
        command: echo "imported from {paths}"
    -   event: art_set
        command: echo "Coverart saved"
    -   event: import_begin
        command: echo "GP import started..."
    -   event: import_task_apply
        command: echo "Metadata applied"
    -   event: item_copied
        command: echo "\"{item}\" copied from \"{source}\" to \"{destination}\""
    -   event: item_moved
        command: echo "Moved \"{item}\""
    -   event: write
        command: echo "Writing to {path}"
    -   event: cli_exit
        command: echo "All tasks finished!"
missing:
    count: no
    total: no
    album: no

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:6 (4 by maintainers)

github_iconTop GitHub Comments

1reaction
antonellocarolicommented, Jun 20, 2022

Thanks!

that does the job for me:

beet update -F deleted

1reaction
sampsyocommented, Jun 19, 2022

It’s true; import -i only affects the new files we’re importing—it doesn’t do anything to files that are already in the database.

There actually is a command that does look for missing files and remove them from the database—namely, the beet update command: https://beets.readthedocs.io/en/stable/reference/cli.html#update

Maybe that does what you’re interested in!

Read more comments on GitHub >

github_iconTop Results From Across the Web

Configuration — beets 1.6.0 documentation - Read the Docs
By default, the beets importer groups tracks into albums based on the directories they reside in. This option instead uses files' metadata to...
Read more >
Update scanning an existing beets database - Help
If you want to import only the new stuff from a directory, use the -i option to run an incremental import. With this...
Read more >
Incremental import for singletons #1441 - beetbox/beets - GitHub
My use case is: The music library is already organised. I want to use beets to build a database and correct some tags...
Read more >
beets Documentation - Read the Docs
If you want to import only the new stuff from a directory, use the -i option to run an incremental import. With this...
Read more >
beets-noimport - PyPI
Adds directories to the incremental import skip list. Install. To install this plugin, run. ` pip install beets-noimport `. and add noimport to...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found