提交 62760066 编写于 作者: J jinhai

Update for storage


Former-commit-id: 42039c22af7c1a141894fa9d214c8b43c7f25847
上级 61f832bc
...@@ -10,14 +10,15 @@ class MetaManager(object): ...@@ -10,14 +10,15 @@ class MetaManager(object):
def AddGroup(self, group_name, dimension): def AddGroup(self, group_name, dimension):
group = GroupTable.query.filter(GroupTable.group_name==group_id).first() group = GroupTable.query.filter(GroupTable.group_name==group_id).first()
if group: if group:
return ErrorCode.ALREADY_EXIST, group_name, group_filenumber return ErrorCode.ALREADY_EXIST, group_name
else: else:
new_group = GroupTable(group_name, dimension) new_group = GroupTable(group_name, dimension)
GroupHandler.CreateGroupDirectory(group_id) GroupHandler.CreateGroupDirectory(group_id)
# add into database # add into database
db.session.add(new_group) db.session.add(new_group)
return ErrorCode.SUCCESS_CODE, group_name, 0 self.Sync()
return ErrorCode.SUCCESS_CODE, group_name
@staticmethod @staticmethod
def GetGroup(group_name): def GetGroup(group_name):
......
import os, shutil
from engine.settings import DATABASE_DIRECTORY
class StorageManager(object):
@staticmethod
def CreateGroup(group_name):
path = StorageManager.GetGroupDirectory(group_name)
path = path.strip()
path=path.rstrip("\\")
if not os.path.exists(path):
os.makedirs(path)
@staticmethod
def GetGroupDirectory(group_name):
return DATABASE_DIRECTORY + '/' + group_name
def Read():
pass
def Write():
pass
...@@ -27,10 +27,9 @@ class TestVectorEngine: ...@@ -27,10 +27,9 @@ class TestVectorEngine:
assert file_number == 0 assert file_number == 0
# Add a group # Add a group
code, group_id, file_number = VectorEngine.AddGroup('test_group', 8) code, group_id = VectorEngine.AddGroup('test_group', 8)
assert code == VectorEngine.SUCCESS_CODE assert code == VectorEngine.SUCCESS_CODE
assert group_id == 'test_group' assert group_id == 'test_group'
assert file_number == 0
# Check the group existing # Check the group existing
code, group_id, file_number = VectorEngine.GetGroup('test_group') code, group_id, file_number = VectorEngine.GetGroup('test_group')
......
...@@ -11,6 +11,7 @@ from engine.controller.scheduler import Scheduler ...@@ -11,6 +11,7 @@ from engine.controller.scheduler import Scheduler
from engine.ingestion import serialize from engine.ingestion import serialize
from engine.controller.meta_manager import MetaManager from engine.controller.meta_manager import MetaManager
from engine.controller.error_code import ErrorCode from engine.controller.error_code import ErrorCode
from engine.controller.storage_manager import StorageManager
import sys, os import sys, os
class VectorEngine(object): class VectorEngine(object):
...@@ -24,15 +25,15 @@ class VectorEngine(object): ...@@ -24,15 +25,15 @@ class VectorEngine(object):
def AddGroup(group_name, dimension): def AddGroup(group_name, dimension):
error, group = MetaManager.GetGroup(group_name) error, group = MetaManager.GetGroup(group_name)
if(error == ErrorCode.SUCCESS_CODE): if(error == ErrorCode.SUCCESS_CODE):
return ErrorCode.FAULT_CODE, group_name, group.file_number return ErrorCode.FAULT_CODE, group_name
else: else:
StorageManager.CreateGroup(group_name)
new_group = GroupTable(group_name, dimension) new_group = GroupTable(group_name, dimension)
GroupHandler.CreateGroupDirectory(group_name)
# add into database # add into database
db.session.add(new_group) db.session.add(new_group)
db.session.commit() db.session.commit()
return VectorEngine.SUCCESS_CODE, group_name, 0 return VectorEngine.SUCCESS_CODE, group_name
@staticmethod @staticmethod
......
...@@ -59,16 +59,16 @@ class Group(Resource): ...@@ -59,16 +59,16 @@ class Group(Resource):
def post(self, group_id): def post(self, group_id):
args = self.__parser.parse_args() args = self.__parser.parse_args()
dimension = args['dimension'] dimension = args['dimension']
code, group_id, file_number = VectorEngine.AddGroup(group_id, dimension) code, group_id = VectorEngine.AddGroup(group_id, dimension)
return jsonify({'code': code, 'group': group_id, 'filenumber': file_number}) return jsonify({'code': code, 'group': group_id, 'filenumber': 0})
def get(self, group_id): def get(self, group_id):
code, group_id, file_number = VectorEngine.GetGroup(group_id) code, group_id, file_number = VectorEngine.GetGroup(group_id)
return jsonify({'code': code, 'group': group_id, 'filenumber': file_number}) return jsonify({'code': code, 'group': group_id, 'filenumber': 0})
def delete(self, group_id): def delete(self, group_id):
code, group_id, file_number = VectorEngine.DeleteGroup(group_id) code, group_id, file_number = VectorEngine.DeleteGroup(group_id)
return jsonify({'code': code, 'group': group_id, 'filenumber': file_number}) return jsonify({'code': code, 'group': group_id, 'filenumber': 0})
class GroupList(Resource): class GroupList(Resource):
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册