View | Details | Raw Unified | Return to bug 192346
Collapse All | Expand All

(-)Makefile (-4 / +3 lines)
Lines 1-10 Link Here
1
# $FreeBSD$
1
# $FreeBSD$
2
2
3
PORTNAME=	pybugz
3
PORTNAME=	pybugz
4
PORTVERSION=	0.9.3
4
PORTVERSION=	0.10.1
5
PORTREVISION=	2
6
CATEGORIES=	devel
5
CATEGORIES=	devel
7
MASTER_SITES=	http://www.bayofrum.net/dist/${PORTNAME}/
6
MASTER_SITES=	https://github.com/williamh/${PORTNAME}/archive/${PORTVERSION}.tar.gz?dummy=/
7
8
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
8
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
9
9
10
MAINTAINER=	crees@FreeBSD.org
10
MAINTAINER=	crees@FreeBSD.org
Lines 12-18 Link Here
12
12
13
LICENSE=	GPLv2
13
LICENSE=	GPLv2
14
14
15
WRKSRC=		${WRKDIR}/${PORTNAME}
16
USE_PYTHON=	2
15
USE_PYTHON=	2
17
USE_PYDISTUTILS=yes
16
USE_PYDISTUTILS=yes
18
PYDISTUTILS_AUTOPLIST=	yes
17
PYDISTUTILS_AUTOPLIST=	yes
(-)distinfo (-2 / +2 lines)
Lines 1-2 Link Here
1
SHA256 (pybugz-0.9.3.tar.gz) = cc572ac66f372fe222e5e6e390c295b6fde1b72debdd1d9fa23c67b1d218daa7
1
SHA256 (pybugz-0.10.1.tar.gz) = 9e94412062ff683e83b753c5dad0f7cd4c41f3b2e53ed51faedb3fe2f6b550b5
2
SIZE (pybugz-0.9.3.tar.gz) = 232381
2
SIZE (pybugz-0.10.1.tar.gz) = 23120
(-)files/patch-bugz__cli.py (+71 lines)
Line 0 Link Here
1
--- ./bugz/cli.py.orig	2012-05-06 20:37:35.000000000 +0000
2
+++ ./bugz/cli.py	2014-08-02 20:38:22.976386635 +0000
3
@@ -29,6 +29,7 @@
4
 """
5
 
6
 DEFAULT_COOKIE_FILE = '.bugz_cookie'
7
+DEFAULT_TOKEN_FILE = '.bugz_token'
8
 DEFAULT_NUM_COLS = 80
9
 
10
 #
11
@@ -143,6 +144,12 @@
12
 		except IOError:
13
 			pass
14
 
15
+		self.token_file = os.path.join(os.environ['HOME'], DEFAULT_TOKEN_FILE)
16
+		try:
17
+			self.token = open(self.token_file).read().strip()
18
+		except IOError:
19
+			self.token = None
20
+
21
 		if getattr(args, 'encoding'):
22
 			self.enc = args.encoding
23
 		else:
24
@@ -170,16 +177,21 @@
25
 	def get_input(self, prompt):
26
 		return raw_input(prompt)
27
 
28
+	def set_token(self, *args):
29
+		if args and self.token:
30
+			args[0]['Bugzilla_token'] = self.token
31
+		return args
32
+
33
 	def bzcall(self, method, *args):
34
 		"""Attempt to call method with args. Log in if authentication is required.
35
 		"""
36
 		try:
37
-			return method(*args)
38
+			return method(*self.set_token(*args))
39
 		except xmlrpclib.Fault, fault:
40
 			# Fault code 410 means login required
41
 			if fault.faultCode == 410 and not self.skip_auth:
42
 				self.login()
43
-				return method(*args)
44
+				return method(*self.set_token(*args))
45
 			raise
46
 
47
 	def login(self, args=None):
48
@@ -208,10 +220,21 @@
49
 			params['remember'] = True
50
 		self.log('Logging in')
51
 		self.bz.User.login(params)
52
+		log_info('Logging in')
53
+		result = self.bz.User.login(params)
54
+		if 'token' in result:
55
+			self.token = result['token']
56
 
57
 		if args is not None:
58
-			self.cookiejar.save()
59
-			os.chmod(self.cookiejar.filename, 0600)
60
+			if self.token:
61
+				fd = open(self.token_file, 'w')
62
+				fd.write(self.token)
63
+				fd.write('\n')
64
+				fd.close()
65
+				os.chmod(self.token_file, 0600)
66
+			else:
67
+				self.cookiejar.save()
68
+				os.chmod(self.cookiejar.filename, 0600)
69
 
70
 	def logout(self, args):
71
 		self.log('logging out')

Return to bug 192346