示例#1
0
def start_setup(request,data=load_data.data):
    if users.is_current_user_admin():
        root = getRoot(request)
        action = request.params.get('action')
        data_request=request.params.get('data',None)
        #BREAKPOINT()
        if action:
            if action == 'ALL':
                
                for i in data:
                    resp = create_site(i,request)
                    i[3].append(resp[0:min(10,len(resp))])
                    
            if action == 'data':
                
                if hasattr(backup_data,data_request):
                    data = getattr(backup_data,data_request).data

                    create_site(data,request) 
                    data = []       
            else:    
                for i in data:
                    if i[2] == action:
                        resp = create_site(i,request)
                        i[3].append(resp[0:min(10,len(resp))])
                        break
              
        return data
    else:
        return []
示例#2
0
def start_setup(request, data=load_data.data):
    if users.is_current_user_admin():
        root = getRoot(request)
        action = request.params.get('action')
        data_request = request.params.get('data', None)
        #BREAKPOINT()
        if action:
            if action == 'ALL':

                for i in data:
                    resp = create_site(i, request)
                    i[3].append(resp[0:min(10, len(resp))])

            if action == 'data':

                if hasattr(backup_data, data_request):
                    data = getattr(backup_data, data_request).data

                    create_site(data, request)
                    data = []
            else:
                for i in data:
                    if i[2] == action:
                        resp = create_site(i, request)
                        i[3].append(resp[0:min(10, len(resp))])
                        break

        return data
    else:
        return []
示例#3
0
def create_site(i,request):
    results = []
    
    info("class %s",str(i[0]))
    results.append("class %s"%str(i[0]))
    klass = i[0]
    entities = i[1]
    #BREAKPOINT()
    for args in entities:
        ref = None
        ref_key = None
        #BREAKPOINT()
        for arg in args:
            
            #if type(args[arg])== DBKeys:
            #    BREAKPOINT()
            
            if type(args[arg]) not in [ unicode,str,db.Email,DBKeys,list,int,bool,long,None,]:
                #BREAKPOINT()
                try:
                    ref=[i for i in list(args[arg].all()) if i.name == args[arg].name]
                except AttributeError:
                    logging.error('cant handle %s %s' % (arg,repr(args[arg])))
                ref_key = arg
                if ref:
                    ref = ref[0]
        
                args[ref_key]=ref
            
            if type(args[arg]) == DBKeys:
                args[arg] = list(args[arg])
        try:    
            info("obj is %s"%args['name'])
        except:
            info(str(args))
            
        results.append("obj is %s"%args['name'])
        if args.has_key('parent_'):    
            root = getRoot(request)
            path = args.get('parent_')
            kwargs = dict(args)
            del kwargs['parent_']
            del kwargs['name']
            #if klass == models.Scene:
            
            try:
                
                x = root.createContent(args['name'],klass,path,request,**kwargs)
            except Exception,e:
                info(str(e))
                logging.error(str(e))
        else:
            
            x=klass(**args)
            x.put()
示例#4
0
def get_root(environ):
    
    return getRoot(environ)
示例#5
0
文件: models.py 项目: yphus/bfg-pages
def get_root(environ):

    return getRoot(environ)
示例#6
0
def create_site(i, request):
    results = []

    info("class %s", str(i[0]))
    results.append("class %s" % str(i[0]))
    klass = i[0]
    entities = i[1]
    #BREAKPOINT()
    for args in entities:
        ref = None
        ref_key = None
        #BREAKPOINT()
        for arg in args:

            #if type(args[arg])== DBKeys:
            #    BREAKPOINT()

            if type(args[arg]) not in [
                    unicode,
                    str,
                    db.Email,
                    DBKeys,
                    list,
                    int,
                    bool,
                    long,
                    None,
            ]:
                #BREAKPOINT()
                try:
                    ref = [
                        i for i in list(args[arg].all())
                        if i.name == args[arg].name
                    ]
                except AttributeError:
                    logging.error('cant handle %s %s' % (arg, repr(args[arg])))
                ref_key = arg
                if ref:
                    ref = ref[0]

                args[ref_key] = ref

            if type(args[arg]) == DBKeys:
                args[arg] = list(args[arg])
        try:
            info("obj is %s" % args['name'])
        except:
            info(str(args))

        results.append("obj is %s" % args['name'])
        if args.has_key('parent_'):
            root = getRoot(request)
            path = args.get('parent_')
            kwargs = dict(args)
            del kwargs['parent_']
            del kwargs['name']
            #if klass == models.Scene:

            try:

                x = root.createContent(args['name'], klass, path, request,
                                       **kwargs)
            except Exception, e:
                info(str(e))
                logging.error(str(e))
        else:

            x = klass(**args)
            x.put()