madjar / nox

Tools to make nix nicer to use
MIT License
308 stars 35 forks source link

Crash on additional file in ~/.nix-defexpr #13

Closed tailhook closed 9 years ago

tailhook commented 9 years ago

The traceback is following:

Traceback (most recent call last):
  File "/nix/store/s09c6d03a6yfgc6skhkb9rh96famm7gs-nox-0.0.1/bin/..nox-wrapped-wrapped", line 11, in <module>
    sys.exit(main())
  File "/nix/store/iai3907c36s6qi74ry0v74yhr6gnambz-python3.4-click-2.1/lib/python3.4/site-packages/click/core.py", line 488, in __call__
    return self.main(*args, **kwargs)
  File "/nix/store/iai3907c36s6qi74ry0v74yhr6gnambz-python3.4-click-2.1/lib/python3.4/site-packages/click/core.py", line 474, in main
    self.invoke(ctx)
  File "/nix/store/iai3907c36s6qi74ry0v74yhr6gnambz-python3.4-click-2.1/lib/python3.4/site-packages/click/core.py", line 653, in invoke
    ctx.invoke(self.callback, **ctx.params)
  File "/nix/store/iai3907c36s6qi74ry0v74yhr6gnambz-python3.4-click-2.1/lib/python3.4/site-packages/click/core.py", line 325, in invoke
    return callback(*args, **kwargs)
  File "/nix/store/s09c6d03a6yfgc6skhkb9rh96famm7gs-nox-0.0.1/lib/python3.4/site-packages/nox/search.py", line 48, in main
    results = [p for p in all_packages()
  File "/nix/store/s09c6d03a6yfgc6skhkb9rh96famm7gs-nox-0.0.1/lib/python3.4/site-packages/nox/search.py", line 38, in all_packages
    key = str({p: key_for_path(defexpr + p) for p in paths})
  File "/nix/store/s09c6d03a6yfgc6skhkb9rh96famm7gs-nox-0.0.1/lib/python3.4/site-packages/nox/search.py", line 38, in <dictcomp>
    key = str({p: key_for_path(defexpr + p) for p in paths})
  File "/nix/store/s09c6d03a6yfgc6skhkb9rh96famm7gs-nox-0.0.1/lib/python3.4/site-packages/nox/search.py", line 24, in key_for_path
    with open(manifest) as f:
NotADirectoryError: [Errno 20] Not a directory: '/home/pc/.nix-defexpr/.config.nix.un~/manifest.nix'

Removing the file helps (and I don't know how it get there :) ). But seems strange. Probably non-directories should be ignored.

madjar commented 9 years ago

Mmm, strange issue indeed. I'm not sure if files are supposed to be there, but it sure can't hurt to ignore with a warning instead of crashing with a traceback :)