player-mpris-tail: improve tags
This commit is contained in:
parent
6bf8c3d478
commit
31d15af87f
@ -2,6 +2,7 @@
|
||||
|
||||
import sys
|
||||
import dbus
|
||||
import os
|
||||
from operator import itemgetter
|
||||
import argparse
|
||||
import re
|
||||
@ -214,6 +215,8 @@ class Player:
|
||||
self.metadata['disc'] = _getProperty(self._metadata, 'xesam:discNumber', '')
|
||||
self.metadata['date'] = re.sub(SAFE_TAG_REGEX, """\1\1""", _getProperty(self._metadata, 'xesam:contentCreated', ''))
|
||||
self.metadata['year'] = re.sub(SAFE_TAG_REGEX, """\1\1""", self.metadata['date'][0:4])
|
||||
self.metadata['url'] = _getProperty(self._metadata, 'xesam:url', '')
|
||||
self.metadata['filename'] = os.path.basename(self.metadata['url'])
|
||||
cover = _getProperty(self._metadata, 'xesam:artUrl', '')
|
||||
if not len(cover):
|
||||
cover = _getProperty(self._metadata, 'mpris:artUrl', '')
|
||||
@ -252,6 +255,12 @@ class Player:
|
||||
formatlen = match.group('formatlen')
|
||||
text = match.group('text')
|
||||
tag_found = False
|
||||
reversed_tag = False
|
||||
|
||||
if tag.startswith('-'):
|
||||
tag = tag[1:]
|
||||
reversed_tag = True
|
||||
|
||||
if format is None:
|
||||
tag_is_format_match = re.match(FORMAT_TAG_REGEX, tag)
|
||||
if tag_is_format_match:
|
||||
@ -270,6 +279,9 @@ class Player:
|
||||
if tag_found is False and tag in metadata and len(metadata[tag]):
|
||||
tag_found = True
|
||||
|
||||
if reversed_tag:
|
||||
tag_found = not tag_found
|
||||
|
||||
if tag_found:
|
||||
return text
|
||||
else:
|
||||
@ -277,7 +289,6 @@ class Player:
|
||||
|
||||
def printStatus(self):
|
||||
if self.status in [ 'playing', 'paused' ]:
|
||||
if self.metadata['title']:
|
||||
metadata = { **self.metadata, 'icon': self.icon, 'icon-reversed': self.icon_reversed }
|
||||
# replace metadata tags in text
|
||||
text = re.sub(FORMAT_REGEX, lambda match: self._statusReplace(match, metadata), FORMAT_STRING)
|
||||
@ -360,7 +371,7 @@ parser.add_argument('-b', '--blacklist', help="ignore a player by it's bus name.
|
||||
action='append',
|
||||
metavar="BUS_NAME",
|
||||
default=[])
|
||||
parser.add_argument('-f', '--format', default='{icon} {artist} - {title}')
|
||||
parser.add_argument('-f', '--format', default='{icon} {:artist:{artist} - :}{:title:{title}:}{:-title:{filename}:}')
|
||||
parser.add_argument('--truncate-text', default='…')
|
||||
parser.add_argument('--icon-playing', default='⏵')
|
||||
parser.add_argument('--icon-paused', default='⏸')
|
||||
|
Loading…
x
Reference in New Issue
Block a user