Skip to content

Commit 82e568d

Browse files
committed
sfx: support py27 on win10 when %TEMP% contains Skatteoppgjør.pdf
1 parent 7b2a4a3 commit 82e568d

File tree

1 file changed

+14
-4
lines changed

1 file changed

+14
-4
lines changed

scripts/sfx.py

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,16 @@ def makesfx(tar_src, ver, ts):
191191
# skip 0
192192

193193

194+
def u8(gen):
195+
try:
196+
for s in gen:
197+
yield s.decode("utf-8", "ignore")
198+
except:
199+
yield s
200+
for s in gen:
201+
yield s
202+
203+
194204
def get_py_win(ret):
195205
tops = []
196206
p = str(os.getenv("LocalAppdata"))
@@ -216,11 +226,11 @@ def get_py_win(ret):
216226
# $WIRESHARK_SLOGAN
217227
for top in tops:
218228
try:
219-
for name1 in sorted(os.listdir(top), reverse=True):
229+
for name1 in u8(sorted(os.listdir(top), reverse=True)):
220230
if name1.lower().startswith("python"):
221231
path1 = os.path.join(top, name1)
222232
try:
223-
for name2 in os.listdir(path1):
233+
for name2 in u8(os.listdir(path1)):
224234
if name2.lower() == "python.exe":
225235
path2 = os.path.join(path1, name2)
226236
ret[path2.lower()] = path2
@@ -237,7 +247,7 @@ def get_py_nix(ret):
237247
next
238248

239249
try:
240-
for fn in os.listdir(bindir):
250+
for fn in u8(os.listdir(bindir)):
241251
if ptn.match(fn):
242252
fn = os.path.join(bindir, fn)
243253
ret[fn.lower()] = fn
@@ -352,7 +362,7 @@ def unpack():
352362
msg("reloc fail,", mine)
353363
return mine
354364

355-
for fn in os.listdir(top):
365+
for fn in u8(os.listdir(top)):
356366
if fn.startswith(name) and fn not in [name, withpid]:
357367
try:
358368
old = os.path.join(top, fn)

0 commit comments

Comments
 (0)