new method ConsoleApplication.acquire_input() to read stdin friendly
This commit is contained in:
parent
9e3b1a049e
commit
e731f42cb9
4 changed files with 12 additions and 9 deletions
|
|
@ -23,6 +23,7 @@ import getpass
|
|||
import logging
|
||||
import sys
|
||||
import os
|
||||
import locale
|
||||
|
||||
from weboob.capabilities.account import ICapAccount, Account, AccountRegisterError
|
||||
from weboob.core.backendscfg import BackendAlreadyExists
|
||||
|
|
@ -186,7 +187,7 @@ class ConsoleApplication(BaseApplication):
|
|||
backends = [(b.name, b) for b in self.enabled_backends]
|
||||
if unique_backend and not backend_name:
|
||||
if len(backends) == 1:
|
||||
backend_name = backends[0]
|
||||
backend_name = backends[0][0]
|
||||
else:
|
||||
raise BackendNotGiven(_id, backends)
|
||||
if backend_name is not None and not backend_name in dict(backends):
|
||||
|
|
@ -413,6 +414,13 @@ class ConsoleApplication(BaseApplication):
|
|||
|
||||
return v.get()
|
||||
|
||||
def acquire_input(self):
|
||||
if sys.stdin.isatty():
|
||||
print 'Reading content from stdin... Type ctrl-D ' \
|
||||
'from an empty line to stop.'
|
||||
text = sys.stdin.read()
|
||||
return text.decode(sys.stdin.encoding or locale.getpreferredencoding())
|
||||
|
||||
def bcall_error_handler(self, backend, error, backtrace):
|
||||
"""
|
||||
Handler for an exception inside the CallErrors exception.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue