Index: devel/pybugz/Makefile =================================================================== --- devel/pybugz/Makefile +++ devel/pybugz/Makefile @@ -1,19 +1,22 @@ # $FreeBSD$ PORTNAME= pybugz -PORTVERSION= 0.10.1 -CATEGORIES= devel +PORTVERSION= 0.11.1 +CATEGORIES= devel python PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} MAINTAINER= crees@FreeBSD.org -COMMENT= Command line tools for interacting with Bugzilla +COMMENT= Python command-line interface to bugzilla LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/LICENSE +NO_ARCH= yes + +USES= python:3.3+ USE_GITHUB= yes -GH_ACCOUNT= williamh +USE_PYTHON= autoplist distutils -USES= python:2 -USE_PYTHON= distutils autoplist +GH_ACCOUNT= williamh .include Index: devel/pybugz/distinfo =================================================================== --- devel/pybugz/distinfo +++ devel/pybugz/distinfo @@ -1,2 +1,2 @@ -SHA256 (williamh-pybugz-0.10.1_GH0.tar.gz) = 9e94412062ff683e83b753c5dad0f7cd4c41f3b2e53ed51faedb3fe2f6b550b5 -SIZE (williamh-pybugz-0.10.1_GH0.tar.gz) = 23120 +SHA256 (williamh-pybugz-0.11.1_GH0.tar.gz) = 05b2cef8a655ab34d9279e6341d16a803af07958e72320125cb30a3fd6bc8eec +SIZE (williamh-pybugz-0.11.1_GH0.tar.gz) = 23787 Index: devel/pybugz/files/patch-bugz__cli.py =================================================================== --- devel/pybugz/files/patch-bugz__cli.py +++ /dev/null @@ -1,71 +0,0 @@ ---- ./bugz/cli.py.orig 2012-05-06 20:37:35.000000000 +0000 -+++ ./bugz/cli.py 2014-08-02 20:38:22.976386635 +0000 -@@ -29,6 +29,7 @@ - """ - - DEFAULT_COOKIE_FILE = '.bugz_cookie' -+DEFAULT_TOKEN_FILE = '.bugz_token' - DEFAULT_NUM_COLS = 80 - - # -@@ -143,6 +144,12 @@ - except IOError: - pass - -+ self.token_file = os.path.join(os.environ['HOME'], DEFAULT_TOKEN_FILE) -+ try: -+ self.token = open(self.token_file).read().strip() -+ except IOError: -+ self.token = None -+ - if getattr(args, 'encoding'): - self.enc = args.encoding - else: -@@ -170,16 +177,21 @@ - def get_input(self, prompt): - return raw_input(prompt) - -+ def set_token(self, *args): -+ if args and self.token: -+ args[0]['Bugzilla_token'] = self.token -+ return args -+ - def bzcall(self, method, *args): - """Attempt to call method with args. Log in if authentication is required. - """ - try: -- return method(*args) -+ return method(*self.set_token(*args)) - except xmlrpclib.Fault, fault: - # Fault code 410 means login required - if fault.faultCode == 410 and not self.skip_auth: - self.login() -- return method(*args) -+ return method(*self.set_token(*args)) - raise - - def login(self, args=None): -@@ -208,10 +220,21 @@ - params['remember'] = True - self.log('Logging in') - self.bz.User.login(params) -+ log_info('Logging in') -+ result = self.bz.User.login(params) -+ if 'token' in result: -+ self.token = result['token'] - - if args is not None: -- self.cookiejar.save() -- os.chmod(self.cookiejar.filename, 0600) -+ if self.token: -+ fd = open(self.token_file, 'w') -+ fd.write(self.token) -+ fd.write('\n') -+ fd.close() -+ os.chmod(self.token_file, 0600) -+ else: -+ self.cookiejar.save() -+ os.chmod(self.cookiejar.filename, 0600) - - def logout(self, args): - self.log('logging out') Index: devel/pybugz/pkg-descr =================================================================== --- devel/pybugz/pkg-descr +++ devel/pybugz/pkg-descr @@ -13,4 +13,4 @@ There is extensive help in `bugz --help` and `bugz --help` for additional options. -WWW: https://github.com/williamh/pybugz +WWW: http://www.liquidx.net/pybugz