Gentoo Archives: gentoo-commits

From: "Göktürk Yüksek" <gokturk@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/gentoostats:master commit in: client/, client/gentoostats/
Date: Thu, 29 Dec 2016 06:16:58
Message-Id: 1482992031.dad01a9243e6d217da18976b93dbb4f84cf93b44.gokturk@gentoo
1 commit: dad01a9243e6d217da18976b93dbb4f84cf93b44
2 Author: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 29 06:13:51 2016 +0000
4 Commit: Göktürk Yüksek <gokturk <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 29 06:13:51 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/gentoostats.git/commit/?id=dad01a92
7
8 client: add support python3 compatibility
9
10 client/gentoostats-cli | 6 ++++--
11 client/gentoostats-send | 19 +++++++++++++++----
12 client/gentoostats/list.py | 8 +++++---
13 client/gentoostats/payload.py | 10 ++++++++--
14 client/gentoostats/search.py | 5 +++--
15 client/gentoostats/utils.py | 7 +++++--
16 6 files changed, 40 insertions(+), 15 deletions(-)
17
18 diff --git a/client/gentoostats-cli b/client/gentoostats-cli
19 index a22ccc7..768a1ed 100755
20 --- a/client/gentoostats-cli
21 +++ b/client/gentoostats-cli
22 @@ -10,13 +10,15 @@ def main():
23 parser.add_argument('-s', '--server', default='soc.dev.gentoo.org')
24 parser.add_argument('-u', '--url', default='/gentoostats')
25
26 - subparsers = parser.add_subparsers()
27 + # http://bugs.python.org/issue9253
28 + subparsers = parser.add_subparsers(dest='command')
29 + subparsers.required = True
30
31 list.add_parser(subparsers)
32 search.add_parser(subparsers)
33
34 args = parser.parse_args()
35 - args.func(args)
36 + args.command(args)
37
38 if __name__ == "__main__":
39 main()
40
41 diff --git a/client/gentoostats-send b/client/gentoostats-send
42 index 2ae2857..eac742c 100755
43 --- a/client/gentoostats-send
44 +++ b/client/gentoostats-send
45 @@ -1,10 +1,21 @@
46 #!/usr/bin/env python
47
48 +from __future__ import print_function
49 +
50 import sys
51 import json
52 import argparse
53 -import ConfigParser
54 -import httplib
55 +
56 +try:
57 + import configparser as ConfigParser
58 +except ImportError:
59 + import ConfigParser
60 +
61 +try:
62 + import http.client as httplib
63 +except ImportError:
64 + import httplib
65 +
66 from gentoostats.payload import Payload
67
68 def getAuthInfo(auth):
69 @@ -67,8 +78,8 @@ def main():
70 conn = httplib.HTTPSConnection(args['server'] + ':' + str(args['port']))
71 conn.request('POST', url=post_url, headers=post_headers, body=post_body)
72 response = conn.getresponse()
73 - print response.status, response.reason
74 - print 'Server response: ' + response.read()
75 + print(response.status, response.reason)
76 + print('Server response: ' + response.read().decode("utf-8"))
77 except httplib.HTTPException:
78 sys.stderr.write('Something went wrong')
79 sys.exit(1)
80
81 diff --git a/client/gentoostats/list.py b/client/gentoostats/list.py
82 index 3140041..8c369ab 100644
83 --- a/client/gentoostats/list.py
84 +++ b/client/gentoostats/list.py
85 @@ -1,3 +1,4 @@
86 +from __future__ import print_function
87
88 import pprint as pp
89 from gentoostats import utils
90 @@ -6,7 +7,7 @@ def pprint(title, object):
91 """
92 Pretty printer for the decoded json data
93 """
94 - print title
95 + print(title)
96 pp.pprint(object)
97
98 def add_parser(subparsers):
99 @@ -14,7 +15,8 @@ def add_parser(subparsers):
100 Setup argparse parsers
101 """
102 list_parser = subparsers.add_parser('list')
103 - list_subparsers = list_parser.add_subparsers()
104 + list_subparsers = list_parser.add_subparsers(dest='subcommand')
105 + list_subparsers.required = True
106
107 objects = {
108 'arch': ['parser_arch', list_arch],
109 @@ -27,7 +29,7 @@ def add_parser(subparsers):
110 }
111 for obj in objects.keys():
112 parser = vars()[objects[obj][0]] = list_subparsers.add_parser(obj)
113 - parser.set_defaults(func=objects[obj][1])
114 + parser.set_defaults(command=objects[obj][1])
115
116 # need separate arguments for package
117 parser = vars()[objects['package'][0]]
118
119 diff --git a/client/gentoostats/payload.py b/client/gentoostats/payload.py
120 index b2c459f..569b69b 100644
121 --- a/client/gentoostats/payload.py
122 +++ b/client/gentoostats/payload.py
123 @@ -1,7 +1,13 @@
124 +from __future__ import print_function
125
126 import sys
127 import pprint
128 -import ConfigParser
129 +
130 +try:
131 + import configparser as ConfigParser
132 +except ImportError:
133 + import ConfigParser
134 +
135 from gentoostats.environment import Environment
136 from gentoostats.packages import Packages
137 from gentoostats.metadata import Metadata
138 @@ -79,4 +85,4 @@ class Payload(object):
139 if human:
140 pprint.pprint(self.payload)
141 else:
142 - print self.payload
143 + print(self.payload)
144
145 diff --git a/client/gentoostats/search.py b/client/gentoostats/search.py
146 index c77c119..89b4d20 100644
147 --- a/client/gentoostats/search.py
148 +++ b/client/gentoostats/search.py
149 @@ -1,3 +1,4 @@
150 +from __future__ import print_function
151
152 import pprint as pp
153 from gentoostats import utils
154 @@ -6,7 +7,7 @@ def pprint(title, object):
155 """
156 Pretty printer for the decoded json data
157 """
158 - print title
159 + print(title)
160 pp.pprint(object)
161
162 def add_parser(subparsers):
163 @@ -20,7 +21,7 @@ def add_parser(subparsers):
164 search_parser.add_argument('-r', '--repo')
165 search_parser.add_argument('--min_hosts', type=int)
166 search_parser.add_argument('--max_hosts', type=int)
167 - search_parser.set_defaults(func=search)
168 + search_parser.set_defaults(command=search)
169
170 def search(args):
171 """
172
173 diff --git a/client/gentoostats/utils.py b/client/gentoostats/utils.py
174 index af807c8..af8dab2 100644
175 --- a/client/gentoostats/utils.py
176 +++ b/client/gentoostats/utils.py
177 @@ -1,6 +1,9 @@
178
179 import json
180 -import httplib
181 +try:
182 + import http.client as httplib
183 +except ImportError:
184 + import httplib
185
186 # json headers for gentoostats-cli
187 headers = {'Accept': 'application/json'}
188 @@ -15,7 +18,7 @@ def GET(server, url, headers, https=True):
189 conn = httplib.HTTPConnection(server)
190 try:
191 conn.request('GET', url=url, headers=headers)
192 - data = conn.getresponse().read()
193 + data = conn.getresponse().read().decode("utf-8")
194 except httplib.HTTPException:
195 return None
196 finally: