# -*- coding: utf-8 -*-
-# Copyright (c) 2009, 2010, 2011, 2013, 2014, 2015 Jack Kaliko <kaliko@azylum.org>
+# Copyright (c) 2009, 2010, 2011, 2013, 2014, 2015, 2016, 2017 Jack Kaliko <kaliko@azylum.org>
# Copyright (c) 2009 J. Alexander Treuman (Tag collapse method)
# Copyright (c) 2008 Rick van Hattem
#
"""
Track object.
Instantiate with Player replies.
+
+ :param str file: media file, defaults to ``None``
+ :param int time: duration in second, defaults to 0
+ :param int pos: position in queue, defaults to -1
+ :param str title|artist|album: defaults to ""
+ :param str musicbrainz_artistid|musicbrainz_albumartistid: MusicBrainz IDs, defaults to ``None``
"""
def __init__(self, file=None, time=0, pos=-1, **kwargs):
)
def __str__(self):
- return '{artist} - {album} - {title} ({duration})'.format(
- duration=self.duration,
+ return '{artist} - {album} - {title} ({length})'.format(
+ length=self.length,
**self.__dict__
)
"""set time property"""
self._time = int(value)
- time = property(get_time, set_time, doc='song duration in seconds (use :attr:`duration` for human readable time)')
+ time = property(get_time, set_time, doc='song duration in seconds (use :attr:`length` for human readable time)')
@property
- def duration(self):
- """Get a fancy duration %H:%M:%S (use :attr:`time` to get duration in second only)"""
- temps = time.gmtime(int(self.time))
+ def length(self):
+ """Get a fancy duration as ``%H:%M:%S`` (use :attr:`time` to get duration in second only)"""
+ temps = time.gmtime(int(self.time)) #TODO: returns a date not a duration
if temps.tm_hour:
fmt = '%H:%M:%S'
else: