Skip to content

Commit

Permalink
修改一些错误
Browse files Browse the repository at this point in the history
  • Loading branch information
LuckStone committed Mar 22, 2016
1 parent 525db03 commit 8d6595c
Show file tree
Hide file tree
Showing 11 changed files with 103 additions and 25 deletions.
3 changes: 3 additions & 0 deletions MongDBTool.bat
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
set PYTHONPATH=.;%CD%

python .\mongodb\dbtool.py -l cloudsoar namespaces.js
4 changes: 2 additions & 2 deletions MongDBTool.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ export PYTHONPATH=`pwd`

if [[ "$1" = "" || "$1" = "-h" ]];
then
python mongodb/mongodbtool.py -h 2>&1
python mongodb/dbtool.py -h 2>&1
else
python mongodb/mongodbtool.py -l $1 $2 2>&1
python mongodb/dbtool.py -l $1 $2 2>&1
fi
10 changes: 7 additions & 3 deletions api/accountmgr.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,13 @@ def save_account(self, post_data):
return UserDBImpl.instance().create_new_user(account)

@ring8
def grp(self, namespace):
def groups(self, namespace):
return GroupDBImpl.instance().read_record_list({'namespace':namespace})

@ring8
def group(self, group_id):
return GroupDBImpl.instance().read_record({ID:group_id})

@ring8
def is_group_exist(self, namespace, group_name):
namespace = namespace.strip()
Expand All @@ -110,7 +114,7 @@ def is_group_exist(self, namespace, group_name):
return GroupDBImpl.instance().is_exist({'namespace':namespace,'group_name':group_name})

@ring8
def save_grp(self, post_data):
def save_group(self, post_data):
try:
group_info = json.loads(post_data.replace("'", '"'))
except Exception,e:
Expand All @@ -120,7 +124,7 @@ def save_grp(self, post_data):
return GroupDBImpl.instance().create_new_group(group_info)

@ring8
def delete_grp(self, group_id=''):
def delete_group(self, group_id=''):
group_id = group_id.strip()
if group_id=='':
return Result('', INVALID_PARAM_ERR, 'Invalid group id' )
Expand Down
43 changes: 31 additions & 12 deletions api/registrymgr.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from common.util import Result
from frame.Logger import Log
from frame.authen import ring8
from frame.errcode import INVALID_JSON_DATA_ERR
from frame.errcode import INVALID_JSON_DATA_ERR, INVALID_PARAM_ERR
from mongoimpl.registry.namespacedbimpl import NamespaceDBImpl
from mongoimpl.registry.repositorydbimpl import RepositoryDBImpl
from mongoimpl.registry.tagdbimpl import TagDBImpl
Expand Down Expand Up @@ -48,11 +48,38 @@ def info(self):

@ring8
def namespaces(self):
return NamespaceDBImpl.instance().read_record_list()
query = {}
rlt = NamespaceDBImpl.instance().exec_db_script('namespaces',query, 10, 0)
if not rlt.success:
Log(1, 'namespaces.read_record_list fail,as[%s]'%(rlt.message))

return rlt

@ring8
def save_namespace(self, post_data):
try:
namespace = json.loads(post_data.replace("'", '"'))
except Exception,e:
Log(1,"save_account.parse data to json fail,input[%s]"%(post_data))
return Result('',INVALID_JSON_DATA_ERR,str(e))
else:
return NamespaceDBImpl.instance().create_new_nspc(namespace)

@ring8
def namespace(self, namespace):
return NamespaceDBImpl.instance().read_record(namespace)
NamespaceDBImpl.instance().read_record(namespace)

@ring8
def delete_namespace(self, namespace=''):
namespace = namespace.strip()
if namespace=='':
return Result('', INVALID_PARAM_ERR, 'Invalid namespace' )

rlt = NamespaceDBImpl.instance().delete_namespace(namespace)
if not rlt.success:
Log(1, 'delete_namespace[%s] fail,as[%s]'%(namespace, rlt.message))
return rlt


@ring8
def repository(self, namespace, repo_name=''):
Expand All @@ -77,15 +104,7 @@ def tag(self, namespace, repo_name, tag_name=''):
return TagDBImpl.instance().get_tag_info(namespace, tag_name)


@ring8
def save_namespace(self, post_data):
try:
namespace = json.loads(post_data.replace("'", '"'))
except Exception,e:
Log(1,"save_account.parse data to json fail,input[%s]"%(post_data))
return Result('',INVALID_JSON_DATA_ERR,str(e))
else:
return NamespaceDBImpl.instance().create_new_nspc(namespace)




Expand Down
2 changes: 2 additions & 0 deletions frame/apiresource.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
# -*- coding: utf-8 -*-
# Copyright (c) 20016-2016 The Cloudsoar.
# See LICENSE for details.

Expand Down Expand Up @@ -115,6 +116,7 @@ def _cbRender(self, result, request, responseFailed=None):
try:
content = json.dumps(ret)
request.setHeader("content-length", str(len(content)))
request.setHeader("Access-Control-Allow-Origin", "*")
request.write(content)
except Exception, e:
SysLog(1,"TestResource._cbRender fail [%s]"%str(e))
Expand Down
8 changes: 4 additions & 4 deletions mongodb/dbmgr.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@
import threading
import time

from pymongo.connection import Connection
from pymongo.errors import AutoReconnect
from pymongo.mongo_client import MongoClient

from common.guard import LockGuard
from frame.Logger import Log, PrintStack
Expand Down Expand Up @@ -56,15 +56,15 @@ def __init__(self,db_host=None,db_port=None):
self.host = db_host or GetSysConfig("db_host")
self.osname = None
try:
self.conn = Connection(self.host, self.port)
self.conn = MongoClient(self.host, self.port)
except Exception,e:
PrintStack()
Log(1,"VFOSDBMgr connect to Mongdb fail,as[%s]"%(str(e)))
else:
Log(3,"Connect to db success.")

def autoConnect(self):
self.conn = Connection(self.host, self.port)
self.conn = MongoClient(self.host, self.port)

def init_db_config(self):
if self.osname :
Expand Down Expand Up @@ -154,7 +154,7 @@ def isDBRuning(self):
'''
try:
if self.conn is None:
self.conn = Connection(self.host, self.port)
self.conn = MongoClient(self.host, self.port)
self.conn.server_info()
except Exception,e:
Log(1,"Get mongodb server info fail,as[%s]"%(str(e)))
Expand Down
3 changes: 1 addition & 2 deletions mongodb/dbtool.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,5 +80,4 @@ def usage():


if __name__ == "__main__":
#main()
LoadJS('cloudsoar', 'repositories.js')
main()
10 changes: 10 additions & 0 deletions mongodb/javascript/cloudsoar/namespaces.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
namespaces = function (query, size, skip) {
var data = [];
var cor = db.Namespace.find(query).limit(size).skip(skip);
cor.forEach(function(nspc){
nspc['repo_num'] = db.Repository.count({'namespace':nspc._id});
data.push(nspc);
});

return {"result":0, "content":data};
}
40 changes: 40 additions & 0 deletions mongodb/javascript/cloudsoar/repositories.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
repositories = function (query, size, skip) {

var extent = function(srcObj, tarObj){
for(var p in srcObj){
if(typeof(srcObj[p])=="function"){
continue;
}
else{
tarObj[p] = srcObj[p];
}
}
return tarObj;
}

var GetTags = function(repo_id){

arr = []
var corsur = db.Tags.find({'repository':repo_id})
corsur.forEach(function(tag){
image = db.Image.findOne({"_id":tag.digest});
if (image)
{
tag['size'] = image['size'];
tag['user_id'] = image['user_id'];
tag['pull_num'] = image['pull_num'];
}
arr.push(tag);
});
return arr;
}

var data = [];
var cor = db.Repository.find(query).limit(size).skip(skip);
cor.forEach(function(repo){
repo['tags'] = GetTags(repo._id);
data.push(repo);
});

return {"result":0, "content":data};
}
3 changes: 2 additions & 1 deletion mongoimpl/registry/namespacedbimpl.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,8 @@ def create_new_nspc(self, info):
return rlt



def delete_namespace(self, namespace):
return self.remove({ID:namespace})



Expand Down
2 changes: 1 addition & 1 deletion start.bat
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
@echo off


set PYTHONPATH=".:%CD%"
set PYTHONPATH=".;%CD%"

start /b python ServerMain.py

0 comments on commit 8d6595c

Please sign in to comment.