From e44dad7decbfea13f5b9de1727a31531a559d4b2 Mon Sep 17 00:00:00 2001 From: j <0x006A@0x2620.org> Date: Thu, 18 Nov 2010 15:34:34 +0100 Subject: [PATCH] make login optional, support passing config dict --- pandora_client/__init__.py | 19 ++++++++++++------- setup.py | 9 ++++++++- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/pandora_client/__init__.py b/pandora_client/__init__.py index c3d428e..4d663dc 100644 --- a/pandora_client/__init__.py +++ b/pandora_client/__init__.py @@ -47,14 +47,19 @@ def encode(filename, profile): class Client(object): def __init__(self, config): - with open(config) as f: - self._config = json.loads(f.read()) - self.api = API(self._config['url']) - r = self.api.login({'username':self._config['username'], 'password':self._config['password']}) - if r['status']['code'] == 200: - self.user = r['data']['user'] + if isinstance(config, basestring): + with open(config) as f: + self._config = json.loads(f.read()) else: - print 'login failed' + self.config = config + self.api = API(self._config['url']) + + if 'username' in self._config: + r = self.api.login({'username':self._config['username'], 'password':self._config['password']}) + if r['status']['code'] == 200: + self.user = r['data']['user'] + else: + print 'login failed' conn, c = self._conn() diff --git a/setup.py b/setup.py index 1cf3ec4..30dd7c1 100644 --- a/setup.py +++ b/setup.py @@ -3,9 +3,16 @@ # encoding: utf-8 from distutils.core import setup +def get_bzr_version(): + import os + rev = int(os.popen('bzr revno').read()) + if rev: + return u'%s' % rev + return u'unknown' + setup( name="pandora_client", - version="1.0", + version="1.0.%s" % get_bzr_version() , description='''pandora_client - headless archive client for pan.do/ra can be used instead of OxFF to keep archive and pan.do/ra instance in sync.