Skip to content

Commit

Permalink
Initial
Browse files Browse the repository at this point in the history
  • Loading branch information
matthuisman authored and johnny5-is-alive committed Apr 22, 2021
0 parents commit d018b86
Show file tree
Hide file tree
Showing 883 changed files with 124,487 additions and 0 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
# slyguy.addons
mirror of https://k.slyguy.xyz/.repo/
4 changes: 4 additions & 0 deletions plugin.audio.au.radio/.iptv_merge
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"version": 3,
"playlist": "plugin://$ID/?_=playlist&output=$FILE"
}
Empty file.
22 changes: 22 additions & 0 deletions plugin.audio.au.radio/addon.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.audio.au.radio" name="RADIO AU" provider-name="SlyGuy" version="0.12.4">
<requires>
<import addon="script.module.slyguy"/>
</requires>
<extension point="xbmc.python.pluginsource" library="default.py" provides="audio">
<provides>audio</provides>
</extension>
<extension point="xbmc.addon.metadata">
<description lang="en">Easily listen to all your favourite AU radio stations.
You can change the region (default = Sydney) in the addon settings.</description>
<reuselanguageinvoker>true</reuselanguageinvoker>
<license></license>
<language></language>
<website></website>
<news>Add Bookmarks. Re-arrange menu</news>
<assets>
<icon>icon.png</icon>
<fanart>fanart.jpg</fanart>
</assets>
</extension>
</addon>
5 changes: 5 additions & 0 deletions plugin.audio.au.radio/default.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import sys

from resources.lib.plugin import plugin

plugin.dispatch(sys.argv[2])
Binary file added plugin.audio.au.radio/fanart.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plugin.audio.au.radio/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions plugin.audio.au.radio/resources/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Dummy
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
msgid ""
msgstr ""

msgctxt "#30000"
msgid "Region"
msgstr ""

msgctxt "#30001"
msgid "Sydney"
msgstr ""

msgctxt "#30002"
msgid "Melbourne"
msgstr ""

msgctxt "#30003"
msgid "Brisbane"
msgstr ""

msgctxt "#30004"
msgid "Perth"
msgstr ""

msgctxt "#30005"
msgid "Adelaide"
msgstr ""

msgctxt "#30006"
msgid "Darwin"
msgstr ""

msgctxt "#30007"
msgid "Hobart"
msgstr ""

msgctxt "#30008"
msgid "Canberra"
msgstr ""

msgctxt "#30009"
msgid "Stations"
msgstr ""

## COMMON SETTINGS ##

msgctxt "#32055"
msgid "Ask"
msgstr ""

msgctxt "#32043"
msgid "Best"
msgstr ""

msgctxt "#32060"
msgid "Lowest"
msgstr ""

msgctxt "#32048"
msgid "Bypass"
msgstr ""

msgctxt "#32054"
msgid "Custom"
msgstr ""

msgctxt "#32073"
msgid "Disabled"
msgstr ""
Empty file.
2 changes: 2 additions & 0 deletions plugin.audio.au.radio/resources/lib/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
REGIONS = ['Sydney', 'Melbourne', 'Brisbane', 'Perth', 'Adelaide', 'Darwin', 'Hobart', 'Canberra']
DATA_URL = 'https://i.mjh.nz/au/{region}/radio.json.gz'
17 changes: 17 additions & 0 deletions plugin.audio.au.radio/resources/lib/language.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
from slyguy.language import BaseLanguage

class Language(BaseLanguage):
REGION = 30000,
REGIONS = {
'Sydney': 30001,
'Melbourne': 30002,
'Brisbane': 30003,
'Perth': 30004,
'Adelaide': 30005,
'Darwin': 30006,
'Hobart': 30007,
'Canberra': 30008,
}
STATIONS = 30009

_ = Language()
85 changes: 85 additions & 0 deletions plugin.audio.au.radio/resources/lib/plugin.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
import codecs

from slyguy import plugin, settings
from slyguy.session import Session
from slyguy.mem_cache import cached

from .constants import DATA_URL, REGIONS
from .language import _

session = Session()

@plugin.route('')
def home(**kwargs):
folder = plugin.Folder(cacheToDisc=False)

folder.add_item(label=_(_.STATIONS, _bold=True), path=plugin.url_for(stations))

if settings.getBool('bookmarks', True):
folder.add_item(label=_(_.BOOKMARKS, _bold=True), path=plugin.url_for(plugin.ROUTE_BOOKMARKS), bookmark=False)

folder.add_item(label=_.SETTINGS, path=plugin.url_for(plugin.ROUTE_SETTINGS), _kiosk=False, bookmark=False)

return folder


@plugin.route()
def stations(**kwargs):
region = get_region()
folder = plugin.Folder(_(_.REGIONS[region]))

channels = get_channels(region)
for slug in sorted(channels, key=lambda k: channels[k]['name']):
channel = channels[slug]

folder.add_item(
label = channel['name'],
path = plugin.url_for(play, slug=slug, _is_live=True),
info = {'plot': channel.get('description')},
video = channel.get('video', {}),
audio = channel.get('audio', {}),
art = {'thumb': channel.get('logo')},
playable = True,
)

return folder

@plugin.route()
def play(slug, **kwargs):
region = get_region()
channel = get_channels(region)[slug]
url = session.get(channel['mjh_master'], allow_redirects=False).headers.get('location', '')

item = plugin.Item(
path = url,
headers = channel['headers'],
info = {'plot': channel.get('description')},
video = channel.get('video', {}),
audio = channel.get('audio', {}),
art = {'thumb': channel.get('logo')},
)

return item

@cached(60*5)
def get_channels(region):
return session.gz_json(DATA_URL.format(region=region))

def get_region():
return REGIONS[settings.getInt('region_index')]

@plugin.route()
@plugin.merge()
def playlist(output, **kwargs):
region = get_region()
channels = get_channels(region)

with codecs.open(output, 'w', encoding='utf8') as f:
f.write(u'#EXTM3U\n')

for slug in sorted(channels, key=lambda k: channels[k]['name']):
channel = channels[slug]

f.write(u'#EXTINF:-1 tvg-id="{id}" tvg-chno="{chno}" tvg-logo="{logo}" radio="true",{name}\n{path}\n'.format(
id=slug, logo=channel.get('logo', ''), name=channel['name'], chno=channel.get('channel', ''),
path=plugin.url_for(play, slug=slug, _is_live=True)))
35 changes: 35 additions & 0 deletions plugin.audio.au.radio/resources/settings.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="$ADDON[script.module.slyguy 32034]">
<setting label="30000" id="region_index" type="enum" default="0" lvalues="30001|30002|30003|30004|30005|30006|30007|30008" />
</category>

<category label="$ADDON[script.module.slyguy 32035]">
<setting label="$ADDON[script.module.slyguy 32061]" id="default_quality" type="enum" default="0" lvalues="32055|32043|32060|32048|32054|32073"/>
<setting label="$ADDON[script.module.slyguy 32059]" id="max_bandwidth" type="slider" default="7" range="0.5,0.5,100" option="float" visible="eq(-1,4)"/>

<setting label="$ADDON[script.module.slyguy 32076]" type="bool" id="use_ia_hls_live" default="false"/>
<setting label="$ADDON[script.module.slyguy 32023]" type="bool" id="use_ia_hls_vod" default="false" visible="false"/>
<setting label="$ADDON[script.module.slyguy 32021]" type="action" action="RunPlugin(plugin://$ID/?_=_ia_install)" option="close" visible="false"/>
</category>

<category label="$ADDON[script.module.slyguy 32081]">
<setting label="$ADDON[script.module.slyguy 32080]" type="slider" id="epg_days" default="3" range="1,1,7" option="int" visible="false"/>
<setting label="$ADDON[script.module.slyguy 32079]" type="action" action="RunPlugin(plugin://$ID/?_=_setup_merge)" option="close"/>
</category>

<category label="$ADDON[script.module.slyguy 32036]">
<setting label="$ADDON[script.module.slyguy 32111]" id="bookmarks" type="bool" default="true"/>
<setting label="$ADDON[script.module.slyguy 32078]" id="kiosk" type="bool" default="false"/>
<setting label="$ADDON[script.module.slyguy 32037]" id="verify_ssl" type="bool" default="true"/>
<setting label="$ADDON[script.module.slyguy 32044]" id="http_timeout" type="number" default="30"/>
<setting label="$ADDON[script.module.slyguy 32045]" id="http_retries" type="number" default="2"/>
<setting label="$ADDON[script.module.slyguy 32046]" id="chunksize" type="number" default="4096"/>
<setting label="$ADDON[script.module.slyguy 32039]" id="service_delay" type="number" default="0" visible="false"/>

<setting label="$ADDON[script.module.slyguy 32019]" type="action" action="RunPlugin(plugin://$ID/?_=_reset)" option="close"/>

<setting id="_fresh" type="bool" default="true" visible="false"/>
<setting id="_userdata" type="text" default="{}" visible="false"/>
</category>
</settings>
4 changes: 4 additions & 0 deletions plugin.audio.nz.radio/.iptv_merge
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{
"version": 2,
"playlist": "plugin://$ID/?_=playlist&output=$FILE"
}
Empty file.
21 changes: 21 additions & 0 deletions plugin.audio.nz.radio/addon.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="plugin.audio.nz.radio" name="RADIO NZ" provider-name="SlyGuy" version="0.13.9">
<requires>
<import addon="script.module.slyguy"/>
</requires>
<extension point="xbmc.python.pluginsource" library="default.py" provides="audio">
<provides>audio</provides>
</extension>
<extension point="xbmc.addon.metadata">
<description lang="en">Easily listen to all your favourite NZ radio stations</description>
<reuselanguageinvoker>true</reuselanguageinvoker>
<license></license>
<language></language>
<website></website>
<news>Add Bookmarks. Re-arrange menu</news>
<assets>
<icon>icon.png</icon>
<fanart>fanart.jpg</fanart>
</assets>
</extension>
</addon>
5 changes: 5 additions & 0 deletions plugin.audio.nz.radio/default.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import sys

from resources.lib.plugin import plugin

plugin.dispatch(sys.argv[2])
Binary file added plugin.audio.nz.radio/fanart.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added plugin.audio.nz.radio/icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions plugin.audio.nz.radio/resources/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
# Dummy
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
msgid ""
msgstr ""

msgctxt "#30000"
msgid "Stations"
msgstr ""

## COMMON SETTINGS ##

msgctxt "#32055"
msgid "Ask"
msgstr ""

msgctxt "#32043"
msgid "Best"
msgstr ""

msgctxt "#32060"
msgid "Lowest"
msgstr ""

msgctxt "#32048"
msgid "Bypass"
msgstr ""

msgctxt "#32054"
msgid "Custom"
msgstr ""

msgctxt "#32073"
msgid "Disabled"
msgstr ""
Empty file.
1 change: 1 addition & 0 deletions plugin.audio.nz.radio/resources/lib/constants.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DATA_URL = 'https://i.mjh.nz/nz/radio.json.gz'
6 changes: 6 additions & 0 deletions plugin.audio.nz.radio/resources/lib/language.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
from slyguy.language import BaseLanguage

class Language(BaseLanguage):
STATIONS = 30000

_ = Language()
Loading

0 comments on commit d018b86

Please sign in to comment.