forked from platformio/platformio-core
Peter test for Unicode and home_dir
This commit is contained in:
@@ -23,7 +23,6 @@ from glob import glob
|
|||||||
from os.path import (abspath, basename, dirname, expanduser, isdir, isfile,
|
from os.path import (abspath, basename, dirname, expanduser, isdir, isfile,
|
||||||
join, splitdrive)
|
join, splitdrive)
|
||||||
from platform import system, uname
|
from platform import system, uname
|
||||||
from tempfile import TemporaryFile
|
|
||||||
from threading import Thread
|
from threading import Thread
|
||||||
|
|
||||||
from platformio import __apiip__, __apiurl__, __version__, exception
|
from platformio import __apiip__, __apiurl__, __version__, exception
|
||||||
@@ -162,17 +161,14 @@ def get_home_dir():
|
|||||||
join(expanduser("~"), ".platformio")
|
join(expanduser("~"), ".platformio")
|
||||||
)
|
)
|
||||||
|
|
||||||
if not isdir(home_dir):
|
if "windows" in get_systype():
|
||||||
try:
|
try:
|
||||||
home_dir.encode("utf8") # test ASCII
|
home_dir.encode("utf8")
|
||||||
os.makedirs(home_dir)
|
except UnicodeDecodeError:
|
||||||
f = TemporaryFile(dir=home_dir)
|
home_dir = splitdrive(home_dir)[0] + "\.platformio"
|
||||||
f.close()
|
|
||||||
except (OSError, UnicodeDecodeError, WindowsError):
|
if not isdir(home_dir):
|
||||||
if "windows" in get_systype():
|
os.makedirs(home_dir)
|
||||||
home_dir = splitdrive(home_dir)[0] + "\.platformio"
|
|
||||||
if not isdir(home_dir):
|
|
||||||
os.makedirs(home_dir)
|
|
||||||
|
|
||||||
assert isdir(home_dir)
|
assert isdir(home_dir)
|
||||||
return home_dir
|
return home_dir
|
||||||
|
Reference in New Issue
Block a user