aboutsummaryrefslogtreecommitdiffstats
path: root/packages/meshbay-node/src/meshbay_node/roots.py
diff options
context:
space:
mode:
Diffstat (limited to 'packages/meshbay-node/src/meshbay_node/roots.py')
-rw-r--r--packages/meshbay-node/src/meshbay_node/roots.py14
1 files changed, 7 insertions, 7 deletions
diff --git a/packages/meshbay-node/src/meshbay_node/roots.py b/packages/meshbay-node/src/meshbay_node/roots.py
index 61fdc9b..94560f5 100644
--- a/packages/meshbay-node/src/meshbay_node/roots.py
+++ b/packages/meshbay-node/src/meshbay_node/roots.py
@@ -36,7 +36,7 @@ from concurrent.futures import ThreadPoolExecutor
from dataclasses import dataclass, field
from pathlib import Path
-from meshbay_common.paths import fold, portable_name_problem
+from meshbay_common.paths import fold, long_path, portable_name_problem
log = logging.getLogger(__name__)
@@ -78,7 +78,7 @@ def _free_name(directory: Path, filename: str,
or another upload (C5a).
"""
def free(name: str) -> bool:
- return name not in taken and not (directory / name).exists()
+ return name not in taken and not os.path.exists(long_path(directory / name))
if free(filename):
return filename
@@ -109,17 +109,17 @@ def publish_upload(part: Path, directory: Path, stored_name: str, filename: str,
for _ in range(8):
target = directory / name
try:
- os.link(part, target)
+ os.link(long_path(part), long_path(target))
except FileExistsError:
name = _free_name(directory, filename, taken)
continue
except OSError:
- if target.exists():
+ if os.path.exists(long_path(target)):
name = _free_name(directory, filename, taken)
continue
- part.rename(target)
+ os.rename(long_path(part), long_path(target))
return name
- part.unlink()
+ os.unlink(long_path(part))
return name
raise FileExistsError(stored_name)
@@ -195,7 +195,7 @@ class Root:
def is_live(self) -> bool:
"""Readable right now. The question `available` caches."""
try:
- return self.path.is_dir()
+ return os.path.isdir(long_path(self.path))
except OSError:
return False