From 2e286d42f10fc74bfefccd9d677af4367aa898ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Hall=C3=A9n?= Date: Tue, 25 Oct 2016 16:31:14 +0200 Subject: [PATCH 1/3] Added python3 compability. Also raises NotImplementedError on Online as the url is dead --- abakaffe/lib.py | 52 +++++++++++++----------------- abakaffe/script.py | 6 +++- abakaffe/version.py | 2 +- dist/abakaffe_cli-0.2.7-py2.7.egg | Bin 0 -> 7462 bytes dist/abakaffe_cli-0.2.7-py3.5.egg | Bin 0 -> 7625 bytes requirements.txt | 3 +- setup.py | 2 +- 7 files changed, 30 insertions(+), 35 deletions(-) create mode 100644 dist/abakaffe_cli-0.2.7-py2.7.egg create mode 100644 dist/abakaffe_cli-0.2.7-py3.5.egg diff --git a/abakaffe/lib.py b/abakaffe/lib.py index 791498b..302f60b 100644 --- a/abakaffe/lib.py +++ b/abakaffe/lib.py @@ -1,9 +1,10 @@ -# -*- coding: latin-1 -*- -import urllib2 +# encoding: utf-8 +from __future__ import unicode_literals +from urllib.parse import urljoin +from urllib.request import urlopen, Request import simplejson -from urlparse import urljoin from datetime import datetime -from version import __version__ +from .version import __version__ class Abakaffe(): @@ -32,15 +33,11 @@ def get_file(api_base, api_module): Returns a file object of the server response. ''' url = urljoin(api_base, api_module) - headers = {'User-Agent': 'abakaffe-cli'} - req = urllib2.Request(url, headers=headers) - opener = urllib2.build_opener() - try: - f = opener.open(req) - except IOError: - print('Kunne ikke koble til %s' % url) - exit(0) - return f + req = Request(url, headers={'User-Agent' : "Magic Browser"}) + con = urlopen(req) + data = con.read() + return data + @staticmethod def get_status(time_delta, organization="Abakus"): @@ -59,8 +56,7 @@ def get_status(time_delta, organization="Abakus"): return "Kaffen til {organization} ble nettopp traktet! \ LØØØP!!!".format(organization=organization) - message += "Kaffen til {organization} ble sist traktet for " - message = message.format(organization=organization) + message += "Kaffen til {organization} ble sist traktet for ".format(organization=organization) if hours: if hours == 1: message += "én time" @@ -84,7 +80,7 @@ def abakus(args=None): ''' message = "" f = Abakaffe.get_file(Abakaffe.ABA_API_URL, 'status') - status_json = simplejson.load(f) + status_json = simplejson.loads(f) coffee = status_json['coffee'] on = coffee['status'] last_start = coffee['last_start'] @@ -108,19 +104,16 @@ def abakus_stats(): ''' message = "" f = Abakaffe.get_file(Abakaffe.ABA_API_URL, 'stats') - stats_json = simplejson.load(f) + stats_json = simplejson.loads(f) stats = stats_json['stats'] - for date in sorted(stats.keys())[-5:]: + for date in sorted(stats.keys()): value = int(stats[date]) - message += u"{date} {graph} {value}\n".format( - date=date, - graph=value * u"\u2588", - value=value) - message = message.rstrip() # Remove trailing whitespace + message += "%s %s %s \n" % (date, value * u"\u2588", value) return message @staticmethod def online(): + raise NotImplementedError ''' Returns a message with info from the Online coffee API, total pots brewed today, and last time brewed. @@ -128,13 +121,12 @@ def online(): message = "" f = Abakaffe.get_file(Abakaffe.ONLINE_API_URL, "coffee.txt") total_today = int(f.readline()) + if total_today > 0: + message += "Online har traktet %s kanner i dag.\n" % total_today + else: + message += "Online har ikke traktet kaffe i dag.\n" last_start = f.readline() last_start = datetime.strptime(last_start, "%d. %B %Y %H:%M:%S") - if last_start.date() == datetime.today().date() and total_today > 0: - message += "Online har traktet {count} kanner i dag.\n".format( - count=total_today) - time_delta = datetime.now() - last_start - message += Abakaffe.get_status(time_delta, "Online") - else: - message += "Online har ikke traktet kaffe i dag." + time_delta = datetime.now() - last_start + message += Abakaffe.get_status(time_delta, "Online") return message diff --git a/abakaffe/script.py b/abakaffe/script.py index cb75926..6c42f47 100644 --- a/abakaffe/script.py +++ b/abakaffe/script.py @@ -1,8 +1,12 @@ #!/usr/bin/python # -*- coding: latin-1 -*- from __future__ import print_function +from future.standard_library import install_aliases + +install_aliases() + from argparse import ArgumentParser -from lib import Abakaffe +from .lib import Abakaffe def get_args(): diff --git a/abakaffe/version.py b/abakaffe/version.py index d582a4d..f8223c3 100644 --- a/abakaffe/version.py +++ b/abakaffe/version.py @@ -2,4 +2,4 @@ # Program version number is declared here. # -__version__ = '0.2.6' +__version__ = '0.2.7' diff --git a/dist/abakaffe_cli-0.2.7-py2.7.egg b/dist/abakaffe_cli-0.2.7-py2.7.egg new file mode 100644 index 0000000000000000000000000000000000000000..89936ea080b0ef8547bbc4dc2560b97bc3829184 GIT binary patch literal 7462 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 literal 0 HcmV?d00001 diff --git a/dist/abakaffe_cli-0.2.7-py3.5.egg b/dist/abakaffe_cli-0.2.7-py3.5.egg new file mode 100644 index 0000000000000000000000000000000000000000..72882301ab7d21623e055c2abc0a31f7910938f3 GIT binary patch literal 7625 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 SKQBv(0C&&3r^fxq_v literal 0 HcmV?d00001 diff --git a/requirements.txt b/requirements.txt index 57c93d7..eec6f9d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,3 @@ --e git+https://github.com/oyvindrobertsen/abakaffe-cli.git@1193ecf05b311133e8347431e4932ba7c7c83255#egg=abakaffe_cli-refactor nose==1.3.0 simplejson==3.3.1 -wsgiref==0.1.2 +future==0.15.2 \ No newline at end of file diff --git a/setup.py b/setup.py index f40dcfc..7db75c4 100644 --- a/setup.py +++ b/setup.py @@ -12,7 +12,7 @@ author='Øyvind Robertsen, Martin Hallén', author_email=['oyvindrobertsen@gmail.com', 'marthall@outlook.com'], url='http://github.com/oyvindrobertsen/abakaffe-cli', - install_requires=['simplejson', 'nose'], + install_requires=['simplejson', 'nose', 'future'], license='MIT', keywords='Abakus coffee API', ) From 54678f1fee406abedab23e088fee54400d75eae9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Hall=C3=A9n?= Date: Tue, 25 Oct 2016 16:36:12 +0200 Subject: [PATCH 2/3] Catch no connection error --- abakaffe/lib.py | 11 ++++++++--- dist/abakaffe_cli-0.2.7-py3.5.egg | Bin 7625 -> 7777 bytes 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/abakaffe/lib.py b/abakaffe/lib.py index 302f60b..e9fdb02 100644 --- a/abakaffe/lib.py +++ b/abakaffe/lib.py @@ -2,6 +2,7 @@ from __future__ import unicode_literals from urllib.parse import urljoin from urllib.request import urlopen, Request +from urllib.error import URLError import simplejson from datetime import datetime from .version import __version__ @@ -33,9 +34,13 @@ def get_file(api_base, api_module): Returns a file object of the server response. ''' url = urljoin(api_base, api_module) - req = Request(url, headers={'User-Agent' : "Magic Browser"}) - con = urlopen(req) - data = con.read() + req = Request(url, headers={'User-Agent' : "Magic Browser"}) + try: + con = urlopen(req) + data = con.read() + except URLError: + print("Could not read data from {}".format(url)) + exit() return data diff --git a/dist/abakaffe_cli-0.2.7-py3.5.egg b/dist/abakaffe_cli-0.2.7-py3.5.egg index 72882301ab7d21623e055c2abc0a31f7910938f3..23e39b02c38f3983ae50f5ec919b8f134b08fabb 100644 GIT binary patch delta 4300 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 JH<+)b{{y44$#(z% delta 4214 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 Date: Tue, 25 Oct 2016 16:43:37 +0200 Subject: [PATCH 3/3] Make tests run again? --- abakaffe/lib.py | 2 ++ dist/abakaffe_cli-0.2.7-py2.7.egg | Bin 7462 -> 7689 bytes 2 files changed, 2 insertions(+) diff --git a/abakaffe/lib.py b/abakaffe/lib.py index e9fdb02..b6612f9 100644 --- a/abakaffe/lib.py +++ b/abakaffe/lib.py @@ -1,5 +1,7 @@ # encoding: utf-8 from __future__ import unicode_literals +from future.standard_library import install_aliases +install_aliases() from urllib.parse import urljoin from urllib.request import urlopen, Request from urllib.error import URLError diff --git a/dist/abakaffe_cli-0.2.7-py2.7.egg b/dist/abakaffe_cli-0.2.7-py2.7.egg index 89936ea080b0ef8547bbc4dc2560b97bc3829184..a58cd137d83545b2a157f468b0723243c1b97cbe 100644 GIT binary patch delta 4394 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 bl|XT`5U&3|n^`!VXc6}Z&O^oqyA1yyFA(v~ delta 4218 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