From 5526d3691abab9fa9674b8b391a478e649c3670a Mon Sep 17 00:00:00 2001 From: Thomas Perl Date: Tue, 20 Oct 2009 22:51:08 +0200 Subject: [PATCH] Make the my.g.o service URL configurable --- src/gpodder/config.py | 2 ++ src/gpodder/gui.py | 6 ++++-- src/gpodder/my.py | 11 +++++------ 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/gpodder/config.py b/src/gpodder/config.py index 59195b38..7cd32c76 100644 --- a/src/gpodder/config.py +++ b/src/gpodder/config.py @@ -225,6 +225,8 @@ gPodderSettings = { 'my_gpodder_autoupload': (bool, False, ("Upload the user's podcast list to the gPodder web services when " "gPodder is closed.")), + 'my_gpodder_service': (str, 'http://my.gpodder.org', + ('The base URL of the my.gpodder.org service.')), # Paned position 'paned_position': ( int, 200, diff --git a/src/gpodder/gui.py b/src/gpodder/gui.py index 4294502a..74388071 100644 --- a/src/gpodder/gui.py +++ b/src/gpodder/gui.py @@ -2573,7 +2573,8 @@ class gPodder(BuilderWidget, dbus.service.Object): def on_download_from_mygpo(self, widget=None): if self.require_my_gpodder_authentication(): - client = my.MygPodderClient(self.config.my_gpodder_username, self.config.my_gpodder_password) + client = my.MygPodderClient(self.config.my_gpodder_service, \ + self.config.my_gpodder_username, self.config.my_gpodder_password) opml_data = client.download_subscriptions() if len(opml_data) > 0: fp = open(gpodder.subscription_file, 'w') @@ -2603,7 +2604,8 @@ class gPodder(BuilderWidget, dbus.service.Object): def on_upload_to_mygpo(self, widget): if self.require_my_gpodder_authentication(): - client = my.MygPodderClient(self.config.my_gpodder_username, self.config.my_gpodder_password) + client = my.MygPodderClient(self.config.my_gpodder_service, \ + self.config.my_gpodder_username, self.config.my_gpodder_password) self.save_channels_opml() success, messages = client.upload_subscriptions(gpodder.subscription_file) if widget is not None: diff --git a/src/gpodder/my.py b/src/gpodder/my.py index 93ba7645..efa3d20a 100644 --- a/src/gpodder/my.py +++ b/src/gpodder/my.py @@ -84,14 +84,13 @@ def build_request(theurl, fields, files, txheaders=None): class MygPodderClient(object): - WEBSERVICE = 'http://my.gpodder.org' - - def __init__(self, username, password): + def __init__(self, service_uri, username, password): + self.service_uri = service_uri self.username = username self.password = password def download_subscriptions(self): - theurl = self.WEBSERVICE+"/getlist" + theurl = self.service_uri+"/getlist" args = {'username': self.username, 'password': self.password} args = '&'.join(('%s=%s' % a for a in args.items())) url = theurl + '?' + args @@ -99,7 +98,7 @@ class MygPodderClient(object): return opml_data def upload_subscriptions(self, filename): - theurl = self.WEBSERVICE+'/upload' + theurl = self.service_uri+'/upload' action = 'update-subscriptions' fields = {'username': self.username, 'password': self.password, 'action': 'update-subscriptions', 'protocol': '0'} opml_file = ('opml', 'subscriptions.opml', open(filename).read()) @@ -110,7 +109,7 @@ class MygPodderClient(object): success = False if '@GOTOMYGPODDER' in result: - webbrowser.open(self.WEBSERVICE, new=1) + webbrowser.open(self.service_uri, new=1) messages.append(_('Please have a look at the website for more information.')) if '@SUCCESS' in result: