class mywoodchuck (PyWoodchuck):
def __init__(self, listing, human_readable_name, identifier,
request_feedback):
- PyWoodchuck.__init__ (self, human_readable_name, identifier,
- request_feedback)
+ try:
+ PyWoodchuck.__init__ (self, human_readable_name, identifier,
+ request_feedback)
+ except woodchuck.Error, e:
+ logger.error(
+ "Failed to establish a connection to the Woodchuck server: %s"
+ % (str(e),))
+ self.available = self.not_available
+ return
self.listing = listing
+ def not_available(self):
+ return False
+
# Woodchuck upcalls.
def stream_update_cb(self, stream):
logger.debug("stream update called on %s (%s)"
_w = None
def wc_init(listing, request_feedback=False):
+ """Connect to the woodchuck server and initialize any state."""
global _w
assert _w is None
logger.debug("Woodchuck appears to be available.")
def wc():
- """Connect to the woodchuck server and initialize any state."""
+ """Return the Woodchuck singleton."""
global _w
assert _w is not None
return _w