Index: channels/myoggradio.py ================================================================== --- channels/myoggradio.py +++ channels/myoggradio.py @@ -2,11 +2,11 @@ # api: streamtuner2 # title: MyOggRadio # description: Open source internet radio directory. # type: channel # category: radio -# version: 0.7 +# version: 0.7.5 # url: http://www.myoggradio.org/ # depends: json, ahttp >= 1.5 # config: # { name: myoggradio_login, type: text, value: "user:password", description: "Account for storing personal favourites." } # { name: myoggradio_morph, type: boolean, value: 0, description: "Convert pls/m3u into direct shoutcast url." } @@ -32,10 +32,11 @@ from channels import * from config import * import action from uikit import uikit import ahttp +import time import re import json import copy from uikit import gtk @@ -88,11 +89,11 @@ data = ahttp.get(self.api + "favoriten.json?user=" + self.user_pw()[0], encoding="utf-8") entries = json.loads(data) # unknown else: - self.parent.status("Unknown category") + self.status("Unknown category") pass # augment result list for i,e in enumerate(entries): entries[i]["homepage"] = self.api + "c_common_details.jsp?url=" + e["url"] @@ -128,17 +129,21 @@ elif row["url"] in (r.get("url") for r in self.streams["common"]): pass # send else: - self.parent.status("Sharing station URL...") - self.upload(row) - sleep(0.5) # artificial slowdown, else user will assume it didn't work - - # tell Gtk we've handled the situation - self.parent.status("Shared '" + row["title"][:30] + "' on MyOggRadio.org") - return True + self.status("Sharing station URL...") + if (self.upload(row)): + # artificial slowdown, else user will assume it didn't work + self.status(0.5) + time.sleep(0.1) + + # tell Gtk we've handled the situation + self.status("Shared '" + row["title"][:30] + "' on MyOggRadio.org", icon="gtk-save") + else: + self.status() + return True # upload bookmarks def send_bookmarks(self, entries=[]): @@ -146,15 +151,19 @@ self.upload(e) # send row to MyOggRadio def upload(self, e, form=0): + return True if e: login = self.user_pw() + if not login: + return + submit = { - "user": login[0], # api - "passwort": login[1], # api + "user": login[0], # api + "passwort": login[1], # api "url": e["url"], "bemerkung": e["title"], "genre": e["genre"], "typ": e["format"][6:], "eintragen": "eintragen", # form @@ -186,10 +195,8 @@ else: lap = conf.netrc(["myoggradio", "myoggradio.org", "www.myoggradio.org"]) if lap: return [lap[0] or lap[1], lap[2]] else: - self.parent.status('⛔ No login data for MyOggRadio configured. See F12 for setup, or F1 for help.', timeout=10, markup=1); + self.status("No login data for MyOggRadio configured. See F12 for setup, or F1 for help.", timeout=10, icon="gtk-dialog-error") pass - -