aboutsummaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
authorVikraman Choudhury <vikraman.choudhury@gmail.com>2011-05-06 18:54:17 +0530
committerVikraman Choudhury <vikraman.choudhury@gmail.com>2011-05-06 18:54:17 +0530
commit3c62442a093c2ac94f4bc1335d074e285c18b0b0 (patch)
treeee6daa867d30241aa60ed6aeb419e2658f577bb0 /client
parentadd optional sort param (diff)
downloadgentoostats-3c62442a093c2ac94f4bc1335d074e285c18b0b0.tar.gz
gentoostats-3c62442a093c2ac94f4bc1335d074e285c18b0b0.tar.bz2
gentoostats-3c62442a093c2ac94f4bc1335d074e285c18b0b0.zip
changes to client to post collected data to server
Diffstat (limited to 'client')
-rwxr-xr-xclient/bin/client53
1 files changed, 45 insertions, 8 deletions
diff --git a/client/bin/client b/client/bin/client
index c41de84..f920250 100755
--- a/client/bin/client
+++ b/client/bin/client
@@ -3,18 +3,55 @@
from packages import Packages
from useflags import UseFlags
from environment import Environment
+import json
+import urllib, httplib
-def main():
+def getAuthInfo():
+ #TODO: Return public uuid and md5sum of password
+ auth_info = {
+ "UUID": "254e308c-d6a0-405c-aa1f-f21d9c1ea6e1",
+ "PASSWD": "5f4dcc3b5aa765d61d8327deb882cf99"
+ }
+ return auth_info
+
+def getPostData():
p = Packages()
u = UseFlags()
- for cpv in p.getInstalledCPVs():
- print cpv,
- for x in u.getUseFlags(cpv):
- print x,
- print
e = Environment()
- for var in ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CHOST', 'FEATURES'):
- print e.getVar(var)
+
+ post_data = {}
+ post_data['PROTOCOL'] = 1
+ post_data['AUTH'] = getAuthInfo()
+ for key in ('CFLAGS', 'CXXFLAGS', 'LDFLAGS', 'CHOST', 'FEATURES'):
+ post_data[key] = e.getVar(key)
+
+ packages = {}
+ for cpv in p.getInstalledCPVs(sort=True):
+ packages[cpv] = u.getUseFlags(cpv)
+ post_data['PACKAGES'] = packages
+
+ return post_data
+
+def serialize(object, human=False):
+ if human:
+ indent = 2
+ sort_keys = True
+ else:
+ indent = None
+ sort_keys = False
+ return json.JSONEncoder(indent=indent, sort_keys=sort_keys).encode(object)
+
+def main():
+ post_body = serialize(getPostData(), human=True)
+ print post_body
+ post_headers = {"Content-type": "application/json"}
+ myuuid = getAuthInfo()['UUID']
+ conn = httplib.HTTPConnection("127.0.0.1:8080")
+ conn.request('POST', '/' + myuuid, headers=post_headers, body=post_body)
+ #TODO: Handle exceptions
+ response = conn.getresponse()
+ print response.status, response.reason
+ print 'Server response: ' + response.read()
if __name__ == "__main__":
main()