|
a/src/cdplugins/pycommon/upmplgutils.py |
|
b/src/cdplugins/pycommon/upmplgutils.py |
|
... |
|
... |
13 |
# along with this program; if not, write to the
|
13 |
# along with this program; if not, write to the
|
14 |
# Free Software Foundation, Inc.,
|
14 |
# Free Software Foundation, Inc.,
|
15 |
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
15 |
# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
16 |
#
|
16 |
#
|
17 |
#
|
17 |
#
|
|
|
18 |
"""
|
18 |
# Shared code for the tidal, qobuz and gmusic plugins (at this
|
19 |
Shared code for the tidal, qobuz, gmusic plugins.
|
19 |
# point). This assumes: - The interface for the entity objects (track,
|
20 |
|
|
|
21 |
- Uses the interface for the entity objects (track, album...)
|
20 |
# album...) concretely defined in models.py, but duck-typed. - The
|
22 |
concretely defined in models.py, but duck-typed.
|
21 |
# format for the permanent URLs # e module implements utility
|
23 |
- Defines and uses the format for the permanent URLs
|
22 |
# functions for translating to/from what our parent expects or sends
|
24 |
|
23 |
# on the pipe.
|
25 |
The module implements utility functions for translating to/from what
|
|
|
26 |
our parent expects or sends on the pipe.
|
|
|
27 |
"""
|
24 |
from __future__ import print_function, unicode_literals
|
28 |
from __future__ import print_function, unicode_literals
|
25 |
|
29 |
|
26 |
import posixpath
|
30 |
import posixpath
|
27 |
import re
|
31 |
import re
|
28 |
|
32 |
|
29 |
# Bogus class instanciated as global object for helping with reusing kodi addon code
|
33 |
# Bogus class instanciated as global object for helping with reusing
|
|
|
34 |
# kodi addon code
|
30 |
class XbmcPlugin:
|
35 |
class XbmcPlugin:
|
31 |
SORT_METHOD_TRACKNUM = 1
|
36 |
SORT_METHOD_TRACKNUM = 1
|
32 |
def __init__(self, idprefix):
|
37 |
def __init__(self, idprefix):
|
33 |
self.entries = []
|
38 |
self.entries = []
|
34 |
self.objid = ''
|
39 |
self.objid = ''
|