exec `dirname $0`/../btspull -n $@ \
`grep http $SPOOL/index.fwd \
- | sort -n \
- | sed -e 's/: .*/ / ; s/^/, /' \
- | tr -d '\n' \
- | sed -e 's/^, //'`
-
+ | sort -n | cut -d: -f1 | tr '\n' ' '`
exec `dirname $0`/../btspull $@ \
`grep http $SPOOL/index.fwd \
- | sort -n \
- | sed -e 's/: .*/ / ; s/^/, /' \
- | tr -d '\n' \
- | sed -e 's/^, //'`
-
-
+ | sort -n | cut -d: -f1 | tr '\n' ' '`
queues = {}
- cmds = [x.split('\007') for x in '\007'.join(args).split('\007,\007')]
- for c in cmds:
- if len(c) not in (1, 2): usage(1)
- if len(c) is 1:
- btsbug = btsi.getReport(c[0])
-
- if btsbug is None:
- warn("#%s does not exist" % (c[0]))
- continue
- if not btsbug.forward:
- if not btsbug.fwdTo:
- warn("#%s has no forwards" % (c[0]))
- if len(btsbug.fwdTo) is not 1:
- warn("#%s has more than one forward" % (c[0]))
- continue
-
- fwd = btsbug.forward
- else:
- btsbug = btsi.getReport(c[0])
- if btsbug is None:
- warn("#%s does not exist" % (c[0]))
- continue
-
- fwd = c[1]
+ for id in args:
+ btsbug = btsi.getReport(id)
+
+ if btsbug is None:
+ warn("#%s does not exist" % (id))
+ continue
if short and btsbug.done:
continue
- rbts = RemoteBts.find(fwd)
+ if not btsbug.forward:
+ if not btsbug.fwdTo:
+ warn("#%s has no forwards" % (id))
+ if len(btsbug.fwdTo) is not 1:
+ warn("#%s has more than one forward" % (id))
+ continue
+
+ rbts = RemoteBts.find(btsbug.forward)
if not rbts:
- warn("#%s: not understood: %s" % (btsbug.id, fwd))
+ warn("#%s: not understood: %s" % (btsbug.id, btsbug.forward))
continue
- rbts.enqueue(btsbug, fwd)
+ rbts.enqueue(btsbug)
try:
res = []
self._bugcls = bugCls
self._queue = []
- def enqueue(self, btsbug, fwd):
- self._queue.append((btsbug, fwd))
+ def enqueue(self, btsbug):
+ self._queue.append(btsbug)
def processQueue(self):
res = []
while self._queue:
- btsbug, fwd = self._queue[0]
+ btsbug = self._queue[0]
self._queue = self._queue[1:]
try:
- rbug = self.getReport(fwd)
+ rbug = self.getReport(btsbug.forward)
if rbug:
actions = getActions(btsbug, rbug)
if actions:
i = 0
type, value, tb = sys.exc_info()
exn = traceback.format_exception_only(type, value)
- warn("*** #%s [%s] raised an exception %s" % (btsbug.id, fwd, exn))
+ warn("*** #%s [%s] raised an exception %s" % (btsbug.id, btsbug.forward, exn))
for file, lineno, _, text in traceback.extract_tb(tb):
i += 1
warn(" %d. %-70s [%s:%s]" % (i, text, os.path.basename(file), lineno))
def __init__(self, cnf):
OldRemoteBugzilla.__init__(self, cnf)
- def enqueue(self, btsbug, fwd):
- id = self.extractBugid(fwd)
- if id is None: failwith(fwd)
+ def enqueue(self, btsbug):
+ id = self.extractBugid(btsbug.forward)
+ if id is None: failwith(btsbug.forward)
self._queue.append((btsbug, id))
def processQueue(self):