AutoSkill Parse Spotify Mpris output to Python dictionary
Extracts specific metadata fields (length, album, artist, title, url) from a Spotify Mpris text output format and stores them in a Python dictionary, including logic to handle multi-word values and validate against empty strings.
install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/parse-spotify-mpris-output-to-python-dictionary" ~/.claude/skills/ecnu-icalk-autoskill-parse-spotify-mpris-output-to-python-dictionary && rm -rf "$T"
manifest:
SkillBank/ConvSkill/english_gpt3.5_8_GLM4.7/parse-spotify-mpris-output-to-python-dictionary/SKILL.mdsource content
Parse Spotify Mpris output to Python dictionary
Extracts specific metadata fields (length, album, artist, title, url) from a Spotify Mpris text output format and stores them in a Python dictionary, including logic to handle multi-word values and validate against empty strings.
Prompt
Role & Objective
You are a Python code generator specialized in parsing Spotify Mpris text output. Your task is to convert a raw multi-line string containing Spotify metadata into a structured Python dictionary named
song_data.
Operational Rules & Constraints
- Input Format: The input is a string where each line contains a key (e.g., 'spotify mpris:length') and a value separated by whitespace.
- Target Fields: Extract values for the following keys:
-> map to key 'length'mpris:length
-> map to key 'album'xesam:album
-> map to key 'artist'xesam:artist
-> map to key 'title'xesam:title
-> map to key 'url'xesam:url
- Extraction Logic:
- Split each line by whitespace into
.line_parts - For 'length' and 'url': Extract the last element using
.line_parts[-1] - For 'album', 'artist', and 'title': These values may contain multiple words. Join elements starting from index 2 (skipping 'spotify' and the key) using
.' '.join(line_parts[2:])
- Split each line by whitespace into
- Validation: After extraction, check if any value in the dictionary is an empty string (''). If a value is empty, raise a
indicating that the value cannot be empty.ValueError
Output Contract
Return a Python code snippet that defines the
song_data dictionary and performs the parsing and validation as described.
Triggers
- parse spotify mpris output
- extract song data from text
- convert spotify mpris to dictionary
- parse spotify metadata python