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())
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
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)
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()
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() '''