From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from pigeon.gentoo.org ([208.92.234.80] helo=lists.gentoo.org) by finch.gentoo.org with esmtp (Exim 4.60) (envelope-from ) id 1QlKO5-0003OF-NK for garchives@archives.gentoo.org; Mon, 25 Jul 2011 12:35:57 +0000 Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id BAA3621C0A8; Mon, 25 Jul 2011 12:35:49 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 7D93721C0A8 for ; Mon, 25 Jul 2011 12:35:49 +0000 (UTC) Received: from pelican.gentoo.org (unknown [66.219.59.40]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id B39761CC00E for ; Mon, 25 Jul 2011 12:35:48 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by pelican.gentoo.org (Postfix) with ESMTP id 14AEF80040 for ; Mon, 25 Jul 2011 12:35:48 +0000 (UTC) From: "Vikraman Choudhury" To: gentoo-commits@lists.gentoo.org Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Vikraman Choudhury" Message-ID: Subject: [gentoo-commits] proj/gentoostats:master commit in: client/gentoostats/, client/ X-VCS-Repository: proj/gentoostats X-VCS-Files: client/gentoostats-cli client/gentoostats/list.py X-VCS-Directories: client/gentoostats/ client/ X-VCS-Committer: vikraman X-VCS-Committer-Name: Vikraman Choudhury X-VCS-Revision: bce6d47cdd40c24d26b8241a882263c602b166df Date: Mon, 25 Jul 2011 12:35:48 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: quoted-printable X-Archives-Salt: X-Archives-Hash: fc3c76f44a4d1010c9c650aaf56ea027 commit: bce6d47cdd40c24d26b8241a882263c602b166df Author: Vikraman Choudhury gmail com> AuthorDate: Mon Jul 25 12:35:20 2011 +0000 Commit: Vikraman Choudhury gmail com> CommitDate: Mon Jul 25 12:35:20 2011 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=3Dproj/gentoostats.g= it;a=3Dcommit;h=3Dbce6d47c gentoostats-cli first commit --- client/gentoostats-cli | 28 +++++++++++++ client/gentoostats/list.py | 97 ++++++++++++++++++++++++++++++++++++++= ++++++ 2 files changed, 125 insertions(+), 0 deletions(-) diff --git a/client/gentoostats-cli b/client/gentoostats-cli new file mode 100755 index 0000000..cee0da1 --- /dev/null +++ b/client/gentoostats-cli @@ -0,0 +1,28 @@ +#!/usr/bin/env python + +import sys +import importlib + +actions =3D {'list':'gentoostats.list', 'search':'gentooostats.search'} + +def print_usage(): + print 'Usage:', sys.argv[0], '' + print 'Available actions:' + for action in actions.keys(): + print action + +def main(): + argc =3D len(sys.argv) + if argc =3D=3D 1: + print_usage() + sys.exit(1) + try: + loaded_module =3D importlib.import_module(actions[sys.argv[1]]) + loaded_module.main(opts=3Dsys.argv[2:]) + except KeyError, ImportError: + sys.stderr.writelines('Unknown action') + sys.exit(1) + + +if __name__ =3D=3D "__main__": + main() diff --git a/client/gentoostats/list.py b/client/gentoostats/list.py new file mode 100644 index 0000000..480587c --- /dev/null +++ b/client/gentoostats/list.py @@ -0,0 +1,97 @@ + +import sys +import json +import httplib + +objects=3D{ +'arch':'list_arch', +'feature':'list_feature', +'lang':'list_lang', +'mirror':'list_mirror', +'repo':'list_repo', +'category':'list_cat', +} + +server =3D 'soc.dev.gentoo.org' +url =3D '/gentoostats' +headers =3D {'Accept':'application/json'} + +def print_usage(): + print 'Usage: list ' + print 'Available objects:' + for obj in objects.keys(): + print obj + +def pprint(object): + import pprint + pprint.pprint(object) + +def main(opts): + l =3D len(opts) + if l =3D=3D 0: + print_usage() + sys.exit(1) + + if opts[0] not in objects: + sys.stderr.write('Unknown object') + sys.exit(1) + + try: + globals()[objects[opts[0]]]() + except KeyError: + sys.stderr.write('Unimplemented') + sys.exit(1) + +def list_arch(): + conn =3D httplib.HTTPSConnection(server) + conn.request('GET', url=3Durl+'/arch', headers=3Dheaders) + try: + arch_data =3D json.JSONDecoder().decode(conn.getresponse().read(= )) + except ValueError: + sys.exit(1) + pprint(arch_data) + +def list_feature(): + conn =3D httplib.HTTPSConnection(server) + conn.request('GET', url=3Durl+'/feature', headers=3Dheaders) + try: + feature_data =3D json.JSONDecoder().decode(conn.getresponse().re= ad()) + except ValueError: + sys.exit(1) + pprint(feature_data) + +def list_lang(): + conn =3D httplib.HTTPSConnection(server) + conn.request('GET', url=3Durl+'/lang', headers=3Dheaders) + try: + lang_data =3D json.JSONDecoder().decode(conn.getresponse().read(= )) + except ValueError: + sys.exit(1) + pprint(lang_data) + +def list_mirror(): + conn =3D httplib.HTTPSConnection(server) + conn.request('GET', url=3Durl+'/mirror', headers=3Dheaders) + try: + mirror_data =3D json.JSONDecoder().decode(conn.getresponse().rea= d()) + except ValueError: + sys.exit(1) + pprint(mirror_data) + +def list_repo(): + conn =3D httplib.HTTPSConnection(server) + conn.request('GET', url=3Durl+'/mirror', headers=3Dheaders) + try: + repo_data =3D json.JSONDecoder().decode(conn.getresponse().read(= )) + except ValueError: + sys.exit(1) + pprint(repo_data) + +def list_cat(): + conn =3D httplib.HTTPSConnection(server) + conn.request('GET', url=3Durl+'/package', headers=3Dheaders) + try: + cat_data =3D json.JSONDecoder().decode(conn.getresponse().read()= ) + except ValueError: + sys.exit(1) + pprint(cat_data)