Skip to content

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
    • Help
    • Support
    • Submit feedback
    • Contribute to GitLab
  • Sign in
bob.bio.base
bob.bio.base
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 14
    • Issues 14
    • List
    • Boards
    • Labels
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI / CD
    • CI / CD
    • Pipelines
    • Jobs
    • Schedules
  • Analytics
    • Analytics
    • CI / CD
    • Repository
    • Value Stream
  • Members
    • Members
  • Collapse sidebar
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
  • bob
  • bob.bio.basebob.bio.base
  • Issues
  • #151

Closed
Open
Opened Dec 21, 2020 by Manuel Günther@mguenther
  • Report abuse
  • New issue
Report abuse New issue

verify.py --create-configuration-file crashes for local file

When running

verify.py --create-configuration-file config.py

this crashes with the error:

  File "miniconda/envs/bob/bin/verify.py", line 11, in <module>
    sys.exit(main())
  File "miniconda/envs/bob/lib/python3.7/site-packages/bob/bio/base/script/verify.py", line 432, in main
    args = parse_arguments(command_line_parameters)
  File "miniconda/envs/bob/lib/python3.7/site-packages/bob/bio/base/script/verify.py", line 34, in parse_arguments
    skips = ['preprocessing', 'extractor-training', 'extraction', 'projector-training', 'projection', 'enroller-training', 'enrollment', 'score-computation', 'concatenation', 'calibration'])
  File "miniconda/envs/bob/lib/python3.7/site-packages/bob/bio/base/tools/command_line.py", line 425, in initialize
    args = parse_config_file(parsers, args, args_dictionary, keywords, skips)
  File "miniconda/envs/bob/lib/python3.7/site-packages/bob/bio/base/tools/command_line.py", line 284, in parse_config_file
    create_configuration_file(parsers, args)
  File "miniconda/envs/bob/lib/python3.7/site-packages/bob/bio/base/tools/command_line.py", line 578, in create_configuration_file
    bob.io.base.create_directories_safe(os.path.dirname(args.create_configuration_file))
  File "miniconda/envs/bob/lib/python3.7/site-packages/numpy/lib/utils.py", line 100, in newfunc
    return func(*args, **kwds)
  File "miniconda/envs/bob/lib/python3.7/site-packages/bob/io/base/__init__.py", line 104, in create_directories_safe
    os.makedirs(directory, exist_ok=True)
  File "miniconda/envs/bob/lib/python3.7/os.py", line 223, in makedirs
    mkdir(name, mode)
FileNotFoundError: [Errno 2] No such file or directory: ''

The issue is that bob.io.base.create_directories_safe(os.path.dirname(args.create_configuration_file)) is called without checking whether os.path.dirname(args.create_configuration_file) isn't empty.

There are two solutions to this issue:

  1. We add this check here.
  2. We correct this in bob.io.base.create_directories_safe and just skip empty strings.

Which option would you prefer?

Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None
1
Labels
bug
Assign labels
  • View project labels
Reference: bob/bob.bio.base#151