def renderPage(self):
        session = {}
        
        uid = self.request.get('id', None)
        backend = self.request.get('backend', False)
        nodes = self.request.get('nodes', None)
        edges = self.request.get('edges', None)
        
        if backend: session['access_token'] = self.request.get('access_token', '') 
        else: session = sessionmanager.getsession(self)

        if nodes == None or edges == None:
            libSNA = self.getLibSNA(session)
        else:
            libSNA = libsna.SocialNetwork()
            libSNA.loadGraph(nodes, edges)
        
        table = computeLeague(libSNA, session)
        
        q = db.GqlQuery("SELECT * FROM Network WHERE uid = :1", uid)
        network = q.fetch(1)
    
        if len(network) > 0:
            network = network[0]
            network.setleague(str(table))
            network.put()
                
        self.response.out.write(str(table))
Esempio n. 2
0
    def renderPage(self):
        session = {}

        uid = self.request.get('id', None)
        backend = self.request.get('backend', False)
        nodes = self.request.get('nodes', None)
        edges = self.request.get('edges', None)

        if backend:
            session['access_token'] = self.request.get('access_token', '')
        else:
            session = sessionmanager.getsession(self)

        if nodes == None or edges == None:
            libSNA = self.getLibSNA(session)
        else:
            libSNA = libsna.SocialNetwork()
            libSNA.loadGraph(nodes, edges)

        table = computeLeague(libSNA, session)

        q = db.GqlQuery("SELECT * FROM Network WHERE uid = :1", uid)
        network = q.fetch(1)

        if len(network) > 0:
            network = network[0]
            network.setleague(str(table))
            network.put()

        self.response.out.write(str(table))
 def renderPage(self):
     objreturn = {}
     session = {}
     libSNA = None
     
     backend = self.request.get('backend', False)
     indexname = self.request.get('index', None)
     index_group = self.request.get('indexgroup', None)
     
     uid = self.request.get('id', None)
     if uid == None: uid = self.request.get('uid', None)
     
     if backend: session['access_token'] = self.request.get('access_token', '') 
     else: session = sessionmanager.getsession(self, access_token=self.request.get('access_token', None))
     
     if not indexname == None or not index_group == None:
         libSNA = getLibSNA(self, session)
     else:
         objreturn['error'] = False
         objreturn['msg'] = 'Wrong parameters.'
         objreturn['value'] = ''
     
     if not indexname == None:
         objreturn = computeIndex(self, libSNA, indexname, backend, session)
     elif not index_group == None:
         for index_grp in conf.INDEX_GROUPS:
             if index_group == '_all' or index_grp['name'] == index_group:
                 for indexname in index_grp['indexes']:
                     if 'indexes' in objreturn: objreturn['indexes'] = objreturn['indexes'] + ',' + indexname
                     else: objreturn['indexes'] = indexname
                     
                     #objreturn[indexname] = computeIndex(self, libSNA, indexname, backend, session)
                     logging.info('Computation of ' + indexname + ' sent to backend backend-indexes.')
                     taskqueue.add(url='/computeprofileindex', params={'id': uid,
                                                                       'code': self.request.get('code', None),
                                                                       'index': indexname,
                                                                       'backend': True,
                                                                       'access_token': session['access_token']},
                                   queue_name='indexes-queue', method='POST', target='backend-indexes')
                     
                     objreturn[indexname] = {}
                     objreturn[indexname]['error'] = False
                     objreturn[indexname]['msg'] = 'The computation of this index will be executed background. Check in few minutes to see your computed value.'
                     objreturn['value'] = ''
             
     self.response.out.write(json.dumps(objreturn))