mirror of
https://github.com/powerline/powerline.git
synced 2025-07-27 07:44:36 +02:00
Merge branch 'pr-1811' into develop
This commit is contained in:
commit
e627b29f76
@ -528,3 +528,59 @@ Requires ``osascript``.
|
|||||||
|
|
||||||
{0}
|
{0}
|
||||||
''').format(_common_args.format('itunes')))
|
''').format(_common_args.format('itunes')))
|
||||||
|
|
||||||
|
|
||||||
|
class MocPlayerSegment(PlayerSegment):
|
||||||
|
def get_player_status(self, pl):
|
||||||
|
'''Return Music On Console (mocp) player information.
|
||||||
|
|
||||||
|
``mocp -i`` returns current information i.e.
|
||||||
|
|
||||||
|
.. code-block::
|
||||||
|
|
||||||
|
File: filename.format
|
||||||
|
Title: full title
|
||||||
|
Artist: artist name
|
||||||
|
SongTitle: song title
|
||||||
|
Album: album name
|
||||||
|
TotalTime: 00:00
|
||||||
|
TimeLeft: 00:00
|
||||||
|
TotalSec: 000
|
||||||
|
CurrentTime: 00:00
|
||||||
|
CurrentSec: 000
|
||||||
|
Bitrate: 000kbps
|
||||||
|
AvgBitrate: 000kbps
|
||||||
|
Rate: 00kHz
|
||||||
|
|
||||||
|
For the information we are looking for we don’t really care if we have
|
||||||
|
extra-timing information or bit rate level. The dictionary comprehension
|
||||||
|
in this method takes anything in ignore_info and brings the key inside
|
||||||
|
that to the right info of the dictionary.
|
||||||
|
'''
|
||||||
|
now_playing_str = run_cmd(pl, ['mocp', '-i'])
|
||||||
|
if not now_playing_str:
|
||||||
|
return
|
||||||
|
|
||||||
|
now_playing = dict((
|
||||||
|
line.split(': ', 1)
|
||||||
|
for line in now_playing_str.split('\n')[:-1]
|
||||||
|
))
|
||||||
|
state = _convert_state(now_playing.get('State', 'stop'))
|
||||||
|
return {
|
||||||
|
'state': state,
|
||||||
|
'album': now_playing.get('Album', ''),
|
||||||
|
'artist': now_playing.get('Artist', ''),
|
||||||
|
'title': now_playing.get('SongTitle', ''),
|
||||||
|
'elapsed': _convert_seconds(now_playing.get('CurrentSec', 0)),
|
||||||
|
'total': _convert_seconds(now_playing.get('TotalSec', 0)),
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
mocp = with_docstring(MocPlayerSegment(),
|
||||||
|
('''Return MOC (Music On Console) player information
|
||||||
|
|
||||||
|
Requires version >= 2.3.0 and ``mocp`` executable in ``$PATH``.
|
||||||
|
|
||||||
|
{0}
|
||||||
|
''').format(_common_args.format('mocp')))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user