astrXbian/.install/.kodi/addons/plugin.video.youtube/resources/lib/youtube_plugin/kodion/items/audio_item.py

95 lines
2.2 KiB
Python

# -*- coding: utf-8 -*-
"""
Copyright (C) 2014-2016 bromix (plugin.video.youtube)
Copyright (C) 2016-2018 plugin.video.youtube
SPDX-License-Identifier: GPL-2.0-only
See LICENSES/GPL-2.0-only for more information.
"""
from .base_item import BaseItem
try:
from six.moves import html_parser
unescape = html_parser.HTMLParser().unescape
except AttributeError:
import html
unescape = html.unescape
class AudioItem(BaseItem):
def __init__(self, name, uri, image=u'', fanart=u''):
BaseItem.__init__(self, name, uri, image, fanart)
self._duration = None
self._track_number = None
self._year = None
self._genre = None
self._album = None
self._artist = None
self._title = self.get_name()
self._rating = None
def set_rating(self, rating):
self._rating = float(rating)
def get_rating(self):
return self._rating
def set_title(self, title):
try:
title = unescape(title)
except:
pass
self._title = title
def get_title(self):
return self._title
def set_artist_name(self, artist_name):
self._artist = artist_name
def get_artist_name(self):
return self._artist
def set_album_name(self, album_name):
self._album = album_name
def get_album_name(self):
return self._album
def set_genre(self, genre):
self._genre = genre
def get_genre(self):
return self._genre
def set_year(self, year):
self._year = int(year)
def set_year_from_datetime(self, date_time):
self.set_year(date_time.year)
def get_year(self):
return self._year
def set_track_number(self, track_number):
self._track_number = int(track_number)
def get_track_number(self):
return self._track_number
def set_duration_from_milli_seconds(self, milli_seconds):
self.set_duration_from_seconds(int(milli_seconds) // 1000)
def set_duration_from_seconds(self, seconds):
self._duration = int(seconds)
def set_duration_from_minutes(self, minutes):
self.set_duration_from_seconds(int(minutes) * 60)
def get_duration(self):
return self._duration