コード例 #1
0
def main():
    global no_of_tabs, block_buffer, condition_stack, for_else, isOnElse, if_pos
    print("opening: {0}".format(sample))
    with open(sample) as file:
        lines = file.readlines()
        for eachline in lines:
            matched = re.match(identation_expression, eachline).groups()
            if matched[0] is not None:
                tabs = len(matched[0])
            else:
                tabs = 0
            if tabs > no_of_tabs:
                block_buffer = [eachline]
            elif tabs < no_of_tabs:
                try:
                    condition_stack.pop()
                except:
                    pass
                conditional_block = ConditionalBlock(condition_stack,
                                                     Block(block_buffer))
                graph.connect(conditional_block)

            else:
                block_buffer.append(eachline)

            eachline = eachline.strip()
            is_conditional_statement = re.match(conditional_expression,
                                                eachline.strip())
            is_else_conditional_statement = re.match(else_expression,
                                                     eachline.strip())
            if is_conditional_statement is not None:
                if eachline.startswith('elif'):
                    condition_stack.pop()
                condition_stack.append(
                    Condition(is_conditional_statement.groups()[1]))
                for_else.append(
                    Condition(is_conditional_statement.groups()[1]).negate())
                no_of_tabs -= 4

            elif is_else_conditional_statement is not None:
                condition_stack.extend(for_else[if_pos * -1:-1])
                no_of_tabs -= 4
                for_else = []
                try:
                    condition_stack.pop()
                except:
                    pass

            no_of_tabs = tabs
            print(
                "inside :", " AND ".join(
                    map(
                        lambda x: "'{0}'".format(x), condition_stack
                        if len(condition_stack) > 0 else ["global"])),
                " ------------->  ", eachline.strip())
コード例 #2
0
ファイル: cfg_generator.py プロジェクト: eandualem/CFG
def main():
    global no_of_tabs, block_buffer, condition_stack
    print("opening: {0}".format(sample))
    with open(sample) as file:
        lines = file.readlines()
        for eachline in lines:
            eachline = eachline.strip()
            matched = re.match(identation_expression, eachline).groups()
            if matched[0] is not None:
                tabs = len(matched[0])
            else:
                tabs = 0
            if tabs > no_of_tabs:
                block_buffer = [eachline]
            elif tabs < no_of_tabs:
                conditional_block = ConditionalBlock(condition_stack,
                                                     Block(block_buffer))
                graph.connect(conditional_block)
                condition_stack.pop()
                # if(isOnElse):
                #     condition_stack.pop()
            else:
                block_buffer.append(eachline)
            no_of_tabs = tabs
            print("inside :",
                  " AND ".join(
                      map(
                          lambda x: "'{0}'".format(x), condition_stack
                          if len(condition_stack) > 0 else ["global"])),
                  end=" ")
            print("   ------------->  ", eachline.strip())
            is_conditional_statement = re.match(conditional_expression,
                                                eachline.strip())
            is_else_conditional_statement = re.match(else_expression,
                                                     eachline.strip())
            if is_conditional_statement is not None:
                if eachline.startswith('elif'):
                    condition_stack.pop()
                condition_stack.append(
                    Condition(is_conditional_statement.groups()[0],
                              is_conditional_statement.groups()[1]))
                for_else.append(
                    Condition(is_conditional_statement.groups()[0],
                              is_conditional_statement.groups()[1]))
                no_of_tabs -= 1
                isOnElse = False

            elif is_else_conditional_statement is not None:
                condition_stack.append(condition_stack.pop().negate())
                no_of_tabs -= 1
                isOnElse = True
                condition_stack.pop()
            else:
                isOnElse = False
コード例 #3
0
def create_condition():
    form = ConditionForm()
    if form.validate_on_submit():
        if Condition.query.filter_by(name=form.name.data).first():
            flash('A condition with this name already exists.', 'danger')
            return render_template('condition.html',
                                   action=url_for('nbg.create_condition'),
                                   form=form)
        condition = Condition(form.name.data)
        for field in form.pairs:
            condition.pairs.append(StringPair(field.key.data,
                                              field.value.data))
        db.session.add(condition)
        db.session.commit()
        flash('Condition created', 'success')
        return redirect(url_for('nbg.list_conditions'))
    return render_template('condition.html',
                           action=url_for('nbg.create_condition'),
                           form=form)
コード例 #4
0
ファイル: manager.py プロジェクト: bruno-fs/SigNetSim
def copyProjectExperiments(project, new_project):

    t_experiments = Experiment.objects.filter(project=project)
    for experiment in t_experiments:

        new_experiment = Experiment(project=new_project,
                                    name=str(experiment.name),
                                    notes=str(experiment.notes))
        new_experiment.save()
        t_conditions = Condition.objects.filter(experiment=experiment)
        for condition in t_conditions:
            new_condition = Condition(experiment=new_experiment,
                                      name=str(condition.name),
                                      notes=str(condition.notes))
            new_condition.save()

            t_observations = Observation.objects.filter(condition=condition)
            for t_observation in t_observations:
                new_observation = Observation(
                    condition=new_condition,
                    species=t_observation.species,
                    time=t_observation.time,
                    value=t_observation.value,
                    stddev=t_observation.stddev,
                    steady_state=t_observation.steady_state,
                    min_steady_state=t_observation.min_steady_state,
                    max_steady_state=t_observation.max_steady_state)

                new_observation.save()

            t_treatments = Treatment.objects.filter(condition=condition)
            for t_treatment in t_treatments:
                new_treatment = Treatment(condition=new_condition,
                                          species=t_treatment.species,
                                          time=t_treatment.time,
                                          value=t_treatment.value)

                new_treatment.save()

            new_condition.save()
        new_experiment.save()
コード例 #5
0
def refreshDBwithFHIR(request):
    #get json from dir
    with open("hit_server/FHIRJsonResponse.json") as data_file:
        data = json.load(data_file)

    for p in data.keys():
        print p, data[p]["Contact Info"]["first_name"], data[p][
            "Contact Info"]["last_name"]
        patientobj = PatientInfo()  # create a patient object.
        patientobj.pid = p
        patientobj.first_name = data[p]["Contact Info"]["first_name"]
        patientobj.last_name = data[p]["Contact Info"]["last_name"]
        patientobj.save()

        #first add all conditions to patient?

        all_conditions = data[p]["Conditions"].keys()
        for con in all_conditions:
            conditionobj = Condition()
            conditionobj.condition_name = data[p]["Conditions"][con]["name"]
            conditionobj.onset_date = data[p]["Conditions"][con]["onset_date"]
            conditionobj.condition_code = data[p]["Conditions"][con]["code"]
            conditionobj.condition_desc = data[p]["Conditions"][con]["text"]
            conditionobj.condition_for_patients = patientobj  # how to use related object

            conditionobj.save()

        all_medications = data[p]["Medications"].keys()

        if len(all_medications) == 0:
            pass

        else:
            for meds in all_medications:
                medicationobj = Medication()
                medicationobj.med_status = data[p]["Medications"][meds][
                    "status"]
                medicationobj.med_name = data[p]["Medications"][meds]["name"]
                medicationobj.med_code = data[p]["Medications"][meds]["code"]
                medicationobj.med_dosage_value = data[p]["Medications"][meds][
                    "dosage_value"]
                medicationobj.med_dosage_text = data[p]["Medications"][meds][
                    "dosage_text"]
                medicationobj.med_dosage_units = data[p]["Medications"][meds][
                    "dosage_units"]
                medicationobj.med_date_written = data[p]["Medications"][meds][
                    "date_written"]
                medicationobj.med_code_system = data[p]["Medications"][meds][
                    "code_system"]

                medicationobj.medications_for_patients = patientobj  # how to use related object

                medicationobj.save()

        all_observations = data[p]["Observations"].keys()
        for obs in all_observations:
            observationobj = Observation()
            observationobj.obs_name = data[p]["Observations"][obs]["name"]
            observationobj.obs_code = data[p]["Observations"][obs]["code"]
            observationobj.obs_desc = data[p]["Observations"][obs]["text"]

            check_existance_of_value = data[p]["Observations"][obs].keys()
            if "value" in check_existance_of_value:
                observationobj.obs_value = data[p]["Observations"][obs][
                    "value"]
            else:
                observationobj.obs_value = 0.0

            if "units" in check_existance_of_value:
                observationobj.obs_units = data[p]["Observations"][obs][
                    "units"]
            else:
                observationobj.obs_units = "NULL"

            observationobj.obs_date = data[p]["Observations"][obs]["date_time"]

            observationobj.obs_for_patients = patientobj  # how to use related object

            observationobj.save()

    return HttpResponse()
    '''