beetbox / beetbox/beets

web plugin `readonly` and `include_paths` not working?

Open
#5,294 0 comments 0 reactions 0 assignees View on GitHub
web
Dominant language
Python
Stars
15.7k
Forks
2.1k
Avg merge
4d 21h
Merged PRs (30d)
31

Description

Seems reproducible by other folks. Think this might worth raising as issue.

### Discussed in https://github.com/beetbox/beets/discussions/5290

Originally posted by **iveney** June 7, 2024
I enabled web in the plugin list, and can successfully run it with `beet web`

```
web:
host: 0.0.0.0
readonly: no
include_paths: yes
```

However, I cannot edit the tag or show the path. I can play and download without any problem. How do I enable editing and show the paths?

![image](https://github.com/beetbox/beets/assets/51033/a4224ceb-cf1b-4d83-bdd6-c53c472a9d57)

```
❯ beet --version
beets version 2.0.0
Python version 3.12.3
plugins: duplicates, edit, fetchart, fromfilename, info, inline, lastgenre, mbsubmit, mbsync, plexupdate, spotify, unimported, web

```

### Problem

Running this command in verbose (`-vv`) mode:

```sh
$ beet -vv web
```

Led to this problem:

```
Can open the web ui, but cannot see / modify tags and the path
```

### Setup

* OS: Debian Linux 6.1.0-21-amd64 x86_64
* Python version: 3.12.3
* beets version: 2.0.0
* Turning off plugins made problem go away (yes/no): N/A

My configuration (output of `beet config`) is:

```yaml
directory:
# --------------- Main ---------------

library:

import:
hardlink: yes
incremental: yes
write: no

# --------------- Plugins ---------------

plugins: fetchart lastgenre spotify fromfilename duplicates web edit info mbsubmit plexupdate unimported inline mbsync

# --------------- Tagging ---------------

per_disc_numbering: yes
paths:
default: $albumartist/$album%aunique{}/%if{$multidisc,CD $disc/}$track $title
item_fields:
multidisc: 1 if disctotal > 1 else 0
disc00: u'%02i' % (disc)
spotify:
source_weight: 0.5
mode: list
tiebreak: popularity
show_failures: no
artist_field: albumartist
album_field: album
track_field: title
region_filter:
regex: []
client_id: REDACTED
client_secret: REDACTED
tokenfile: spotify_token.json
languages: en zh jp

ui:
color: yes
web:
host: 0.0.0.0
readonly: no
include_paths: yes
port: 8337
cors: ''
cors_supports_credentials: no
reverse_proxy: no
unimported:
ignore_extensions: jpg png DS_Store
ignore_subdirectories: NonMusic data temp
plex:
token: REDACTED
host: localhost
port: 32400
library_name: Music
secure: no
ignore_cert_errors: no
pathfields: {}
album_fields: {}
fetchart:
auto: yes
minwidth: 0
maxwidth: 0
quality: 0
max_filesize: 0
enforce_ratio: no
cautious: no
cover_names:
- cover
- front
- art
- album
- folder
sources:
- filesystem
- coverart
- itunes
- amazon
- albumart
- cover_art_url
store_source: no
high_resolution: no
deinterlace: no
cover_format:
google_key: REDACTED
google_engine: REDACTED
fanarttv_key: REDACTED
lastfm_key: REDACTED
duplicates:
album: no
checksum: ''
copy: ''
count: no
delete: no
format: ''
full: no
keys: []
merge: no
move: ''
path: no
tiebreak: {}
strict: no
tag: ''
mbsubmit:
format: $track. $title - $artist ($length)
threshold: medium
picard_path: picard
edit:
albumfields: album albumartist
itemfields: track title artist album
ignore_fields: id path
lastgenre:
whitelist: yes
min_weight: 10
count: 1
fallback:
canonical: no
source: album
force: yes
auto: yes
separator: ', '
prefer_specific: no
title_case: yes

```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the problem with `beet -vv web` using the posted `web` configuration, especially `readonly` and `include_paths`. Trace the web plugin's handling of those settings; done means the web UI permits tag editing when `readonly: no` and displays paths when `include_paths: yes`.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
web-dev
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.