예제 #1
0
    def execute_upload(self,request):
                import uuid
                form = self.form_class(request.POST, request.FILES)

                if  form.is_valid():
                    #resp = self.handle_uploaded_file(request.FILES['file'])
                    with open('uploaded_custom.py', 'wb+') as destination:
                        for chunk in request.FILES['file'].chunks():
                            destination.write(chunk)
                        destination.close()

                    proxy = callme.Proxy(server_id='fooserver2',amqp_host='amqp://*****:*****@37.187.117.106/echopen1', timeout=3600)
               
                    resp = proxy.denoise(open('uploaded_custom.py', 'rb').read())

                    self.uuid_index  = str(uuid.uuid4())

                    model = Algorithm

                    run_rank = model.objects.filter(rating__gt=int(resp['score'])).order_by('ranking')
                    if len(run_rank) > 0:
                        rankobj = run_rank.last()
                        rank = rankobj.ranking + 1

                    else:
                        rank = 1
                     
                    run_rank_low = model.objects.filter(rating__lte=int(resp['score']))
                    if len(run_rank_low) > 0 :
                        for i in run_rank_low:
                            i.ranking += 1
                            i.save()

                    else:
                        pass
                    
                                  
                    b = Algorithm(run_id= self.uuid_index, name=request.user.username, user=request.user, ranking = rank, rating=resp['score'], button = button_type, time= resp['duration'], source_code=source, cpu=18)
                    b.save()
                    job_post = u'{0} has sent a job score: {1} rank: {2} :'.format(request.user.username,resp['score'], rank)
                    
                    resp = model.objects.all().order_by('ranking')
                    values = resp.values('run_id')
                    
                    for ind, item  in enumerate(values) :
                        if (item['run_id']) == self.uuid_index :
                            paging =  divmod(ind, 5)[0]

                    feed = Feed(user=request.user, post=job_post, job_link='/leaderboard?q=foo&flop=flip&page='+str(paging+1))
                    feed.save()


                    #request.user.profile.notify_job_done(b)      
                    

                    like = Activity(activity_type=Activity.RUN_PROCESSED, feed=feed.pk, user=request.user)
                    like.save()

                    user = request.user
                    user.profile.notify_liked_bis(feed)
                    

                    return paging
예제 #2
0
파일: views.py 프로젝트: thomasrob/kit-soft
    def execute_upload(self, request):
        import uuid
        form = self.form_class(request.POST, request.FILES)
        print request.FILES['file']
        if form.is_valid():
            print request.FILES['file']
            resp = self.handle_uploaded_file(request.FILES['file'])
            if resp['score'] < 100:
                button_type = 'btn-warning'
            else:
                button_type = 'btn-success'
            self.uuid_index = str(uuid.uuid4())

            resp['score'] = random.randint(1, 100)

            model = Algorithm

            run_rank = model.objects.filter(
                rating__gt=int(resp['score'])).order_by('ranking')
            if len(run_rank) > 0:
                rankobj = run_rank.last()
                rank = rankobj.ranking + 1

            else:
                rank = 1

            run_rank_low = model.objects.filter(rating__lte=int(resp['score']))
            if len(run_rank_low) > 0:
                for i in run_rank_low:
                    i.ranking += 1
                    i.save()

            else:
                pass

            b = Algorithm(run_id=self.uuid_index,
                          name=request.user.username,
                          user=request.user,
                          ranking=rank,
                          rating=resp['score'],
                          button=button_type,
                          time=resp['duration'],
                          cpu=18)
            b.save()
            job_post = u'{0} has sent a job score: {1} rank: {2} :'.format(
                request.user.username, resp['score'], rank)

            resp = model.objects.all().order_by('ranking')
            values = resp.values('run_id')

            for ind, item in enumerate(values):
                if (item['run_id']) == self.uuid_index:
                    paging = divmod(ind, 5)[0]

            feed = Feed(user=request.user,
                        post=job_post,
                        job_link='/leaderboard?q=foo&flop=flip&page=' +
                        str(paging + 1))
            feed.save()

            #request.user.profile.notify_job_done(b)

            like = Activity(activity_type=Activity.RUN_PROCESSED,
                            feed=feed.pk,
                            user=request.user)
            like.save()

            user = request.user
            user.profile.notify_liked_bis(feed)

            return paging
예제 #3
0
파일: views.py 프로젝트: echopen/kit-soft
    def execute_upload(self,request):
                import uuid
                form = self.form_class(request.POST, request.FILES)
                print request.FILES['file']
                if  form.is_valid():
                    print request.FILES['file']
                    resp = self.handle_uploaded_file(request.FILES['file'])
                    if resp['score'] < 100 :
                        button_type = 'btn-warning'
                    else:
                        button_type = 'btn-success'
                    self.uuid_index  = str(uuid.uuid4())


                    resp['score']= random.randint(1, 100)

                    model = Algorithm

                    run_rank = model.objects.filter(rating__gt=int(resp['score'])).order_by('ranking')
                    if len(run_rank) > 0:
                        rankobj = run_rank.last()
                        rank = rankobj.ranking + 1

                    else:
                        rank = 1

                    run_rank_low = model.objects.filter(rating__lte=int(resp['score']))
                    if len(run_rank_low) > 0 :
                        for i in run_rank_low:
                            i.ranking += 1
                            i.save()

                    else:
                        pass

                    
                   

                    b = Algorithm(run_id= self.uuid_index, name=request.user.username, user=request.user, ranking = rank, rating=resp['score'], button = button_type, time= resp['duration'], cpu=18)
                    b.save()
                    job_post = u'{0} has sent a job score: {1} rank: {2} :'.format(request.user.username,resp['score'], rank)
                    
                    resp = model.objects.all().order_by('ranking')
                    values = resp.values('run_id')
                    
                    for ind, item  in enumerate(values) :
                        if (item['run_id']) == self.uuid_index :
                            paging =  divmod(ind, 5)[0]

                    feed = Feed(user=request.user, post=job_post, job_link='/leaderboard?q=foo&flop=flip&page='+str(paging+1))
                    feed.save()


                    #request.user.profile.notify_job_done(b)      
                    

                    like = Activity(activity_type=Activity.RUN_PROCESSED, feed=feed.pk, user=request.user)
                    like.save()

                    user = request.user
                    user.profile.notify_liked_bis(feed)
                    

                    return paging