예제 #1
0
파일: views.py 프로젝트: Horrendus/aic13
def worker(request):
    if request.method == 'GET':
        if request.user.is_superuser:
            workers = Worker.objects.all()
            serializer = JSONSerializer()
            data = serializer.serialize(workers)
            return HttpResponse(data, content_type="application/json")
        else:
            return HttpResponse('{"text":"Only Superuser allowed to view workers"}',status=403)
예제 #2
0
파일: views.py 프로젝트: Horrendus/aic13
def answers(request):
    users = request.user.companyuser_set.all()
    if not users:
        return HttpResponse('only company users can view answers to their tasks',status=403)
    companyuser = users[0]
    answersets = [t.answer_set.all() for t in companyuser.task_set.all()]
    answers = list(itertools.chain.from_iterable(answersets))
    serializer = JSONSerializer()
    data = serializer.serialize(answers)
    return HttpResponse(data, content_type="application/json")
예제 #3
0
파일: views.py 프로젝트: ream88/aic13
def company(request):
    if request.method == 'GET':
        serializer = JSONSerializer()
        data = serializer.serialize(Company.objects.all())
        return HttpResponse(data, content_type="application/json")
    else:  # POST Request
        name = request.POST.get('name', '')
        company_instance = Company.objects.create(name=name)
        company_instance.save()
        # Upload tasks for this company
        messages.success(request, 'Sucessfully created company')
        return HttpResponseRedirect('/')
예제 #4
0
 def __init__(self, host, port):
     self.es = Elasticsearch([{
         'host': host,
         'port': port
     }],
                             serializer=JSONSerializer())
     logger = Logger('ElasticSearchInteraction.log')
예제 #5
0
파일: views.py 프로젝트: ream88/aic13
def answer_task(request, task_id):
    if request.method == 'POST':
        print request.user
        answer = request.POST.get('answer','')
        try:
            task = Task.objects.get(id=task_id)
            if not task in get_tasks(request.user):
                messages.info(request, get_notallowed_message(task,request.user))
                return HttpResponseRedirect('/')

            jsonDec = json.decoder.JSONDecoder()
            possible_answers = jsonDec.decode(task.possible_answers)
            correct = False
            if len(possible_answers) > 1:
                if answer in possible_answers:
                    print "Correct Answer"
                    correct = True
                else:
                    print "Incorrect Answer, stupid User"
            else:
                #Open Question, we can't decide if answer is correct
                correct = True
            if correct:
                answer_instance = Answer.objects.create(task=task,user=request.user,answer=answer)
                answer_instance.save()
                messages.success(request, "Thanks for answering a Question!")
                existing_answers = task.answer_set.all()
                if len(existing_answers) == task.answers_wanted:
                    print "last answer, sending callback"
                    serializer = JSONSerializer()
                    header = {'Content-type': 'application/json'}
                    data = serializer.serialize(Answer.objects.filter(task=task))
                    req = urllib2.Request(task.callback,data,header)
                    try:
                        resp = urllib2.urlopen(req)
                        print resp.read()
                    except HTTPError:
                        print "callback not available"
                return HttpResponseRedirect('/')
            else:
                messages.info(request, 'Incorrect Answer, try again')
                return HttpResponseRedirect('/tasks/%i/' % task.id)
        except ObjectDoesNotExist:
            messages.error(request, "error, Task does not exist")
            return HttpResponseRedirect('/')
예제 #6
0
파일: views.py 프로젝트: ream88/aic13
def sentiments(request):
    if request.method == 'GET':
        serializer = JSONSerializer()
        data = serializer.serialize(SentimentAnalysis.objects.all())
        return HttpResponse(data, content_type="application/json")
예제 #7
0
파일: views.py 프로젝트: Horrendus/aic13
def types(request):
    types = SentimentAnalysisType.objects.all()
    serializer = JSONSerializer()
    data = serializer.serialize(types)
    return HttpResponse(data, content_type="application/json")