Use class attributes as much as possible for application output

refs #803
This commit is contained in:
Laurent Bachelier 2014-09-03 01:22:18 +02:00
commit c07e23cafc
35 changed files with 228 additions and 260 deletions

View file

@ -18,7 +18,6 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import sys
from copy import copy
from weboob.core import CallErrors
@ -92,7 +91,7 @@ class HaveDate(Boobmsg):
def edit_optims(self, backend_names, optims_names, stop=False):
if optims_names is None:
print >>sys.stderr, 'Error: missing parameters.'
print >>self.stderr, 'Error: missing parameters.'
return 2
for optim_name in optims_names.split():
@ -124,14 +123,14 @@ class HaveDate(Boobmsg):
def optims(self, function, backend_names, optims, store=True):
if optims is None:
print >>sys.stderr, 'Error: missing parameters.'
print >>self.stderr, 'Error: missing parameters.'
return 2
for optim_name in optims.split():
try:
if store:
storage_optim = set(self.storage.get('optims', optim_name, default=[]))
sys.stdout.write('%sing %s:' % (function.capitalize(), optim_name))
self.stdout.write('%sing %s:' % (function.capitalize(), optim_name))
for backend, optim in self.do('get_optimization', optim_name, backends=backend_names):
if optim:
# It's useless to start a started optim, or to stop a stopped one.
@ -144,10 +143,10 @@ class HaveDate(Boobmsg):
self.edit_optims(backend.name, optim_name)
ret = getattr(optim, function)()
sys.stdout.write(' ' + backend.name)
self.stdout.write(' ' + backend.name)
if not ret:
sys.stdout.write('(failed)')
sys.stdout.flush()
self.stdout.write('(failed)')
self.stdout.flush()
if store:
if function == 'start' and ret:
storage_optim.add(backend.name)
@ -156,7 +155,7 @@ class HaveDate(Boobmsg):
storage_optim.remove(backend.name)
except KeyError:
pass
sys.stdout.write('.\n')
self.stdout.write('.\n')
except CallErrors as errors:
for backend, error, backtrace in errors:
if isinstance(error, OptimizationNotFound):
@ -206,7 +205,7 @@ class HaveDate(Boobmsg):
if backend_name == '*':
backend_name = None
elif backend_name is not None and not backend_name in [b.name for b in self.enabled_backends]:
print >>sys.stderr, 'Error: No such backend "%s"' % backend_name
print >>self.stderr, 'Error: No such backend "%s"' % backend_name
return 1
if cmd == 'start':
@ -246,7 +245,7 @@ class HaveDate(Boobmsg):
line.append((b, status))
self.format(tuple(line))
return
print >>sys.stderr, "No such command '%s'" % cmd
print >>self.stderr, "No such command '%s'" % cmd
return 1
def do_events(self, line):