Skip to content
Snippets Groups Projects
Commit d51a8809 authored by jkerdreu's avatar jkerdreu
Browse files

Fix 0.7 UUID issue

git-svn-id: https://redmine.imt-atlantique.fr/svn/xaal/code/Python/branches/0.7@2361 b32b6428-25c9-4566-ad07-03861ab6144f
parent f360d174
Branches
No related tags found
No related merge requests found
......@@ -32,6 +32,7 @@ setup(
install_requires=[
'xaal.lib',
'fuse-python'
'fuse-python',
'rapidjson'
]
)
......@@ -18,7 +18,7 @@ except ImportError:
pass
import fuse
from fuse import Fuse
import ujson
import rapidjson
if not hasattr(fuse, '__version__'):
raise RuntimeError("your fuse-py doesn't know of fuse.__version__, probably it's too old.")
......@@ -60,8 +60,8 @@ class XAALFS(Fuse):
if not cfg:
cfg = tools.new_cfg(PACKAGE)
cfg.write()
addr = cfg['config'].get('addr')
db_server = cfg['config'].get('db_server')
addr = tools.get_uuid(cfg['config'].get('addr'))
db_server = tools.get_uuid(cfg['config'].get('db_server'))
if not db_server:
logger.warning('Please set db_server in config file')
eng = Engine()
......@@ -83,7 +83,8 @@ class XAALFS(Fuse):
return st
if len(data) > 1:
dev = self.devices.get_with_addr(data[1])
target = tools.get_uuid(data[1])
dev = self.devices.get_with_addr(target)
if (len(data) == 2 and dev):
st.st_mode = stat.S_IFDIR | 0o755
......@@ -120,9 +121,10 @@ class XAALFS(Fuse):
def readdir(self, path, offset):
data = path.split('/')
if path=='/':
return self.dir_entries([k.address for k in self.devices])
return self.dir_entries([k.address.str for k in self.devices])
if len(data) == 2:
dev = self.devices.get_with_addr(data[1])
target = tools.get_uuid(data[1])
dev = self.devices.get_with_addr(target)
if dev:
return self.dir_entries(['attributes','db','description'])
return self.dir_entries([])
......@@ -141,14 +143,15 @@ class XAALFS(Fuse):
data = path.split('/')
dev = None
if len(data) > 1:
dev = self.devices.get_with_addr(data[1])
target = tools.get_uuid(data[1])
dev = self.devices.get_with_addr(target)
if len(data) == 3 and dev and data[-1] in ['attributes','db','description']:
tmp = None
if data[2] == 'attributes': tmp = dev.attributes
if data[2] == 'db': tmp = dev.db
if data[2] == 'description': tmp = dev.description
if tmp:
return ujson.dumps(tmp,indent=2).encode('utf-8')
return rapidjson.dumps(tmp,uuid_mode=rapidjson.UM_CANONICAL,indent=2).encode('utf-8')
return b''
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment