* [gentoo-commits] proj/gentoostats:master commit in: client/, client/gentoostats/
@ 2016-12-29 6:16 Göktürk Yüksek
0 siblings, 0 replies; 2+ messages in thread
From: Göktürk Yüksek @ 2016-12-29 6:16 UTC (permalink / raw
To: gentoo-commits
commit: dad01a9243e6d217da18976b93dbb4f84cf93b44
Author: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
AuthorDate: Thu Dec 29 06:13:51 2016 +0000
Commit: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Thu Dec 29 06:13:51 2016 +0000
URL: https://gitweb.gentoo.org/proj/gentoostats.git/commit/?id=dad01a92
client: add support python3 compatibility
client/gentoostats-cli | 6 ++++--
client/gentoostats-send | 19 +++++++++++++++----
client/gentoostats/list.py | 8 +++++---
client/gentoostats/payload.py | 10 ++++++++--
client/gentoostats/search.py | 5 +++--
client/gentoostats/utils.py | 7 +++++--
6 files changed, 40 insertions(+), 15 deletions(-)
diff --git a/client/gentoostats-cli b/client/gentoostats-cli
index a22ccc7..768a1ed 100755
--- a/client/gentoostats-cli
+++ b/client/gentoostats-cli
@@ -10,13 +10,15 @@ def main():
parser.add_argument('-s', '--server', default='soc.dev.gentoo.org')
parser.add_argument('-u', '--url', default='/gentoostats')
- subparsers = parser.add_subparsers()
+ # http://bugs.python.org/issue9253
+ subparsers = parser.add_subparsers(dest='command')
+ subparsers.required = True
list.add_parser(subparsers)
search.add_parser(subparsers)
args = parser.parse_args()
- args.func(args)
+ args.command(args)
if __name__ == "__main__":
main()
diff --git a/client/gentoostats-send b/client/gentoostats-send
index 2ae2857..eac742c 100755
--- a/client/gentoostats-send
+++ b/client/gentoostats-send
@@ -1,10 +1,21 @@
#!/usr/bin/env python
+from __future__ import print_function
+
import sys
import json
import argparse
-import ConfigParser
-import httplib
+
+try:
+ import configparser as ConfigParser
+except ImportError:
+ import ConfigParser
+
+try:
+ import http.client as httplib
+except ImportError:
+ import httplib
+
from gentoostats.payload import Payload
def getAuthInfo(auth):
@@ -67,8 +78,8 @@ def main():
conn = httplib.HTTPSConnection(args['server'] + ':' + str(args['port']))
conn.request('POST', url=post_url, headers=post_headers, body=post_body)
response = conn.getresponse()
- print response.status, response.reason
- print 'Server response: ' + response.read()
+ print(response.status, response.reason)
+ print('Server response: ' + response.read().decode("utf-8"))
except httplib.HTTPException:
sys.stderr.write('Something went wrong')
sys.exit(1)
diff --git a/client/gentoostats/list.py b/client/gentoostats/list.py
index 3140041..8c369ab 100644
--- a/client/gentoostats/list.py
+++ b/client/gentoostats/list.py
@@ -1,3 +1,4 @@
+from __future__ import print_function
import pprint as pp
from gentoostats import utils
@@ -6,7 +7,7 @@ def pprint(title, object):
"""
Pretty printer for the decoded json data
"""
- print title
+ print(title)
pp.pprint(object)
def add_parser(subparsers):
@@ -14,7 +15,8 @@ def add_parser(subparsers):
Setup argparse parsers
"""
list_parser = subparsers.add_parser('list')
- list_subparsers = list_parser.add_subparsers()
+ list_subparsers = list_parser.add_subparsers(dest='subcommand')
+ list_subparsers.required = True
objects = {
'arch': ['parser_arch', list_arch],
@@ -27,7 +29,7 @@ def add_parser(subparsers):
}
for obj in objects.keys():
parser = vars()[objects[obj][0]] = list_subparsers.add_parser(obj)
- parser.set_defaults(func=objects[obj][1])
+ parser.set_defaults(command=objects[obj][1])
# need separate arguments for package
parser = vars()[objects['package'][0]]
diff --git a/client/gentoostats/payload.py b/client/gentoostats/payload.py
index b2c459f..569b69b 100644
--- a/client/gentoostats/payload.py
+++ b/client/gentoostats/payload.py
@@ -1,7 +1,13 @@
+from __future__ import print_function
import sys
import pprint
-import ConfigParser
+
+try:
+ import configparser as ConfigParser
+except ImportError:
+ import ConfigParser
+
from gentoostats.environment import Environment
from gentoostats.packages import Packages
from gentoostats.metadata import Metadata
@@ -79,4 +85,4 @@ class Payload(object):
if human:
pprint.pprint(self.payload)
else:
- print self.payload
+ print(self.payload)
diff --git a/client/gentoostats/search.py b/client/gentoostats/search.py
index c77c119..89b4d20 100644
--- a/client/gentoostats/search.py
+++ b/client/gentoostats/search.py
@@ -1,3 +1,4 @@
+from __future__ import print_function
import pprint as pp
from gentoostats import utils
@@ -6,7 +7,7 @@ def pprint(title, object):
"""
Pretty printer for the decoded json data
"""
- print title
+ print(title)
pp.pprint(object)
def add_parser(subparsers):
@@ -20,7 +21,7 @@ def add_parser(subparsers):
search_parser.add_argument('-r', '--repo')
search_parser.add_argument('--min_hosts', type=int)
search_parser.add_argument('--max_hosts', type=int)
- search_parser.set_defaults(func=search)
+ search_parser.set_defaults(command=search)
def search(args):
"""
diff --git a/client/gentoostats/utils.py b/client/gentoostats/utils.py
index af807c8..af8dab2 100644
--- a/client/gentoostats/utils.py
+++ b/client/gentoostats/utils.py
@@ -1,6 +1,9 @@
import json
-import httplib
+try:
+ import http.client as httplib
+except ImportError:
+ import httplib
# json headers for gentoostats-cli
headers = {'Accept': 'application/json'}
@@ -15,7 +18,7 @@ def GET(server, url, headers, https=True):
conn = httplib.HTTPConnection(server)
try:
conn.request('GET', url=url, headers=headers)
- data = conn.getresponse().read()
+ data = conn.getresponse().read().decode("utf-8")
except httplib.HTTPException:
return None
finally:
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [gentoo-commits] proj/gentoostats:master commit in: client/, client/gentoostats/
@ 2017-01-02 6:22 Göktürk Yüksek
0 siblings, 0 replies; 2+ messages in thread
From: Göktürk Yüksek @ 2017-01-02 6:22 UTC (permalink / raw
To: gentoo-commits
commit: 4af894ac1b6b3290ef2aeed6cbfa9a90de495428
Author: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 2 04:54:10 2017 +0000
Commit: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
CommitDate: Mon Jan 2 04:54:10 2017 +0000
URL: https://gitweb.gentoo.org/proj/gentoostats.git/commit/?id=4af894ac
client/gentoostats-cli: add a command line option to specify the port
Remain consistent with gentoostats-send which has a ('-p', '--port')
command line option to specify the port for the remote server.
client/gentoostats-cli | 1 +
client/gentoostats/list.py | 18 +++++++++---------
client/gentoostats/search.py | 2 +-
client/gentoostats/utils.py | 6 +++---
4 files changed, 14 insertions(+), 13 deletions(-)
diff --git a/client/gentoostats-cli b/client/gentoostats-cli
index 768a1ed..2ce2b2e 100755
--- a/client/gentoostats-cli
+++ b/client/gentoostats-cli
@@ -8,6 +8,7 @@ from gentoostats import search
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-s', '--server', default='soc.dev.gentoo.org')
+ parser.add_argument('-p', '--port', type = int, default=443)
parser.add_argument('-u', '--url', default='/gentoostats')
# http://bugs.python.org/issue9253
diff --git a/client/gentoostats/list.py b/client/gentoostats/list.py
index 8c369ab..dc1a64f 100644
--- a/client/gentoostats/list.py
+++ b/client/gentoostats/list.py
@@ -46,35 +46,35 @@ def list_arch(args):
"""
/arch
"""
- data = list(args.server, args.url, '/arch', utils.headers)
+ data = list(args.server, args.port, args.url, '/arch', utils.headers)
pprint('Arch', data)
def list_feature(args):
"""
/feature
"""
- data = list(args.server, args.url, '/feature', utils.headers)
+ data = list(args.server, args.port, args.url, '/feature', utils.headers)
pprint('Feature', data)
def list_lang(args):
"""
/lang
"""
- data = list(args.server, args.url, '/lang', utils.headers)
+ data = list(args.server, args.port, args.url, '/lang', utils.headers)
pprint('Lang', data)
def list_mirror(args):
"""
/mirror
"""
- data = list(args.server, args.url, '/mirror', utils.headers)
+ data = list(args.server, args.port, args.url, '/mirror', utils.headers)
pprint('Mirror', data)
def list_repo(args):
"""
/repo
"""
- data = list(args.server, args.url, '/repo', utils.headers)
+ data = list(args.server, args.port, args.url, '/repo', utils.headers)
pprint('Repo', data)
def list_package(args):
@@ -97,7 +97,7 @@ def list_package(args):
title = 'Category-Package-Version: ' + args.category + '/' + args.package + '-' + args.version
url_pkg += '-' + args.version
- data = list(args.server, args.url, url_pkg + url_top, utils.headers)
+ data = list(args.server, args.port, args.url, url_pkg + url_top, utils.headers)
pprint(title, data)
def list_use(args):
@@ -110,14 +110,14 @@ def list_use(args):
title = 'Useflag: ' + args.use
url_use += '/' + args.use
- data = list(args.server, args.url, url_use, utils.headers)
+ data = list(args.server, args.port, args.url, url_use, utils.headers)
pprint(title, data)
-def list(server, url_base, url_extra, headers):
+def list(server, port, url_base, url_extra, headers):
"""
Get and decode json from url
"""
- get_data = utils.GET(server=server, url=url_base+url_extra, headers=headers)
+ get_data = utils.GET(server=server, port=port, url=url_base+url_extra, headers=headers)
data = utils.deserialize(get_data)
return data
diff --git a/client/gentoostats/search.py b/client/gentoostats/search.py
index 89b4d20..81265fa 100644
--- a/client/gentoostats/search.py
+++ b/client/gentoostats/search.py
@@ -37,7 +37,7 @@ def search(args):
url_extra += ('?', '&')[bool(url_extra)] + 'min_hosts=' + str(args.min_hosts) if args.min_hosts else ''
url_extra += ('?', '&')[bool(url_extra)] + 'max_hosts=' + str(args.max_hosts) if args.max_hosts else ''
- get_data = utils.GET(server = args.server, url = args.url + url_base + url_extra, headers = utils.headers)
+ get_data = utils.GET(server = args.server, port=args.port, url = args.url + url_base + url_extra, headers = utils.headers)
data = utils.deserialize(get_data)
pprint ('Search results', data)
diff --git a/client/gentoostats/utils.py b/client/gentoostats/utils.py
index af8dab2..cc23033 100644
--- a/client/gentoostats/utils.py
+++ b/client/gentoostats/utils.py
@@ -8,14 +8,14 @@ except ImportError:
# json headers for gentoostats-cli
headers = {'Accept': 'application/json'}
-def GET(server, url, headers, https=True):
+def GET(server, port, url, headers, https=True):
"""
Get url from server using headers
"""
if https:
- conn = httplib.HTTPSConnection(server)
+ conn = httplib.HTTPSConnection(server, port)
else:
- conn = httplib.HTTPConnection(server)
+ conn = httplib.HTTPConnection(server, port)
try:
conn.request('GET', url=url, headers=headers)
data = conn.getresponse().read().decode("utf-8")
^ permalink raw reply related [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-01-02 6:22 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-29 6:16 [gentoo-commits] proj/gentoostats:master commit in: client/, client/gentoostats/ Göktürk Yüksek
-- strict thread matches above, loose matches on Subject: below --
2017-01-02 6:22 Göktürk Yüksek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox