sys.path[:0] = [os.path.dirname(os.path.realpath(__file__)) + '/..']
from bup import _helpers, compat, options, git, shquote, ls, vfs
-from bup.compat import argv_bytes
+from bup.compat import argv_bytes, fsdecode
from bup.helpers import chunkyreader, handle_ctrl_c, log
from bup.io import byte_stream, path_msg
from bup.repo import LocalRepo
def do_ls(repo, args, out):
try:
- opt = ls.opts_from_cmdline(args, onabort=OptionError)
+ opt = ls.opts_from_cmdline([fsdecode(arg) for arg in args],
+ onabort=OptionError)
except OptionError as e:
log('error: %s' % e)
return
def inputiter():
if os.isatty(stdin.fileno()):
while 1:
- try:
- yield _helpers.readline(b'bup> ')
- except EOFError:
- print() # Clear the line for the terminal's next prompt
- break
+ if hasattr(_helpers, 'readline'):
+ try:
+ yield _helpers.readline(b'bup> ')
+ except EOFError:
+ print() # Clear the line for the terminal's next prompt
+ break
+ else:
+ out.write(b'bup> ')
+ out.flush()
+ read_line = stdin.readline()
+ if not read_line:
+ print('')
+ break
+ yield read_line
else:
for line in stdin:
yield line