Skip to content

[pyreverse] Setting the project name with a "/" at the end crashes pyreverse #8504

@qequ

Description

@qequ

Bug description

Calling pyreverse via command line naming the project with a "/" like myproject/ crashes the program

Configuration

No response

Command used

pyreverse -o png -p packagename/ path_to_project/

Pylint output

Format png is not supported natively. Pyreverse will try to generate it using Graphviz...
parsing ...

Traceback (most recent call last):
  File "/home/alvaro/env_tt/bin/pyreverse", line 8, in <module>
    sys.exit(run_pyreverse())
  File "/home/alvaro/env_tt/lib/python3.10/site-packages/pylint/__init__.py", line 74, in run_pyreverse
    PyreverseRun(argv or sys.argv[1:])
  File "/home/alvaro/env_tt/lib/python3.10/site-packages/pylint/pyreverse/main.py", line 280, in __init__
    sys.exit(self.run(args))
  File "/home/alvaro/env_tt/lib/python3.10/site-packages/pylint/pyreverse/main.py", line 299, in run
    writer.DiagramWriter(self.config).write(diadefs)
  File "/home/alvaro/env_tt/lib/python3.10/site-packages/pylint/pyreverse/writer.py", line 53, in write
    self.save()
  File "/home/alvaro/env_tt/lib/python3.10/site-packages/pylint/pyreverse/writer.py", line 154, in save
    self.printer.generate(self.file_name)
  File "/home/alvaro/env_tt/lib/python3.10/site-packages/pylint/pyreverse/dot_printer.py", line 159, in generate
    pdot, dot_sourcepath = tempfile.mkstemp(".gv", name)
  File "/usr/lib/python3.10/tempfile.py", line 480, in mkstemp
    return _mkstemp_inner(dir, prefix, suffix, flags, output_type)
  File "/usr/lib/python3.10/tempfile.py", line 395, in _mkstemp_inner
    fd = _os.open(file, flags, 0o600)
FileNotFoundError: [Errno 2] No such file or directory: '/tmp/packages_packagename/_uqrljp5.gv'

Expected behavior

Generate images correctly

Pylint version

pylint 2.17.1
astroid 2.15.1
Python 3.10.10 (main, Feb  8 2023, 14:50:01) [GCC 9.4.0]

OS / Environment

ubuntu 22.04

Additional dependencies

No response

Metadata

Metadata

Assignees

Labels

Crash 💥A bug that makes pylint crashNeeds PRThis issue is accepted, sufficiently specified and now needs an implementationpyreverseRelated to pyreverse component

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions