-
Notifications
You must be signed in to change notification settings - Fork 2
/
fake_fs.py
43 lines (30 loc) · 1.08 KB
/
fake_fs.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
import os
from enums import Status
class FakeFS:
def __init__(self, base_dir="/var/fake_fs"):
self.base_dir = base_dir
def get_chunk(self, path):
full_path = self.base_dir + path
if not os.path.isfile(full_path):
return {'status': Status.not_found}
data = None
with open(full_path, 'r') as f:
data = f.read()
return {'status': Status.ok, 'data': data}
def download_to(self, v_path, l_path):
full_path = self.base_dir + v_path
if not os.path.isfile(full_path):
return {'status': Status.not_found}
data = None
with open(full_path, 'r') as f:
data = f.read()
os.makedirs(os.path.dirname(l_path), exist_ok=True)
with open(l_path, "w") as f:
f.write(data)
return {'status': Status.ok}
def save(self, data, path):
full_path = self.base_dir + path
os.makedirs(os.path.dirname(full_path), exist_ok=True)
with open(full_path, 'w+') as f:
f.write(data)
return {'status': Status.ok}