Skip to content

Commit

Permalink
Add support for Matrix
Browse files Browse the repository at this point in the history
Removed Python 2 support.

Resolves #42
  • Loading branch information
jaylinski committed Dec 26, 2020
1 parent 2899901 commit d7a5f23
Show file tree
Hide file tree
Showing 18 changed files with 125 additions and 114 deletions.
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ language: python

jobs:
include:
- python: "3.6"
- python: "3.7"
- python: "3.8"
- python: "3.9"
- python: "nightly"
allow_failures:
- python: "nightly"
Expand Down
7 changes: 3 additions & 4 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@ url = "https://pypi.org/simple"
verify_ssl = true

[dev-packages]
kodistubs = "*"
kodistubs = "~=19.0.1"
pycodestyle = "*"

[packages]
future = "*"
requests = "*"
requests = "~=2.22.0"

[requires]
python_version = "2.7"
python_version = "3.6"

[scripts]
build = "python scripts/build.py"
Expand Down
56 changes: 21 additions & 35 deletions Pipfile.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 1 addition & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
[![Build Status](https://travis-ci.com/jaylinski/kodi-addon-soundcloud.svg?branch=master)](https://travis-ci.com/jaylinski/kodi-addon-soundcloud)
[![Link to Kodi forum](https://img.shields.io/badge/Kodi-Forum-informational.svg)](https://forum.kodi.tv/showthread.php?tid=206635)
[![Link to Kodi wiki](https://img.shields.io/badge/Kodi-Wiki-informational.svg)](https://kodi.wiki/view/Add-on:SoundCloud)
[![Link to Kodi releases](https://img.shields.io/badge/Kodi-v19%20%22Matrix%22-green.svg)](https://kodi.wiki/view/Releases)
[![Link to Kodi releases](https://img.shields.io/badge/Kodi-v18%20%22Leia%22-green.svg)](https://kodi.wiki/view/Releases)
[![Link to Kodi releases](https://img.shields.io/badge/Kodi-v17%20%22Krypton%22-green.svg)](https://kodi.wiki/view/Releases)

Expand Down Expand Up @@ -66,8 +67,6 @@ Run `pipenv run lint`.

Run `pipenv run test`.

> Requires at least Python 3.6!
## Roadmap

* Re-implement all features from original add-on
Expand Down
13 changes: 5 additions & 8 deletions addon.xml
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.audio.soundcloud" name="SoundCloud" version="3.2.0" provider-name="jaylinski">
<addon id="plugin.audio.soundcloud" name="SoundCloud" version="4.0.0" provider-name="jaylinski">
<requires>
<import addon="xbmc.python" version="2.25.0"/>
<import addon="script.module.future" version="0.16.0"/>
<import addon="script.module.requests" version="2.4.3"/>
<import addon="xbmc.python" version="3.0.0"/>
<import addon="script.module.requests" version="2.22.0"/>
</requires>
<extension point="xbmc.python.pluginsource" library="addon.py">
<provides>audio</provides>
Expand All @@ -19,10 +18,8 @@
<forum>https://forum.kodi.tv/showthread.php?tid=206635</forum>
<website>https://soundcloud.com</website>
<source>https://github.com/jaylinski/kodi-addon-soundcloud</source>
<news>3.2.0 (2020-04-18)
[fix] Custom client ID won't be overwritten anymore
[new] Added ability to clear cache in settings
[new] Track descriptions can now be viewed in info window
<news>4.0.0 (2020-12-12)
Added support for Kodi v19 (Matrix)
</news>
<assets>
<icon>resources/icon.png</icon>
Expand Down
5 changes: 0 additions & 5 deletions resources/language/resource.language.de_de/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,6 @@ msgctxt "#30013"
msgid "History size"
msgstr "Größe der Suchhistorie"

# Settings - Advanced
msgctxt "#30051"
msgid "Advanced"
msgstr "Fortgeschritten"

msgctxt "#30060"
msgid "API v2"
msgstr "API v2"
Expand Down
5 changes: 0 additions & 5 deletions resources/language/resource.language.en_gb/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -41,11 +41,6 @@ msgctxt "#30013"
msgid "History size"
msgstr ""

# Settings - Advanced
msgctxt "#30051"
msgid "Advanced"
msgstr ""

msgctxt "#30060"
msgid "API v2"
msgstr ""
Expand Down
5 changes: 0 additions & 5 deletions resources/language/resource.language.nl_nl/strings.po
Original file line number Diff line number Diff line change
Expand Up @@ -40,11 +40,6 @@ msgctxt "#30013"
msgid "History size"
msgstr "Zoekgeschiedenis grootte"

# Settings - Advanced
msgctxt "#30051"
msgid "Advanced"
msgstr "Geavanceerd"

msgctxt "#30060"
msgid "API v2"
msgstr ""
Expand Down
3 changes: 0 additions & 3 deletions resources/lib/kodi/items.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from future import standard_library
standard_library.install_aliases() # noqa: E402

from resources.lib.kodi.utils import format_bold
from resources.routes import *

Expand Down
12 changes: 4 additions & 8 deletions resources/lib/kodi/vfs.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,15 @@ def __init__(self, path):
def read(self, filename):
filepath = os.path.join(self.path, filename)
if xbmcvfs.exists(filepath):
file = xbmcvfs.File(filepath)
string = file.read()
file.close()
return string
with xbmcvfs.File(filepath) as file:
return file.read()
else:
return None

def write(self, filename, string):
filepath = os.path.join(self.path, filename)
file = xbmcvfs.File(filepath, "w")
success = file.write(string)
file.close()
return filepath if success else False
with xbmcvfs.File(filepath, "w") as file:
return filepath if file.write(string) else False

def remove_dir(self, path):
dir_list, file_list = xbmcvfs.listdir(path)
Expand Down
3 changes: 0 additions & 3 deletions resources/lib/models/playlist.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from future import standard_library
standard_library.install_aliases() # noqa: E402

from resources.lib.models.list_item import ListItem
import urllib.parse
import xbmcgui
Expand Down
3 changes: 0 additions & 3 deletions resources/lib/models/selection.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from future import standard_library
standard_library.install_aliases() # noqa: E402

from resources.lib.models.list_item import ListItem
from resources.routes import *
import urllib.parse
Expand Down
3 changes: 0 additions & 3 deletions resources/lib/models/track.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from future import standard_library
standard_library.install_aliases() # noqa: E402

from resources.lib.models.list_item import ListItem
import urllib.parse
import xbmcaddon
Expand Down
3 changes: 0 additions & 3 deletions resources/lib/models/user.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from future import standard_library
standard_library.install_aliases() # noqa: E402

from resources.lib.models.list_item import ListItem
from resources.routes import *
import urllib.parse
Expand Down
3 changes: 1 addition & 2 deletions resources/lib/soundcloud/api_interface.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
from future.utils import with_metaclass
from abc import ABCMeta, abstractmethod


class ApiInterface(with_metaclass(ABCMeta)):
class ApiInterface(metaclass=ABCMeta):
@abstractmethod
def search(self, query, kind): pass

Expand Down
3 changes: 0 additions & 3 deletions resources/lib/soundcloud/api_v2.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
from future import standard_library
standard_library.install_aliases() # noqa: E402

import hashlib
import json
import re
Expand Down
9 changes: 2 additions & 7 deletions resources/plugin.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
from future import standard_library
from future.utils import PY2
standard_library.install_aliases() # noqa: E402

from resources.lib.soundcloud.api_v2 import ApiV2
from resources.lib.kodi.cache import Cache
from resources.lib.kodi.items import Items
Expand All @@ -16,13 +12,12 @@
import xbmcaddon
import xbmcgui
import xbmcplugin
import xbmcvfs

addon = xbmcaddon.Addon()
addon_id = addon.getAddonInfo("id")
addon_base = "plugin://" + addon_id
addon_profile_path = xbmc.translatePath(addon.getAddonInfo("profile"))
if PY2:
addon_profile_path = addon_profile_path.decode("utf-8")
addon_profile_path = xbmcvfs.translatePath(addon.getAddonInfo("profile"))
vfs = VFS(addon_profile_path)
vfs_cache = VFS(os.path.join(addon_profile_path, "cache"))
settings = Settings(addon)
Expand Down
Loading

0 comments on commit d7a5f23

Please sign in to comment.