kobuddy icon indicating copy to clipboard operation
kobuddy copied to clipboard

Windows: File Not Found Error on `books` command

Open klreeher opened this issue 3 years ago • 0 comments

I suspect this may be an issue on Windows specifically, based on the stacktrace, but as it's unstated in the Readme what OS are not supported, I figured it was worth opening an issue about.

On Windows 10, I am using Python 3.9.4, and I am able to run the kobuddy utility, but any time it needs to access the kobo db (for commands like kobuddy books) I get a File Not Found error. I've tried it with and without specifying the database file. This happens in Powershell or Command Prompt, with or without running as Admin.

example, first with specifying the db file and second without.

PS D:\.kobo> kobuddy books --db .\KoboReader.sqlite
usage: kobuddy [-h] [--db DB] [--errors {throw,return}] {books,progress,annotations,backup} ...
kobuddy: error: unrecognized arguments: --db .\KoboReader.sqlite
PS D:\.kobo> kobuddy books
Traceback (most recent call last):
  File "c:\python39\lib\runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "c:\python39\lib\runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "C:\Users\kreeh\AppData\Roaming\Python\Python39\Scripts\kobuddy.exe\__main__.py", line 7, in <module>
  File "C:\Users\kreeh\AppData\Roaming\Python\Python39\site-packages\kobuddy\__main__.py", line 60, in main
    with set_databases(args.db):
  File "C:\Users\kreeh\AppData\Roaming\Python\Python39\site-packages\kobuddy\__init__.py", line 40, in set_databases
    mount = get_kobo_mountpoint()
  File "C:\Users\kreeh\AppData\Roaming\Python\Python39\site-packages\kobuddy\kobo_device.py", line 8, in get_kobo_mountpoint
    xxx = check_output(['lsblk', '-f', '--json']).decode('utf8')
  File "c:\python39\lib\subprocess.py", line 424, in check_output
    return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
  File "c:\python39\lib\subprocess.py", line 505, in run
    with Popen(*popenargs, **kwargs) as process:
  File "c:\python39\lib\subprocess.py", line 951, in __init__
    self._execute_child(args, executable, preexec_fn, close_fds,
  File "c:\python39\lib\subprocess.py", line 1420, in _execute_child
    hp, ht, pid, tid = _winapi.CreateProcess(executable, args,
FileNotFoundError: [WinError 2] The system cannot find the file specified
PS D:\.kobo>

klreeher avatar May 01 '22 21:05 klreeher