Commit c07e23ca authored by Laurent Bachelier's avatar Laurent Bachelier 🐧

Use class attributes as much as possible for application output

refs #803
parent ee8e7cee
......@@ -23,7 +23,6 @@ import datetime, uuid
from dateutil.relativedelta import relativedelta
from dateutil.parser import parse as parse_date
from decimal import Decimal, InvalidOperation
import sys
from weboob.capabilities.base import empty
from weboob.capabilities.bank import CapBank, Account, Transaction
......@@ -328,7 +327,7 @@ class Boobank(ReplApplication):
account = self.get_object(id, 'get_account', [])
if not account:
print('Error: account "%s" not found (Hint: try the command "list")' % id, file=sys.stderr)
print('Error: account "%s" not found (Hint: try the command "list")' % id, file=self.stderr)
return 2
if end_date is not None:
......@@ -336,7 +335,7 @@ class Boobank(ReplApplication):
end_date = parse_date(end_date)
except ValueError:
print('"%s" is an incorrect date format (for example "%s")' % \
(end_date, (datetime.date.today() - relativedelta(months=1)).strftime('%Y-%m-%d')), file=sys.stderr)
(end_date, (datetime.date.today() - relativedelta(months=1)).strftime('%Y-%m-%d')), file=self.stderr)
return 3
old_count = self.options.count
self.options.count = None
......@@ -406,7 +405,7 @@ class Boobank(ReplApplication):
account = self.get_object(id_from, 'get_account', [])
if not account:
print('Error: account %s not found' % id_from, file=sys.stderr)
print('Error: account %s not found' % id_from, file=self.stderr)
return 1
if not id_to:
......@@ -422,13 +421,13 @@ class Boobank(ReplApplication):
id_to, backend_name_to = self.parse_id(id_to)
if account.backend != backend_name_to:
print("Transfer between different backends is not implemented", file=sys.stderr)
print("Transfer between different backends is not implemented", file=self.stderr)
return 4
try:
amount = Decimal(amount)
except (TypeError, ValueError, InvalidOperation):
print('Error: please give a decimal amount to transfer', file=sys.stderr)
print('Error: please give a decimal amount to transfer', file=self.stderr)
return 2
if self.interactive:
......@@ -460,7 +459,7 @@ class Boobank(ReplApplication):
"""
account = self.get_object(id, 'get_account', [])
if not account:
print('Error: account "%s" not found (Hint: try the command "list")' % id, file=sys.stderr)
print('Error: account "%s" not found (Hint: try the command "list")' % id, file=self.stderr)
return 2
self.start_format()
......
This diff is collapsed.
......@@ -17,7 +17,6 @@
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import sys
from datetime import time, datetime
from weboob.tools.date import parse_date
......@@ -231,7 +230,7 @@ class Boobcoming(ReplApplication):
if line:
_date = parse_date(line)
if not _date:
print >>sys.stderr, 'Invalid argument: %s' % self.get_command_help('list')
print >>self.stderr, 'Invalid argument: %s' % self.get_command_help('list')
return 2
date_from = datetime.combine(_date, time.min)
......@@ -256,13 +255,13 @@ class Boobcoming(ReplApplication):
"""
if not _id:
print >>sys.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
print >>self.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
return 2
event = self.get_object(_id, 'get_event')
if not event:
print >>sys.stderr, 'Upcoming event not found: %s' % _id
print >>self.stderr, 'Upcoming event not found: %s' % _id
return 3
self.start_format()
......@@ -279,7 +278,7 @@ class Boobcoming(ReplApplication):
Export event in ICALENDAR format
"""
if not line:
print >>sys.stderr, 'This command takes at leat one argument: %s' % self.get_command_help('export')
print >>self.stderr, 'This command takes at leat one argument: %s' % self.get_command_help('export')
return 2
_file, args = self.parse_command_args(line, 2, req_n=1)
......@@ -307,7 +306,7 @@ class Boobcoming(ReplApplication):
event = self.get_object(_id, 'get_event')
if not event:
print >>sys.stderr, 'Upcoming event not found: %s' % _id
print >>self.stderr, 'Upcoming event not found: %s' % _id
return 3
l.append(event)
......@@ -329,7 +328,7 @@ class Boobcoming(ReplApplication):
ID is the identifier of the event.
"""
if not line:
print >>sys.stderr, 'This command takes at leat one argument: %s' % self.get_command_help('attends')
print >>self.stderr, 'This command takes at leat one argument: %s' % self.get_command_help('attends')
return 2
args = self.parse_command_args(line, 1, req_n=1)
......@@ -347,7 +346,7 @@ class Boobcoming(ReplApplication):
"""
if not line:
print >>sys.stderr, 'This command takes at leat one argument: %s' % self.get_command_help('unattends')
print >>self.stderr, 'This command takes at leat one argument: %s' % self.get_command_help('unattends')
return 2
args = self.parse_command_args(line, 1, req_n=1)
......
......@@ -18,7 +18,6 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import sys
from decimal import Decimal
from weboob.capabilities.bill import CapBill, Detail, Subscription
......@@ -87,9 +86,9 @@ class Boobill(ReplApplication):
self.bcall_error_handler(backend, error, backtrace)
if len(more_results) > 0:
print >>sys.stderr, 'Hint: There are more results available for %s (use option -n or count command)' % (', '.join(more_results))
print >>self.stderr, 'Hint: There are more results available for %s (use option -n or count command)' % (', '.join(more_results))
for backend in not_implemented:
print >>sys.stderr, u'Error(%s): This feature is not supported yet by this backend.' % backend.name
print >>self.stderr, u'Error(%s): This feature is not supported yet by this backend.' % backend.name
def do_subscriptions(self, line):
"""
......@@ -184,7 +183,7 @@ class Boobill(ReplApplication):
id, dest = self.parse_command_args(line, 2, 1)
id, backend_name = self.parse_id(id)
if not id:
print >>sys.stderr, 'Error: please give a bill ID (hint: use bills command)'
print >>self.stderr, 'Error: please give a bill ID (hint: use bills command)'
return 2
names = (backend_name,) if backend_name is not None else None
......@@ -211,7 +210,7 @@ class Boobill(ReplApplication):
with open(dest, 'w') as f:
f.write(buf)
except IOError as e:
print >>sys.stderr, 'Unable to write bill in "%s": %s' % (dest, e)
print >>self.stderr, 'Unable to write bill in "%s": %s' % (dest, e)
return 1
return
......@@ -228,7 +227,7 @@ class Boobill(ReplApplication):
with open(dest, 'w') as f:
f.write(buf)
except IOError as e:
print >>sys.stderr, 'Unable to write bill in "%s": %s' % (dest, e)
print >>self.stderr, 'Unable to write bill in "%s": %s' % (dest, e)
return 1
return
......@@ -19,7 +19,6 @@
import sys
from weboob.capabilities.lyrics import CapLyrics
from weboob.capabilities.base import empty
......@@ -85,7 +84,7 @@ class Booblyrics(ReplApplication):
songlyrics = self.get_object(id, 'get_lyrics')
if not songlyrics:
print >>sys.stderr, 'Song lyrics not found: %s' % id
print >>self.stderr, 'Song lyrics not found: %s' % id
return 3
self.start_format()
......
......@@ -18,7 +18,6 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import sys
import os
import datetime
import hashlib
......@@ -431,7 +430,7 @@ class Boobmsg(ReplApplication):
"""
message = None
if len(arg) == 0:
print >>sys.stderr, 'Please give a message ID.'
print >>self.stderr, 'Please give a message ID.'
return 2
try:
......@@ -448,7 +447,7 @@ class Boobmsg(ReplApplication):
self.weboob.do('set_message_read', message, backends=message.backend)
return
else:
print >>sys.stderr, 'Message not found'
print >>self.stderr, 'Message not found'
return 3
def do_profile(self, id):
......@@ -476,7 +475,7 @@ class Boobmsg(ReplApplication):
"""
photo_cmd = self.config.get('photo_viewer')
if photo_cmd is None:
print >>sys.stderr, "Configuration error: photo_viewer is undefined"
print >>self.stderr, "Configuration error: photo_viewer is undefined"
return
_id, backend_name = self.parse_id(id, unique_backend=True)
......
......@@ -20,7 +20,6 @@
from weboob.capabilities.library import CapBook, Book
from weboob.tools.application.repl import ReplApplication
from weboob.tools.application.formatters.iformatter import PrettyFormatter
import sys
__all__ = ['Boobooks']
......@@ -63,7 +62,7 @@ class Boobooks(ReplApplication):
id, backend_name = self.parse_id(id)
if not id:
print >>sys.stderr, 'Error: please give a book ID (hint: use ls command)'
print >>self.stderr, 'Error: please give a book ID (hint: use ls command)'
return 2
names = (backend_name,) if backend_name is not None else None
......
......@@ -23,7 +23,6 @@ from weboob.capabilities.gauge import CapGauge, SensorNotFound
from weboob.tools.application.repl import ReplApplication
from weboob.tools.application.formatters.iformatter import IFormatter
import sys
__all__ = ['Boobsize']
......@@ -111,7 +110,7 @@ class Boobsize(ReplApplication):
def bcall_error_handler(self, backend, error, backtrace):
if isinstance(error, SensorNotFound):
msg = unicode(error) or 'Sensor not found (hint: try details command)'
print >>sys.stderr, 'Error(%s): %s' % (backend.name, msg)
print >>self.stderr, 'Error(%s): %s' % (backend.name, msg)
else:
return ReplApplication.bcall_error_handler(self, backend, error, backtrace)
......
......@@ -23,7 +23,6 @@ from email import message_from_string, message_from_file
from email.Header import decode_header
from email.mime.text import MIMEText
from smtplib import SMTP
import sys
import os
import re
import unicodedata
......@@ -157,7 +156,7 @@ class BoobTracker(ReplApplication):
elif len(path) > 0:
query.project = path[0]
else:
print >>sys.stderr, 'Please enter a project name'
print >>self.stderr, 'Please enter a project name'
return 1
query.author = self.options.author
......@@ -184,12 +183,12 @@ class BoobTracker(ReplApplication):
Get an issue and display it.
"""
if not line:
print >>sys.stderr, 'This command takes an argument: %s' % self.get_command_help('get', short=True)
print >>self.stderr, 'This command takes an argument: %s' % self.get_command_help('get', short=True)
return 2
issue = self.get_object(line, 'get_issue')
if not issue:
print >>sys.stderr, 'Issue not found: %s' % line
print >>self.stderr, 'Issue not found: %s' % line
return 3
self.format(issue)
......@@ -227,7 +226,7 @@ class BoobTracker(ReplApplication):
try:
hours = float(hours)
except ValueError:
print >>sys.stderr, 'Error: HOURS parameter may be a float'
print >>self.stderr, 'Error: HOURS parameter may be a float'
return 1
id, backend_name = self.parse_id(id, unique_backend=True)
......@@ -383,16 +382,16 @@ class BoobTracker(ReplApplication):
backend = self.weboob.get_backend(issue.backend)
content = self.issue2text(issue, backend)
while True:
if sys.stdin.isatty():
if self.stdin.isatty():
content = self.acquire_input(content, {'vim': "-c 'set ft=mail'"})
m = message_from_string(content.encode('utf-8'))
else:
m = message_from_file(sys.stdin)
m = message_from_file(self.stdin)
try:
email_to = self.text2issue(issue, m)
except ValueError as e:
if not sys.stdin.isatty():
if not self.stdin.isatty():
raise
raw_input("%s -- Press Enter to continue..." % unicode(e).encode("utf-8"))
continue
......@@ -407,7 +406,7 @@ class BoobTracker(ReplApplication):
self.send_notification(email_to, issue)
return 0
except IssueError as e:
if not sys.stdin.isatty():
if not self.stdin.isatty():
raise
raw_input("%s -- Press Enter to continue..." % unicode(e).encode("utf-8"))
......@@ -482,7 +481,7 @@ Weboob Team
_id, key, value = self.parse_command_args(line, 3, 1)
issue = self.get_object(_id, 'get_issue')
if not issue:
print >>sys.stderr, 'Issue not found: %s' % _id
print >>self.stderr, 'Issue not found: %s' % _id
return 3
return self.edit_issue(issue, edit=True)
......@@ -500,4 +499,4 @@ Weboob Team
Attach a file to an issue (Not implemented yet).
"""
print >>sys.stderr, 'Not implemented yet.'
print >>self.stderr, 'Not implemented yet.'
......@@ -19,7 +19,6 @@
import sys
from datetime import datetime
from weboob.applications.weboorrents.weboorrents import TorrentInfoFormatter, TorrentListFormatter
......@@ -231,11 +230,11 @@ class Cineoob(ReplApplication):
person1 = self.get_object(id1, 'get_person', caps=CapCinema)
if not person1:
print >>sys.stderr, 'Person not found: %s' % id1
print >>self.stderr, 'Person not found: %s' % id1
return 3
person2 = self.get_object(id2, 'get_person', caps=CapCinema)
if not person2:
print >>sys.stderr, 'Person not found: %s' % id2
print >>self.stderr, 'Person not found: %s' % id2
return 3
initial_count = self.options.count
......@@ -264,11 +263,11 @@ class Cineoob(ReplApplication):
movie1 = self.get_object(id1, 'get_movie', caps=CapCinema)
if not movie1:
print >>sys.stderr, 'Movie not found: %s' % id1
print >>self.stderr, 'Movie not found: %s' % id1
return 3
movie2 = self.get_object(id2, 'get_movie', caps=CapCinema)
if not movie2:
print >>sys.stderr, 'Movie not found: %s' % id2
print >>self.stderr, 'Movie not found: %s' % id2
return 3
initial_count = self.options.count
......@@ -295,7 +294,7 @@ class Cineoob(ReplApplication):
movie = self.get_object(id, 'get_movie', caps=CapCinema)
if not movie:
print >>sys.stderr, 'Movie not found: %s' % id
print >>self.stderr, 'Movie not found: %s' % id
return 3
self.start_format()
......@@ -310,7 +309,7 @@ class Cineoob(ReplApplication):
person = self.get_object(id, 'get_person', caps=CapCinema)
if not person:
print >>sys.stderr, 'Person not found: %s' % id
print >>self.stderr, 'Person not found: %s' % id
return 3
self.start_format()
......@@ -357,7 +356,7 @@ class Cineoob(ReplApplication):
movie = self.get_object(movie_id, 'get_movie', caps=CapCinema)
if not movie:
print >>sys.stderr, 'Movie not found: %s' % id
print >>self.stderr, 'Movie not found: %s' % id
return 3
for backend, person in self.do('iter_movie_persons', movie.id, role, backends=movie.backend, caps=CapCinema):
......@@ -374,7 +373,7 @@ class Cineoob(ReplApplication):
person = self.get_object(person_id, 'get_person', caps=CapCinema)
if not person:
print >>sys.stderr, 'Person not found: %s' % id
print >>self.stderr, 'Person not found: %s' % id
return 3
for backend, movie in self.do('iter_person_movies', person.id, role, backends=person.backend, caps=CapCinema):
......@@ -388,7 +387,7 @@ class Cineoob(ReplApplication):
"""
person = self.get_object(person_id, 'get_person', ('name', 'biography'), caps=CapCinema)
if not person:
print >>sys.stderr, 'Person not found: %s' % person_id
print >>self.stderr, 'Person not found: %s' % person_id
return 3
self.start_format()
......@@ -412,7 +411,7 @@ class Cineoob(ReplApplication):
movie = self.get_object(id, 'get_movie', ('original_title'), caps=CapCinema)
if not movie:
print >>sys.stderr, 'Movie not found: %s' % id
print >>self.stderr, 'Movie not found: %s' % id
return 3
# i would like to clarify with fillobj but how could i fill the movie AND choose the country ?
......@@ -420,7 +419,7 @@ class Cineoob(ReplApplication):
if not empty(release):
movie.all_release_dates = u'%s' % (release)
else:
print >>sys.stderr, 'Movie releases not found for %s' % movie.original_title
print >>self.stderr, 'Movie releases not found for %s' % movie.original_title
return 3
self.start_format()
self.format(movie)
......@@ -441,7 +440,7 @@ class Cineoob(ReplApplication):
torrent = self.get_object(id, 'get_torrent', caps=CapTorrent)
if not torrent:
print >>sys.stderr, 'Torrent not found: %s' % id
print >>self.stderr, 'Torrent not found: %s' % id
return 3
self.start_format()
......@@ -479,20 +478,20 @@ class Cineoob(ReplApplication):
with open(dest, 'w') as f:
f.write(buf)
except IOError as e:
print >>sys.stderr, 'Unable to write .torrent in "%s": %s' % (dest, e)
print >>self.stderr, 'Unable to write .torrent in "%s": %s' % (dest, e)
return 1
return
except CallErrors as errors:
for backend, error, backtrace in errors:
if isinstance(error, MagnetOnly):
print >>sys.stderr, u'Error(%s): No direct URL available, ' \
print >>self.stderr, u'Error(%s): No direct URL available, ' \
u'please provide this magnet URL ' \
u'to your client:\n%s' % (backend, error.magnet)
return 4
else:
self.bcall_error_handler(backend, error, backtrace)
print >>sys.stderr, 'Torrent "%s" not found' % id
print >>self.stderr, 'Torrent "%s" not found' % id
return 3
@defaultcount(10)
......@@ -519,7 +518,7 @@ class Cineoob(ReplApplication):
"""
movie = self.get_object(id, 'get_movie', ('original_title'), caps=CapCinema)
if not movie:
print >>sys.stderr, 'Movie not found: %s' % id
print >>self.stderr, 'Movie not found: %s' % id
return 3
pattern = movie.original_title
......@@ -548,7 +547,7 @@ class Cineoob(ReplApplication):
subtitle = self.get_object(id, 'get_subtitle', caps=CapCinema)
if not subtitle:
print >>sys.stderr, 'Subtitle not found: %s' % id
print >>self.stderr, 'Subtitle not found: %s' % id
return 3
self.start_format()
......@@ -585,11 +584,11 @@ class Cineoob(ReplApplication):
with open(dest, 'w') as f:
f.write(buf)
except IOError as e:
print >>sys.stderr, 'Unable to write file in "%s": %s' % (dest, e)
print >>self.stderr, 'Unable to write file in "%s": %s' % (dest, e)
return 1
return
print >>sys.stderr, 'Subtitle "%s" not found' % id
print >>self.stderr, 'Subtitle "%s" not found' % id
return 3
@defaultcount(10)
......@@ -658,7 +657,7 @@ class Cineoob(ReplApplication):
language, id = self.parse_command_args(line, 2, 2)
movie = self.get_object(id, 'get_movie', ('original_title'), caps=CapCinema)
if not movie:
print >>sys.stderr, 'Movie not found: %s' % id
print >>self.stderr, 'Movie not found: %s' % id
return 3
pattern = movie.original_title
......
......@@ -20,7 +20,6 @@
import sys
from weboob.capabilities.pricecomparison import CapPriceComparison
from weboob.tools.html import html2text
......@@ -109,7 +108,7 @@ class Comparoob(ReplApplication):
product = None
if len(products) == 0:
print >>sys.stderr, 'Error: no product found with this pattern'
print >>self.stderr, 'Error: no product found with this pattern'
return 1
elif len(products) == 1:
product = products[0]
......@@ -147,12 +146,12 @@ class Comparoob(ReplApplication):
Get information about a product.
"""
if not _id:
print >>sys.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
print >>self.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
return 2
price = self.get_object(_id, 'get_price')
if not price:
print >>sys.stderr, 'Price not found: %s' % _id
print >>self.stderr, 'Price not found: %s' % _id
return 3
self.start_format()
......
......@@ -19,7 +19,6 @@
import sys
import codecs
from weboob.capabilities.recipe import CapRecipe
......@@ -100,7 +99,7 @@ class Cookboob(ReplApplication):
"""
recipe = self.get_object(id, 'get_recipe')
if not recipe:
print >>sys.stderr, 'Recipe not found: %s' % id
print >>self.stderr, 'Recipe not found: %s' % id
return 3
self.start_format()
......@@ -141,10 +140,10 @@ class Cookboob(ReplApplication):
with codecs.open(dest, 'w', 'utf-8') as f:
f.write(xmlstring)
except IOError as e:
print >>sys.stderr, 'Unable to write .kreml in "%s": %s' % (dest, e)
print >>self.stderr, 'Unable to write .kreml in "%s": %s' % (dest, e)
return 1
return
print >>sys.stderr, 'Recipe "%s" not found' % id
print >>self.stderr, 'Recipe "%s" not found' % id
return 3
@defaultcount(10)
......
......@@ -18,7 +18,6 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import sys
from weboob.capabilities.housing import CapHousing, Query
from weboob.tools.application.repl import ReplApplication, defaultcount
......@@ -167,12 +166,12 @@ class Flatboob(ReplApplication):
Get information about a housing.
"""
if not _id:
print >>sys.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
print >>self.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
return 2
housing = self.get_object(_id, 'get_housing')
if not housing:
print >>sys.stderr, 'Housing not found: %s' % _id
print >>self.stderr, 'Housing not found: %s' % _id
return 3
self.start_format()
......
......@@ -19,7 +19,6 @@
import sys
import os
from re import search, sub
......@@ -68,7 +67,7 @@ class Galleroob(ReplApplication):
List galleries matching a PATTERN.
"""
if not pattern:
print >>sys.stderr, 'This command takes an argument: %s' % self.get_command_help('search', short=True)
print >>self.stderr, 'This command takes an argument: %s' % self.get_command_help('search', short=True)
return 2
self.start_format(pattern=pattern)
......@@ -98,7 +97,7 @@ class Galleroob(ReplApplication):
gallery = result
if not gallery:
print >>sys.stderr, 'Gallery not found: %s' % _id
print >>self.stderr, 'Gallery not found: %s' % _id
return 3
backend.fillobj(gallery, ('title',))
......@@ -123,7 +122,7 @@ class Galleroob(ReplApplication):
if img.data is None:
backend.fillobj(img, ('url', 'data'))
if img.data is None:
print >>sys.stderr, "Couldn't get page %d, exiting" % i
print >>self.stderr, "Couldn't get page %d, exiting" % i
break
ext = search(r"\.([^\.]{1,5})$", img.url)
......@@ -150,7 +149,7 @@ class Galleroob(ReplApplication):
gallery = self.get_object(_id, 'get_gallery')
if not gallery:
print >>sys.stderr, 'Gallery not found: %s' % _id
print >>self.stderr, 'Gallery not found: %s' % _id
return 3
self.start_format()
......
......@@ -18,7 +18,6 @@
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import sys
from weboob.capabilities.geolocip import CapGeolocIp
from weboob.tools.application.repl import ReplApplication
......@@ -37,7 +36,7 @@ class Geolooc(ReplApplication):
def main(self, argv):
if len(argv) < 2:
print >>sys.stderr, 'Syntax: %s ipaddr' % argv[0]
print >>self.stderr, 'Syntax: %s ipaddr' % argv[0]
return 2
for backend, location in self.do('get_location', argv[1]):
......
......@@ -17,7 +17,6 @@
# You should have received a copy of the GNU Affero General Public License
# along with weboob. If not, see <http://www.gnu.org/licenses/>.
import sys
from weboob.capabilities.job import CapJob
from weboob.tools.application.repl import ReplApplication, defaultcount
......@@ -123,13 +122,13 @@ class Handjoob(ReplApplication):
Get information about an advert.
"""
if not _id:
print >>sys.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
print >>self.stderr, 'This command takes an argument: %s' % self.get_command_help('info', short=True)
return 2
job_advert = self.get_object(_id, 'get_job_advert')
if not job_advert:
print >>sys.stderr, 'Job advert not found: %s' % _id
print >>self.stderr, 'Job advert not found: %s' % _id
return 3
self.start_format()
......
......@@ -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.w