8000 resolve https://github.com/go-python/gpython/pull/169#discussion_r830… · glaukiol1/gpython@eadee4c · GitHub
[go: up one dir, main page]

Skip to content

Commit eadee4c

Browse files
committed
1 parent f24381d commit eadee4c

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

os/os.module.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -121,18 +121,24 @@ func getenv(self py.Object, args py.Tuple) (py.Object, error) {
121121
key = args[0]
122122
dflt = args[1]
123123
} else {
124-
return nil, py.ExceptionNewf(py.TypeError, "str expected (pos 2), not"+args[1].Type().Name)
124+
return nil, py.ExceptionNewf(py.TypeError, "str expected (pos 2), not "+args[1].Type().Name)
125125
}
126126
break
127127
default:
128128
return nil, py.ExceptionNewf(py.TypeError, "missing one required argument: 'name:str'")
129129
}
130-
var res py.Object // hold the result value
131-
res, err = getEnvVariables().M__getitem__(key)
130+
gokey, err := py.ReprAsString(key)
132131
if err != nil {
133132
return dflt, nil
134133
}
135-
return res, nil
134+
gokey = strings.ReplaceAll(gokey, "'", "")
135+
for _, evar := range os.Environ() {
136+
key_value := strings.SplitN(evar, "=", 2) // returns a []string containing [key,value]
137+
if key_value[0] == gokey {
138+
return py.String(key_value[1]), nil
139+
}
140+
}
141+
return dflt, nil
136142
}
137143

138144
// get the current process' pid

0 commit comments

Comments
 (0)
0