From ccd227afdd72196fc6d45b307915e9444b299b72 Mon Sep 17 00:00:00 2001 From: Marius Halden Date: Wed, 3 Jun 2015 02:27:25 +0200 Subject: =?UTF-8?q?Fixed=20some=20stuff=E2=80=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- push.py | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/push.py b/push.py index 5775b05..c09db69 100755 --- a/push.py +++ b/push.py @@ -13,7 +13,7 @@ import urllib.parse import ws4py.client import yaml -dev_name = 'test_client' +dev_name = 'push-client' cfg_file = 'push.cfg' show_stdout = True show_kdialog = True @@ -165,6 +165,7 @@ class Cfg: self.file = file self.secret = None self.deviceid = None + self.devname = dev_name def load(self, file=None): if file is not None: @@ -177,12 +178,14 @@ class Cfg: with open(self.file, 'x') as fh: pass else: - self.secret = cfg.get('secret') - self.deviceid = cfg.get('deviceid') + if cfg is not None: + self.secret = cfg.get('secret') + self.deviceid = cfg.get('deviceid') + self.devname = cfg.get('devname', dev_name) def save(self): with open(self.file, 'w') as fh: - yaml.dump({'secret': self.secret, 'deviceid': self.deviceid}, fh) + yaml.dump({'secret': self.secret, 'deviceid': self.deviceid, 'devname': self.devname}, fh) class PushClient: headers = {'Content-Type': 'application/x-www-form-urlencoded'} @@ -193,9 +196,10 @@ class PushClient: def get_user_pass(self): print('Visit https://pushover.net/signup to create an account.') - username = input('Username: ') + username = input('E-Mail: ') password = getpass.getpass() - return (username, password) + devname = input('Device name [%s]: ' % self.cfg.devname) + return (username, password, devname) def setup_connection(self): self.conn = http.client.HTTPSConnection('api.pushover.net', 443) @@ -204,13 +208,17 @@ class PushClient: self.conn.close() self.conn = None + def setup(self): self.setup_connection() if self.cfg.secret is None: self.cfg.deviceid = None - (username, password) = self.get_user_pass() + (username, password, devname) = self.get_user_pass() + if len(devname.strip()) > 0: + self.cfg.devname = devname + self.login(username, password) if self.cfg.deviceid is None: @@ -236,7 +244,7 @@ class PushClient: self.cfg.secret = data['secret'] def register_device(self): - params = urllib.parse.urlencode({'secret': secret, 'name': dev_name, 'os': 'O'}) + params = urllib.parse.urlencode({'secret': self.cfg.secret, 'name': self.cfg.devname, 'os': 'O'}) self.conn.request('POST', '/1/devices.json', params, self.headers) resp = self.conn.getresponse() -- cgit v1.2.3