Rev 46: Lazily load external modules in bzr-cia. in file:///home/jelmer/bzr-cia/trunk/
Jelmer Vernooij
jelmer at samba.org
Thu Feb 12 13:40:19 GMT 2009
At file:///home/jelmer/bzr-cia/trunk/
------------------------------------------------------------
revno: 46
revision-id: jelmer at samba.org-20090212134018-f8k8uhxmip0ob0ss
parent: jelmer at samba.org-20090212133543-9jw8xrzc7vwj74k8
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Thu 2009-02-12 14:40:18 +0100
message:
Lazily load external modules in bzr-cia.
=== modified file '__init__.py'
--- a/__init__.py 2009-02-12 13:35:43 +0000
+++ b/__init__.py 2009-02-12 13:40:18 +0000
@@ -37,8 +37,6 @@
version_info = (1, 0, 0, 'dev', 0)
-import socket
-import xmlrpclib
import bzrlib
from bzrlib.branch import Branch
@@ -129,6 +127,7 @@
def cia_connect(config):
+ import xmlrpclib
server = config.get_user_option('cia_server')
if server is None:
server = "http://cia.navi.cx"
@@ -136,6 +135,24 @@
return xmlrpclib.ServerProxy(server)
+class CIADeliverError(Exception):
+
+ def __init__(self, message):
+ self.message = message
+
+
+def cia_deliver(server, msg):
+ import socket, xmlrpclib
+ try:
+ server.hub.deliver(msg)
+ except xmlrpclib.ProtocolError, e:
+ raise CIADeliverError(e.errmsg)
+ except socket.gaierror, (_, errmsg):
+ raise CIADeliverError(errmsg)
+ except socket.error, (_, errmsg):
+ raise CIADeliverError(errmsg)
+
+
def cia_submit(branch, revid, revno, dry_run=False):
config = branch.get_config()
@@ -157,16 +174,9 @@
if not quiet:
info("Submitting revision to CIA.")
if not dry_run:
- error = None
try:
- cia_connect(config).hub.deliver(msg)
- except xmlrpclib.ProtocolError, e:
- error = e.errmsg
- except socket.gaierror, (_, errmsg):
- error = errmsg
- except socket.error, (_, errmsg):
- error = errmsg
- if error is not None:
+ cia_deliver(cia_connect(config), msg)
+ except CIADeliverError, (error, ):
warning("Unable to submit revision to CIA: %s" % error)
store_failed_message(revid, msg)
info("To retry submit later, run 'bzr cia-submit --pending'.")
@@ -198,16 +208,9 @@
for revid in os.listdir(cache_dir):
path = os.path.join(cache_dir, revid)
msg = open(path, 'r').read()
- error = None
try:
- server.hub.deliver(msg)
- except xmlrpclib.ProtocolError, e:
- error = e.errmsg
- except socket.gaierror, (_, errmsg):
- error = errmsg
- except socket.error, (_, errmsg):
- error = errmsg
- if error is not None:
+ cia_deliver(server, msg)
+ except CIADeliverError, (error, ):
warning("Submitting %s failed: %s" % (revid, error))
else:
os.remove(path)
More information about the bazaar-commits
mailing list