Exemplo n.º 1
0
def inputFormDisplay(request, template='upload.html'):
    """Displays input form that takes fasta and ids files."""
    if request.method == 'POST':
        form = InputForm(request.POST, request.FILES)
        if form.is_valid():
            # create UID
            sym_task = symTyperTask.objects.create()
            sym_task.UID = str(sym_task.id) + '.' + str(time.time())
            sym_task.params = form.yamlfyParams()
            sym_task.save()

            parentDir = os.path.join(settings.SYMTYPER_HOME, sym_task.UID)

            os.makedirs(parentDir)
            os.system("""chmod 775 %s"""%(parentDir))
            fasta = os.path.join(parentDir, "input.fasta")
            samples = os.path.join(parentDir, "samples.ids")

            writeFile(request.FILES['fasta_File'], fasta)
            writeFile(request.FILES['sample_File'], samples)

            task = handleForm.delay(fasta, samples, "test", sym_task.UID)
            return HttpResponseRedirect(reverse("index", args=[sym_task.UID]))
    else:
        form = InputForm()

    context = {'form': form,}

    return render(request, template, context)
Exemplo n.º 2
0
Arquivo: views.py Projeto: m3ouf/test
def get_session(request):
    form = InputForm(request.GET)
    if not form.is_valid():
        error_msg = ""
        for k, v in form.errors.items():
            error_msg += "%s: %s\n" % (k, ", ".join(v))
        return HttpResponse(json.dumps({
            'success': False,
            'msg': error_msg
        }),
                            content_type="application/json")

    subscriber_id = form.cleaned_data['userName']
    transaction_id = form.cleaned_data['transactionId']
    logger.debug("Getting session for user (%s), transaction id: (%s)",
                 subscriber_id, transaction_id)

    pcrf_client = PCRFClient()
    result = pcrf_client.query_session(subscriber_id=subscriber_id)

    response = {
        'success': result['action_result'],
        'msg': result.get('action_error_message'),
        'session': result.get('session')
    }

    log_action(inspect.stack()[0][3],
               request,
               response,
               transaction_id=transaction_id)
    return HttpResponse(json.dumps(response), content_type="application/json")
Exemplo n.º 3
0
Arquivo: views.py Projeto: m3ouf/test
def get_profile(request):
    form = InputForm(request.GET)
    if not form.is_valid():
        error_msg = ""
        for k, v in form.errors.items():
            error_msg += "%s: %s\n" % (k, ", ".join(v))
        return HttpResponse(json.dumps({
            'success': False,
            'msg': error_msg
        }),
                            content_type="application/json")

    subscriber_id = form.cleaned_data['userName']
    transaction_id = form.cleaned_data['transactionId']
    free_quota = form.cleaned_data['freeQuota']

    pcrf_client = PCRFClient()
    profile_result = pcrf_client.get_profile(subscriber_id=subscriber_id,
                                             free_quota=free_quota)
    logger.debug("Getting profile for user (%s), transaction id: (%s)",
                 subscriber_id, transaction_id)
    if not profile_result['action_result']:
        response = {
            'success':
            True if profile_result.get('action_error_message').endswith(
                "does not exist") else profile_result['action_result'],
            'msg':
            profile_result.get('action_error_message'),
        }
        if 'not_exist' in profile_result:
            response['not_exist'] = profile_result['not_exist']
        log_action(inspect.stack()[0][3],
                   request,
                   response,
                   transaction_id=transaction_id)
        return HttpResponse(json.dumps(response),
                            content_type="application/json")

    topups_result = pcrf_client.get_services(subscriber_id,
                                             service_type='topup',
                                             free_quota=free_quota)

    response = {
        'success':
        True if topups_result.get('action_error_message',
                                  '').endswith("does not exist") else
        topups_result['action_result'],
        'msg':
        topups_result.get('action_error_message'),
        'profile':
        profile_result.get('profile'),
        'topups':
        topups_result.get('services')
    }

    log_action(inspect.stack()[0][3],
               request,
               response,
               transaction_id=transaction_id)
    return HttpResponse(json.dumps(response), content_type="application/json")
Exemplo n.º 4
0
def index(request):
    result = ""
    grid = ""
    if request.method == 'POST':
        form = InputForm(request.POST)
        if form.is_valid():
            if form.cleaned_data.get('grid'):
                data = form.cleaned_data.get('grid')
                grid = eval(data)
                result = best_path.grid_search(grid)
    else:
        form = InputForm(initial={'text': 'text here'})
    return render(request, 'index.html', {'grid': grid, 'result': result, 'form': form})
Exemplo n.º 5
0
def get_dpi_usage(request):
    form = InputForm(request.GET)
    if not form.is_valid():
        error_msg = ""
        for k, v in form.errors.items():
            error_msg += "%s: %s\n" % (k, ", ".join(v))
        return HttpResponse(json.dumps({
            'success': False,
            'msg': error_msg
        }),
                            content_type="application/json")

    subscriber_id = form.cleaned_data['subscriber_id']
    start_date = form.cleaned_data['start_date']
    end_date = form.cleaned_data['end_date']
    logger.debug(
        "Getting Subscriber ID: (%s) , start date: (%s), end date: (%s)",
        subscriber_id, start_date, end_date)

    data = DPI_XML_REQUEST % {
        'subscriber_id': subscriber_id,
        'start_date': start_date,
        'end_date': end_date
    }
    headers = {'Content-Type': 'text/xml'}
    req = urllib2.Request(DPI_URL, data, headers)
    response = urllib2.urlopen(req)
    xml = response.read()
    #[email protected]
    res = re.findall(
        "@example.jaxws.sun.com>\r\nContent-Type: application/x-gzip\r\nContent-Transfer-Encoding: binary\r\n\r\n(.*)\r\n--uuid",
        xml, re.DOTALL)
    if res and not res[
            0] == "\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00":
        # gets the gzip binary data into an object to extract .gz file to plain text
        fio = StringIO.StringIO(res[0])
        final = gzip.GzipFile(fileobj=fio)
        results = []
        for line in final.readlines():
            line = line.split(',')
            results.append([line[1], line[2].replace("\n", "")])
        response = {"error": False, "errorMessage": "", "results": results}
        return HttpResponse(json.dumps(response),
                            content_type="application/json")

    response = {
        "error": True,
        "type": "warning",
        "errorMessage": "Subscriber not found."
    }
    return HttpResponse(json.dumps(response), content_type="application/json")
Exemplo n.º 6
0
def tan(request):
    t = None  # initial value of result
    if request.method == 'POST':
        form = InputForm(request.POST)
        if form.is_valid():
            form = form.save(commit=False)
            radianos = form.radianos
            t = calculate_tan(radianos)
    else:
        form = InputForm()

    return render_to_response('tan.html',
            {'form': form,
             't': '%.5f' % t if isinstance(t, float) else ''
             }, context_instance=RequestContext(request))
Exemplo n.º 7
0
def tan(request):
    t = None  # initial value of result
    if request.method == 'POST':
        form = InputForm(request.POST)
        if form.is_valid():
            form = form.save(commit=False)
            radianos = form.radianos
            t = calculate_tan(radianos)
    else:
        form = InputForm()

    return render_to_response('tan.html', {
        'form': form,
        't': '%.5f' % t if isinstance(t, float) else ''
    },
                              context_instance=RequestContext(request))
Exemplo n.º 8
0
def get_dpi_usage(request):
    form = InputForm(request.GET)
    if not form.is_valid():
        error_msg = ""
        for k, v in form.errors.items():
            error_msg += "%s: %s\n" % (k, ", ".join(v))
        return HttpResponse(json.dumps({'success': False, 'msg': error_msg}), content_type="application/json")

    subscriber_id = form.cleaned_data['subscriber_id']
    start_date = form.cleaned_data['start_date']
    end_date = form.cleaned_data['end_date']
    logger.debug("Getting Subscriber ID: (%s) , start date: (%s), end date: (%s)", subscriber_id, start_date, end_date)

    data = DPI_XML_REQUEST % {'subscriber_id': subscriber_id, 'start_date': start_date, 'end_date': end_date}
    headers = {'Content-Type': 'text/xml'}
    req = urllib2.Request(DPI_URL, data, headers)
    response = urllib2.urlopen(req)
    xml = response.read()
Exemplo n.º 9
0
def initiate(request):
    """Request user's phone number. This would ordinarily be provided
    by the mobile operator; we need it to correctly simulate
    interaction ."""

    data = {}
    data.update(csrf(request))

    if request.method == 'POST':
        form = InputForm(request.POST)
        if form.is_valid():
            request.session['phone_number'] = form.cleaned_data['input']
            return HttpResponseRedirect(reverse('interact'))
    else:
        form = InputForm()
    data['form'] = form
    return render_to_response('initiate.html', data,
                              context_instance=RequestContext(request))
Exemplo n.º 10
0
def interact(request):
    """Accept input from user and display menus from the application"""
    if 'phone_number' not in request.session:
        return HttpResponseRedirect(reverse('initiate'))

    data = {}
    data.update(csrf(request))

    user_input = INITIAL_INPUT
    if request.method == 'POST':
        form = InputForm(request.POST)
        if form.is_valid():
            user_input = form.cleaned_data['input']

    # Always create a new unbound form (so that previous inputs don't
    # show up in current form fields)
    form = InputForm()


    args = { 'EXTRA': request.session.get('extra', ''),
             'LEVEL': request.session.get('level', INITIAL_LEVEL),
             'MSISDN': request.session['phone_number'],
             'SESSIONID': '1',
             'INPUT': user_input } 
    
    base_url = 'http://wezatele.webfactional.com/maji/maji.php'
    # base_url = request.build_absolute_uri(reverse('dispatch')) 
    url = '%s?%s' % (base_url, urlencode(args))
    response = urlopen(url).read()
    data['response'] = response
    level, data['message'], status, extra = response.split('^')
    request.session['level'] = level
    request.session['extra'] = extra

    data['form'] = form
    data['status'] = status

    return render_to_response('interact.html', data,
                              context_instance=RequestContext(request))
Exemplo n.º 11
0
def create_edit_input(request, input_id=None):

    if request.method == 'POST':
        if input_id != None:
            thisinput = InputSubstance.objects.get(id=input_id)
            form = InputForm(request.POST, instance=thisinput)
            if form.is_valid():
                form.save()
                messages.success(request, "Input updated")
                admin = User.objects.get(username=ADMIN_USERNAME)
                addMessage = InternalMessage(
                    sender=admin,
                    title=request.user.first_name + ' made some changes to ' +
                    form.cleaned_data['name'] + '...',
                    body=request.user.first_name + ' made changes to ' +
                    form.cleaned_data['name'] +
                    '\n\nYou should probably take a look...')
                addMessage.save()
                addMessage.recipient.add(admin)
                addMessage.save()
                print 'New input message sent....'
            else:
                messages.add_message(request, settings.DISALLOWED_MESSAGE,
                                     "Hold on, somethings not right there...")
                return render(request, 'create_edit_input.html', {
                    'form': form,
                    'input': thisinput
                })
            return HttpResponseRedirect('/data/input/all')
        else:
            form = InputForm(request.POST)

            if form.is_valid():
                new_input = form.save()
                messages.success(request, "Input added")
                admin = User.objects.get(username=ADMIN_USERNAME)
                addMessage = InternalMessage(
                    sender=admin,
                    title=request.user.first_name + ' added an Input',
                    body=request.user.first_name + ' added an Input called ' +
                    form.cleaned_data['name'] +
                    '\n\nYou should look at it and add the emission factor and SimaPro ID...'
                )
                addMessage.save()
                addMessage.recipient.add(admin)
                addMessage.save()
                print 'New input message sent....'
            else:
                messages.add_message(request, settings.DISALLOWED_MESSAGE,
                                     "Hold on, somethings not right there...")
                return render(request, 'create_edit_input.html',
                              {'form': form})

            return HttpResponseRedirect('/data/input/all/')
    else:

        args = {}
        args.update(csrf(request))

        if input_id is None:
            form = InputForm()
        else:
            input_instance = InputSubstance.objects.get(id=input_id)
            args['input'] = input_instance
            form = InputForm(instance=input_instance)

        args['form'] = form
        try:
            args['dismissMessage'] = Content.objects.get(
                name='InputsOutputsMessage')
        except:
            pass

        return render(request, 'create_edit_input.html', args)