Skip to content

Crashes #1

@gitcnd

Description

@gitcnd
[cnd@cdc:~/Downloads/mipyshell/lib-min]$ pymini --keep-module-names --keep-global-variables foo.py 
Traceback (most recent call last):
  File "/home/cnd/.local/bin/pymini", line 8, in <module>
    sys.exit(main())
  File "/home/cnd/.local/lib/python3.9/site-packages/pymini/cli.py", line 22, in main
    cleaned, modules = minify(
  File "/home/cnd/.local/lib/python3.9/site-packages/pymini/pymini.py", line 757, in minify
    cleaned = list(pipeline.transform(*trees))
  File "/home/cnd/.local/lib/python3.9/site-packages/pymini/pymini.py", line 29, in transform
    trees = transformer.transform(*trees)
  File "/home/cnd/.local/lib/python3.9/site-packages/pymini/pymini.py", line 10, in transform
    self.visit(tree)
  File "/usr/lib64/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib64/python3.9/ast.py", line 483, in generic_visit
    value = self.visit(value)
  File "/usr/lib64/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib64/python3.9/ast.py", line 483, in generic_visit
    value = self.visit(value)
  File "/usr/lib64/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/usr/lib64/python3.9/ast.py", line 483, in generic_visit
    value = self.visit(value)
  File "/usr/lib64/python3.9/ast.py", line 407, in visit
    return visitor(node)
  File "/home/cnd/.local/lib/python3.9/site-packages/pymini/pymini.py", line 59, in visit_Return
    node = self.name_to_node[node.value.id]
KeyError: 'path'

Input:-

[cnd@cdc: Err:1~/Downloads/mipyshell/lib-min]$ cat foo.py 
import os

def abs_path(path):
    comp = path.split("/")
    if comp[0] == "":
        return path
    if comp[0] == "~":
        return home_dir() + path[1:]
    cwd = os.getcwd()
    if cwd[0] != "/":
        cwd = "/" + cwd
    if cwd[-1] != "/" and path[0] != "/":
        cwd += "/"
    return cwd + path

print(abs_path("this/is/path"))

Which works:-

[cnd@cdc:~/Downloads/mipyshell/lib-min]$ python  foo.py 
/home/cnd/Downloads/mipyshell/lib-min/this/is/path

Ran on linux:-

[cnd@cdc:~/Downloads/mipyshell/lib-min]$ python -V
Python 3.9.18

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions