mirror of
https://github.com/exaloop/codon.git
synced 2025-06-03 15:03:52 +08:00
stdlib/os/__init__.codon
This commit is contained in:
parent
c567842554
commit
808e932685
@ -1,10 +1,15 @@
|
|||||||
|
# (c) 2022 Exaloop Inc. All rights reserved.
|
||||||
|
|
||||||
|
|
||||||
def system(cmd: str) -> int:
|
def system(cmd: str) -> int:
|
||||||
return _C.system(cmd.c_str())
|
return _C.system(cmd.c_str())
|
||||||
|
|
||||||
|
|
||||||
SEEK_SET = 0
|
SEEK_SET = 0
|
||||||
SEEK_CUR = 1
|
SEEK_CUR = 1
|
||||||
SEEK_END = 2
|
SEEK_END = 2
|
||||||
|
|
||||||
|
|
||||||
@tuple
|
@tuple
|
||||||
class EnvMap:
|
class EnvMap:
|
||||||
_map: Dict[str, str]
|
_map: Dict[str, str]
|
||||||
@ -12,7 +17,7 @@ class EnvMap:
|
|||||||
def __new__() -> EnvMap:
|
def __new__() -> EnvMap:
|
||||||
return (Dict[str, str](),)
|
return (Dict[str, str](),)
|
||||||
|
|
||||||
def _init_if_needed(self):
|
def _init_if_needed(self) -> void:
|
||||||
if len(self._map) == 0:
|
if len(self._map) == 0:
|
||||||
env = _C.seq_env()
|
env = _C.seq_env()
|
||||||
p = env[0]
|
p = env[0]
|
||||||
@ -33,25 +38,27 @@ class EnvMap:
|
|||||||
i += 1
|
i += 1
|
||||||
p = env[i]
|
p = env[i]
|
||||||
|
|
||||||
def __getitem__(self, key: str):
|
def __getitem__(self, key: str) -> str:
|
||||||
self._init_if_needed()
|
self._init_if_needed()
|
||||||
return self._map[key]
|
return self._map[key]
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self) -> str:
|
||||||
self._init_if_needed()
|
self._init_if_needed()
|
||||||
return repr(self._map)
|
return repr(self._map)
|
||||||
|
|
||||||
def __contains__(self, key: str):
|
def __contains__(self, key: str) -> bool:
|
||||||
self._init_if_needed()
|
self._init_if_needed()
|
||||||
return key in self._map
|
return key in self._map
|
||||||
|
|
||||||
def __iter__(self):
|
def __iter__(self) -> Generator[Tuple[str, str]]:
|
||||||
self._init_if_needed()
|
self._init_if_needed()
|
||||||
return self._map.items()
|
return self._map.items()
|
||||||
|
|
||||||
|
|
||||||
environ = EnvMap()
|
environ = EnvMap()
|
||||||
|
|
||||||
def getenv(key: str, default: str = ""):
|
|
||||||
|
def getenv(key: str, default: str = "") -> str:
|
||||||
return environ[key] if key in environ else default
|
return environ[key] if key in environ else default
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user