def BerkeleyDB(bat): if bat.build: tools.extract('bdb') bat.command('cd bdb\\build_windows') # building the .NET solution also builds native DLLs bat.devenv('BDB_dotNet_vs2010.sln') else: bat.validate_devenv() bat.include('bdb\\build_windows\\*.h') bat.bin('bdb\\build_windows\\AnyCPU\\{0}\\*.dll'.format(bat.config)) bat.bin('bdb\\build_windows\\win32\\{0}\\*.dll'.format(bat.config), 'bdb\\build_windows\\x64\\{0}\\*.dll'.format(bat.config)) bat.lib('bdb\\build_windows\\win32\\{0}\\*.lib'.format(bat.config), 'bdb\\build_windows\\x64\\{0}\\*.lib'.format(bat.config))
def Boost(bat): def param(config, platform): p = ' --hash --without-mpi toolset=msvc-{0}'.format(setup.VC_VERSION) p += ' -sICU_PATH={0}\\{1}'.format(setup.INSTALL, platform) p += ' -sZLIB_SOURCE={0}\\zlib'.format(os.getcwd()) p += ' variant={0} link=static runtime-link=static runtime-link=shared threading=multi'.format(config) p += ' --prefix={0}\\{1}'.format(setup.INSTALL, platform) p += ' address-model={0}'.format(64 if platform=='x64' else 32) return p if bat.build: tools.extract('boost') tools.extract('zlib') bat.command('cd boost') bat.command('b2 -a {0} install'.format(param(bat.config, bat.platform)))
def FreeType(bat): if bat.build: tools.extract('freetype') # add missing x64 support bat.command('copy /y archives\\freetype-project\\* freetype\\builds\\win32\\vc2010') bat.command('cd freetype\\builds\\win32\\vc2010') bat.devenv('freetype.sln') else: bat.validate_devenv() bat.command('pushd freetype\\objs\\win32\\vc2010') if bat.config == 'release': bat.command('copy /y freetype246.lib freetype.lib') bat.command('del freetype246.lib') else: bat.command('copy /y freetype246_d.lib freetyped.lib') bat.command('del freetype246_d.lib') bat.command('popd') bat.include('freetype\\include') bat.lib('freetype\\objs\\win32\\vc2010\\*.lib')
def get(self, request, modelName, id): context = request.session session_id = context['IndexInput']['id'] _model = self.class_map[modelName][0] item = _model.objects.get(session_id=session_id,id=id) if 's' in request.GET: exclude = self.class_map[modelName][1] _form = modelform_factory(_model,exclude=exclude) form = _form(instance=item) return render(request, 'updateItem.html', { 'modelName':modelName, 'form':form, 'status': 0 }) else: return JsonResponse(extract(item))
def addText(): ''' 获取text框中的文本,方便进行检索 ''' text = t.get('0.0', 'end') info_dict = tools.extract(text, item_list) # 抽取信息 t.delete('0.0', 'end') text = lb.get(lb.curselection()) text = re.sub(re.compile(r'#.*#: '), '', text) text = tools.fullfill(text, info_dict) # 自动填充文本 text = re.sub(re.compile(r'<e>.*<e>'), '__', text) # text = text.replace('<e>.*<e>', '____') t.insert('end', text) # 获取当前选中的文本
def get(self, request, modelName, id): context = request.session session_id = context['IndexInput']['id'] _model = self.class_map[modelName][0] item = _model.objects.get(session_id=session_id, id=id) if 's' in request.GET: exclude = self.class_map[modelName][1] _form = modelform_factory(_model, exclude=exclude) form = _form(instance=item) return render(request, 'updateItem.html', { 'modelName': modelName, 'form': form, 'status': 0 }) else: return JsonResponse(extract(item))
def drawColorbar(self): """ Draw the vertically-oriented colorbar. * Not many customizable options here because the colorbar is a 'plt' object * and the options are applied to attributes. * User needs to modify or extend this function. """ cbar = plt.colorbar() try: cbar.ax.set_ylabel(self.colorbar["title"]) except KeyError: print " WARNING : Key 'title' not specified for colorbar." print " : Leaving colorbar title blank. " # Modify tick labels axis_ticklabels = [i.get_text() for i in cbar.ax.get_yticklabels()] if self.logplot['data']: for i,atl in enumerate(axis_ticklabels): if not "10^{" in atl: continue atl = atl.strip("$") power = r"10$^{\text{%s}}$"%tools.extract(atl) tmp = atl.split("\\times") if len(tmp)>1: axis_ticklabels[i] = tmp[0]+r"$\times$"+power else: axis_ticklabels[i] = power else: axis_ticklabels = [i.strip("$") for i in axis_ticklabels] cbar_fsize = int(mpl.rcParams['axes.labelsize']*0.75) cbar.ax.set_yticklabels(axis_ticklabels, fontsize=cbar_fsize) # Modify tick sizes for tick in ['major','minor']: length = self.colorbar.get("ytick.{0}.size".format(tick),0) cbar.ax.yaxis.set_tick_params(which=tick,length=length) return
first_loop = False instruciones2 = copy.deepcopy(instruciones) except: item = "fail" print('First load of loopload fail') if ins >= 1: instruciones["instruciones"].pop(0) if instruciones["instruciones"][0]["operation_type"] == "load": #webContent = tools.split_and_load(instruciones["instruciones"][0]["pagina"]) webContent = tools.split_and_load1(instruciones["instruciones"][0]) link = instruciones["instruciones"][0]["pagina"] if instruciones["instruciones"][0]["operation_type"] == "extract": resultadosdict[ instruciones["instruciones"][0]["save_var"]] = tools.extract( instruciones["instruciones"][0]["tag"], instruciones["instruciones"][0]["regex"], instruciones["instruciones"][0]["type"], link, webContent) # Da error porque sigue en la misma instrucion. if instruciones["instruciones"][0][ "operation_type"] == "loopload": #El nombre de la variable, por cada loop debe ser distinto linklist = tools2.loopload(instruciones["instruciones"][0]["tag"], webContent, link) first_loop = True if instruciones["instruciones"][0]["operation_type"] == "end": try: print("Iteracion :" + str(iter)) instruciones = copy.deepcopy(instruciones2) resultados.append(resultadosdict) resultadosdict = {} webContent = tools.split_and_load(linklist[iter]) iter += 1
def extract_source_code(self): """ Find and extract source tarball for the component. """ # We look for a tar file pattern = "{n}*.tar.*".format(n=self.component_data_dict["package_name"]) # Use 'package_version' in pattern if it is not None if self.component_data_dict["version"] is not None: pattern = "{n}*{v}*.tar.*".format(n=self.component_data_dict["package_name"], v=self.component_data_dict["version"]) source_code_filename = tools.find_file(self.component_data_dict["sources_directory"], pattern) # Try a second run if 'source_code_filename' is None using only name as pattern. if source_code_filename is None: pattern = "{n}*.tar.*".format(n=self.component_data_dict["package_name"]) source_code_filename = tools.find_file(self.component_data_dict["sources_directory"], pattern) # Try to find a zip file in case the tar file was not found if source_code_filename is None: pattern = "{n}*.zip*".format(n=self.component_data_dict["package_name"]) # Use 'package_version' in pattern if it is not None if self.component_data_dict["version"] is not None: pattern = "{n}*{v}*.zip*".format(n=self.component_data_dict["package_name"], v=self.component_data_dict["version"]) source_code_filename = tools.find_file(self.component_data_dict["sources_directory"], pattern) # Try a second run if 'source_code_filename' is None using only name as pattern. if source_code_filename is None: pattern = "{n}*.zip*".format(n=self.component_data_dict["package_name"]) source_code_filename = tools.find_file( self.component_data_dict["sources_directory"], pattern ) # Give error if None if source_code_filename is None: msg = "Can't find source code file for '{n}' with pattern: '{p}'" msg = msg.format(n=self.component_data_dict["name"], p=pattern) printer.error(msg) # Extract tools.extract(source_code_filename) # We get the name of the extracted directory pattern = "{n}*".format(n=self.component_data_dict["package_name"]) # Use 'package_version' in pattern if it is not None if self.component_data_dict["version"] is not None: pattern = "{n}*{v}*".format(n=self.component_data_dict["package_name"], v=self.component_data_dict["version"]) # Find directory using pattern self.component_data_dict["extracted_directory"] = tools.find_directory( self.component_data_dict["sources_directory"], pattern) # Try a second run if 'extracted_directory' is None using only name as pattern. # If found, get the realpath if self.component_data_dict["extracted_directory"] is None: pattern = "{n}*".format(n=self.component_data_dict["package_name"]) self.component_data_dict["extracted_directory"] = tools.find_directory( self.component_data_dict["sources_directory"], pattern ) else: self.component_data_dict["extracted_directory"] = os.path.realpath( self.component_data_dict["extracted_directory"] ) # Fail if not found 'extracted_directroy' if self.component_data_dict["extracted_directory"] is None: msg = "Can't find extracted directory for '{n}' with pattern: '{p}'" msg = msg.format(n=self.component_data_dict["name"], p=pattern) printer.error(msg) # Generate build_dir if necessary. if self.component_data_dict["require_build_dir"] is True: # Generate and save 'build_directory' path value = os.path.realpath( os.path.join( self.component_data_dict["extracted_directory"], self.build_directory_name ) ) tools.add_to_dictionary(self.component_data_dict, "build_directory_path", value, concat=False) # Create directory tools.create_directory(self.component_data_dict["build_directory_path"]) else: # If not, build component into the extracted directory tools.add_to_dictionary(self.component_data_dict, "build_directory_path", self.component_data_dict["extracted_directory"], concat=False) # Set directory owner if we are building the 'toolchain' if self.component_data_dict["builder_name"] == "toolchain": tools.set_recursive_owner_and_group(self.component_data_dict["extracted_directory"], self.component_data_dict["run_as_username"])
def build_reader(): reader = root.TMVA.Reader("reader") var_mJJ = array('f',[0]) var_deltaYJJ = array('f',[0]) var_metPt = array('f',[0]) var_ptBalance = array('f',[0]) var_subleadJetEta = array('f',[0]) var_leadJetPt = array('f',[0]) var_photonEta = array('f',[0]) var_ptBalanceRed = array('f',[0]) var_nJets = array('f',[0]) var_sinDeltaPhiJJOver2 = array('f',[0]) var_deltaYJPh = array('f',[0]) reader.AddVariable("mJJ", var_mJJ) reader.AddVariable("deltaYJJ", var_deltaYJJ) reader.AddVariable("metPt", var_metPt) reader.AddVariable("ptBalance", var_ptBalance) reader.AddVariable("subleadJetEta", var_subleadJetEta) reader.AddVariable("leadJetPt", var_leadJetPt) reader.AddVariable("photonEta", var_photonEta) reader.AddVariable("ptBalanceRed", var_ptBalanceRed) reader.AddVariable("nJets", var_nJets) reader.AddVariable("sinDeltaPhiJJOver2",var_sinDeltaPhiJJOver2) reader.AddVariable("deltaYJPh", var_deltaYJPh) reader.BookMVA("MLP", "dataloader/weights/TMVAClassification_MLP.weights.xml") SDataframe, BDataframe = extract() SDataframe["BDToutput"] = 0.0 BDataframe["BDToutput"] = 0.0 output = [] for i, row in SDataframe.iterrows(): var_mJJ[0] = row["mJJ"] var_deltaYJJ[0] = row["deltaYJJ"] var_metPt[0] = row["metPt"] var_ptBalance[0] = row["ptBalance"] var_subleadJetEta[0] = row["subleadJetEta"] var_leadJetPt[0] = row["leadJetPt"] var_photonEta[0] = row["photonEta"] var_ptBalanceRed[0] = row["ptBalanceRed"] var_nJets[0] = row["nJets"] var_sinDeltaPhiJJOver2[0] = row["sinDeltaPhiJJOver2"] var_deltaYJPh[0] = row["deltaYJPh"] output.append(reader.EvaluateMVA("MLP")) SDataframe["BDToutput"] = output output = [] for i, row in BDataframe.iterrows(): var_mJJ[0] = row["mJJ"] var_deltaYJJ[0] = row["deltaYJJ"] var_metPt[0] = row["metPt"] var_ptBalance[0] = row["ptBalance"] var_subleadJetEta[0] = row["subleadJetEta"] var_leadJetPt[0] = row["leadJetPt"] var_photonEta[0] = row["photonEta"] var_ptBalanceRed[0] = row["ptBalanceRed"] var_nJets[0] = row["nJets"] var_sinDeltaPhiJJOver2[0] = row["sinDeltaPhiJJOver2"] var_deltaYJPh[0] = row["deltaYJPh"] output.append(reader.EvaluateMVA("MLP")) BDataframe["BDToutput"] = output print("После отборов классификатора") print(sum(SDataframe[SDataframe["BDToutput"] > 0.682]["weightModified"])) print(sum(BDataframe[BDataframe["BDToutput"] > 0.682]["weightModified"])) print("Фиксированные") df = SDataframe[SDataframe["phCentrality"] < 0.455] df = df[df["mJJ"] > 697] df = df[df["ptBalance"] < 0.064] df = df[df["deltaYJJ"] > 2.227] print(sum(df["weightModified"])) df = BDataframe[BDataframe["phCentrality"] < 0.455] df = df[df["mJJ"] > 697] df = df[df["ptBalance"] < 0.064] df = df[df["deltaYJJ"] > 2.227] print(sum(df["weightModified"])) # import matplotlib.pyplot as plt # fig, ax = plt.subplots() # ax.hist(SDataframe["BDToutput"], weights=SDataframe["weightModified"], bins=50, color="blue", alpha=0.5, label="signal") # ax.hist(BDataframe["BDToutput"], weights=BDataframe["weightModified"], bins=50, color="red", alpha=0.5, label="background") # ax.legend() # ax.set_xlabel("BDToutput") # ax.set_ylabel("N of events") # plt.show() # canvas = root.TCanvas("canvas", "CANVAS", 1920, 1080) SHist = root.TH1F("", "", 50, 0, 1) BHist = root.TH1F("", "", 50, 0, 1) BHist.SetStats(False) SHist.SetStats(False) BHist.SetLineWidth(2) BHist.SetLineColor(2) BHist.SetFillColor(2) BHist.SetFillStyle(3004) BHist.GetXaxis().CenterTitle() BHist.GetYaxis().SetTitle("Fraction of events") BHist.GetYaxis().CenterTitle() BHist.GetXaxis().SetTitleOffset(1.2) BHist.SetMinimum(0) SHist.SetLineWidth(2) SHist.SetLineColor(4) SHist.SetFillColorAlpha(4, 0.2) SHist.GetXaxis().CenterTitle() SHist.GetYaxis().SetTitle("Fraction of events") SHist.GetYaxis().CenterTitle() SHist.GetXaxis().SetTitleOffset(1.2) SHist.SetMinimum(0) for out, weight in zip(SDataframe["BDToutput"], SDataframe["weightModified"]): SHist.Fill(out, weight) for out, weight in zip(BDataframe["BDToutput"], BDataframe["weightModified"]): BHist.Fill(out, weight) aplt.set_atlas_style() fig, ax = aplt.subplots(1, 1, name="fig1", figsize=(800, 600)) ##################################### ax.plot(SHist, "E1") ax.plot(BHist, "E1") ###################################### ax.add_margins(top=0.16) ax.set_xlabel("MLP classifier response") ax.set_ylabel("Fraction of events") # aplt.atlas_label(text="Internal", loc="upper left") ax.text(0.2, 0.92, "#sqrt{s} = 13 TeV, 139 fb^{-1}", size=27, align=13) # ax.text(0.205, 0.865, "Z_{#gamma} inc. region", size=27, align=13) legend = root.TLegend(0.65, 0.8, 0.95, 0.92) legend.SetFillColorAlpha(0, 0) legend.AddEntry(SHist, "Signal", "F") legend.AddEntry(BHist, "Background", "F") legend.Draw() # fig.savefig("histogramms/{}.pdf".format("BDToutput")) # input() return make_selections(SDataframe, BDataframe)
def build_reader(model_id): reader = root.TMVA.Reader("reader") var_mJJ = array('f', [0]) var_deltaYJJ = array('f', [0]) var_metPt = array('f', [0]) var_ptBalance = array('f', [0]) var_subleadJetEta = array('f', [0]) var_leadJetPt = array('f', [0]) var_photonEta = array('f', [0]) var_ptBalanceRed = array('f', [0]) var_nJets = array('f', [0]) var_sinDeltaPhiJJOver2 = array('f', [0]) var_deltaYJPh = array('f', [0]) reader.AddVariable("mJJ", var_mJJ) reader.AddVariable("deltaYJJ", var_deltaYJJ) reader.AddVariable("metPt", var_metPt) reader.AddVariable("ptBalance", var_ptBalance) reader.AddVariable("subleadJetEta", var_subleadJetEta) reader.AddVariable("leadJetPt", var_leadJetPt) reader.AddVariable("photonEta", var_photonEta) reader.AddVariable("ptBalanceRed", var_ptBalanceRed) reader.AddVariable("nJets", var_nJets) reader.AddVariable("sinDeltaPhiJJOver2", var_sinDeltaPhiJJOver2) reader.AddVariable("deltaYJPh", var_deltaYJPh) reader.BookMVA( "MLP", f"dataloader/weights/TMVAClassification_MLP{model_id}.weights.xml") SDataframe, BDataframe = extract() SDataframe["BDToutput"] = 0.0 BDataframe["BDToutput"] = 0.0 print("Веса до применения классификатора:") print(np.sum(SDataframe["weightModified"])) print(np.sum(BDataframe["weightModified"])) output = [] for i, row in SDataframe.iterrows(): var_mJJ[0] = row["mJJ"] var_deltaYJJ[0] = row["deltaYJJ"] var_metPt[0] = row["metPt"] var_ptBalance[0] = row["ptBalance"] var_subleadJetEta[0] = row["subleadJetEta"] var_leadJetPt[0] = row["leadJetPt"] var_photonEta[0] = row["photonEta"] var_ptBalanceRed[0] = row["ptBalanceRed"] var_nJets[0] = row["nJets"] var_sinDeltaPhiJJOver2[0] = row["sinDeltaPhiJJOver2"] var_deltaYJPh[0] = row["deltaYJPh"] output.append(reader.EvaluateMVA("MLP")) SDataframe["BDToutput"] = output output = [] for i, row in BDataframe.iterrows(): var_mJJ[0] = row["mJJ"] var_deltaYJJ[0] = row["deltaYJJ"] var_metPt[0] = row["metPt"] var_ptBalance[0] = row["ptBalance"] var_subleadJetEta[0] = row["subleadJetEta"] var_leadJetPt[0] = row["leadJetPt"] var_photonEta[0] = row["photonEta"] var_ptBalanceRed[0] = row["ptBalanceRed"] var_nJets[0] = row["nJets"] var_sinDeltaPhiJJOver2[0] = row["sinDeltaPhiJJOver2"] var_deltaYJPh[0] = row["deltaYJPh"] output.append(reader.EvaluateMVA("MLP")) BDataframe["BDToutput"] = output SHist = root.TH1F("", "", 50, 0, 1) BHist = root.TH1F("", "", 50, 0, 1) BHist.SetStats(False) SHist.SetStats(False) BHist.SetLineWidth(2) BHist.SetLineColor(2) BHist.SetFillColor(2) BHist.SetFillStyle(3004) BHist.GetXaxis().CenterTitle() BHist.GetYaxis().SetTitle("Fraction of events") BHist.GetYaxis().CenterTitle() BHist.GetXaxis().SetTitleOffset(1.2) BHist.SetMinimum(0) SHist.SetLineWidth(2) SHist.SetLineColor(4) SHist.SetFillColorAlpha(4, 0.2) SHist.GetXaxis().CenterTitle() SHist.GetYaxis().SetTitle("Fraction of events") SHist.GetYaxis().CenterTitle() SHist.GetXaxis().SetTitleOffset(1.2) SHist.SetMinimum(0) for out, weight in zip(SDataframe["BDToutput"], SDataframe["weightModified"]): SHist.Fill(out, weight) for out, weight in zip(BDataframe["BDToutput"], BDataframe["weightModified"]): BHist.Fill(out, weight) aplt.set_atlas_style() fig, ax = aplt.subplots(1, 1, name="fig1", figsize=(800, 600)) ##################################### ax.plot(SHist, "E1") ax.plot(BHist, "E1") ###################################### ax.add_margins(top=0.16) # ax.add_margins(top=0.2) ax.set_xlabel(f"MLP{model_id} classifier response") ax.set_ylabel("Fraction of events") ax.text(0.2, 0.92, "#sqrt{s} = 13 TeV, 139 fb^{-1}", size=27, align=13) legend = root.TLegend(0.65, 0.8, 0.95, 0.92) legend.SetFillColorAlpha(0, 0) legend.AddEntry(SHist, "Signal", "F") legend.AddEntry(BHist, "Background", "F") legend.Draw() fig.savefig(f"MLP{model_id}output.pdf") # input() return make_selections(SDataframe, BDataframe)
def post(self, request, *args, **kwargs): #all saved to session context = request.session #process inputs from inputMain #process gwOpt and swsOpt indexInput = IndexInput.objects.get(id=context['IndexInput']['id']) if request.POST['gwOpt'] != 'on' or request.POST['swsOpt'] != 'on': if request.POST['gwOpt'] != 'on': indexInput.gwOpt = False if request.POST['swsOpt'] != 'on': indexInput.swsOpt = False indexInput.save() #process WatershedLandUse context['WatershedLandUse'] = {} for watershd_id in context['rangeWSD']: if not WatershedLandUse.objects.filter( session_id=indexInput.id, watershd_id=watershd_id).exists(): watershedLandUse = WatershedLandUse(session_id=indexInput.id, watershd_id=watershd_id) else: watershedLandUse = WatershedLandUse.objects.get( session_id=indexInput.id, watershd_id=watershd_id) watershedLandUse.HSG = request.POST['HSG_' + twonum(watershd_id)] watershedLandUse.FeedlotPercentPaved = request.POST[ 'PctFeedlot_' + twonum(watershd_id)] watershedLandUse.Total = request.POST['TAreaWSD_' + twonum(watershd_id)] for i in range(1, 7): setattr( watershedLandUse, WatershedLandUse_index_map[i], request.POST['LuseAreaWSD_' + str(i) + twonum(watershd_id)]) watershedLandUse.save() #prepare data for rendering template context['WatershedLandUse'][watershd_id] = extract( watershedLandUse) #process AgriAnimal for watershd_id in context['rangeWSD']: if not AgriAnimal.objects.filter(session_id=indexInput.id, watershd_id=watershd_id).exists(): agriAnimal = AgriAnimal(session_id=indexInput.id, watershd_id=watershd_id) else: agriAnimal = AgriAnimal.objects.get(session_id=indexInput.id, watershd_id=watershd_id) agriAnimal.numMonthsManureApplied = request.POST[ 'NumMonManure_' + twonum(watershd_id)] for i in range(1, 9): setattr( agriAnimal, AgriAnimal_index_map[i], request.POST['Animals_' + str(i) + twonum(watershd_id)]) agriAnimal.save() #process SepticNillegal for watershd_id in context['rangeWSD']: if not SepticNillegal.objects.filter( session_id=indexInput.id, watershd_id=watershd_id).exists(): septicNillegal = SepticNillegal(session_id=indexInput.id, watershd_id=watershd_id) else: septicNillegal = SepticNillegal.objects.get( session_id=indexInput.id, watershd_id=watershd_id) septicNillegal.numSepticSystems = request.POST['NumSpSys_' + twonum(watershd_id)] septicNillegal.PopulationPerSeptic = request.POST[ 'PpSpSys_' + twonum(watershd_id)] septicNillegal.SepticFailureRate_Percent = request.POST[ 'SpFailRate_' + twonum(watershd_id)] septicNillegal.Wastewater_Direct_Discharge_numPeople = request.POST[ 'NumPpDrtDc_' + twonum(watershd_id)] septicNillegal.Direct_Discharge_Reduction_Percent = request.POST[ 'RdcDrtDc_' + twonum(watershd_id)] septicNillegal.save() #process UniversalSoilLossEquation for watershd_id in context['rangeWSD']: if not UniversalSoilLossEquation.objects.filter( session_id=indexInput.id, watershd_id=watershd_id).exists(): ele = UniversalSoilLossEquation(session_id=indexInput.id, watershd_id=watershd_id) else: ele = UniversalSoilLossEquation.objects.get( session_id=indexInput.id, watershd_id=watershd_id) for i in range(1, 6): setattr( ele, "Cropland_" + UniversalSoilLossEquation_index_map[i], request.POST['usleCropland_' + str(i) + twonum(watershd_id)]) for i in range(1, 6): setattr( ele, "Pastureland_" + UniversalSoilLossEquation_index_map[i], request.POST['uslePasture_' + str(i) + twonum(watershd_id)]) for i in range(1, 6): setattr( ele, "Forest_" + UniversalSoilLossEquation_index_map[i], request.POST['usleForest_' + str(i) + twonum(watershd_id)]) for i in range(1, 6): setattr( ele, "UserDefined_" + UniversalSoilLossEquation_index_map[i], request.POST['usleUser_' + str(i) + twonum(watershd_id)]) ele.save() #load LanduseDistribution context['LanduseDistributionInput'] = list2dictWthKey( 'watershd_id', LanduseDistributionInput.objects.filter( session_id=indexInput.id).values()) return render(request, 'bmpMain.html', { 'ctx': context, 'req': request })
def bjam(bat): if bat.build: tools.extract('boost') bat.command('cd boost') bat.command('bootstrap.bat >bjam.log')
def post(self, request, *args, **kwargs): #all saved to session context = request.session #process inputs from inputMain #process gwOpt and swsOpt indexInput = IndexInput.objects.get(id=context['IndexInput']['id']) if request.POST['gwOpt']!='on' or request.POST['swsOpt']!='on': if request.POST['gwOpt']!='on': indexInput.gwOpt=False if request.POST['swsOpt']!='on': indexInput.swsOpt=False indexInput.save() #process WatershedLandUse context['WatershedLandUse'] = {} for watershd_id in context['rangeWSD'] : if not WatershedLandUse.objects.filter(session_id=indexInput.id, watershd_id=watershd_id).exists(): watershedLandUse = WatershedLandUse( session_id=indexInput.id, watershd_id=watershd_id ) else: watershedLandUse = WatershedLandUse.objects.get(session_id=indexInput.id, watershd_id=watershd_id) watershedLandUse.HSG = request.POST['HSG_' + twonum(watershd_id)] watershedLandUse.FeedlotPercentPaved = request.POST['PctFeedlot_' + twonum(watershd_id)] watershedLandUse.Total = request.POST['TAreaWSD_' + twonum(watershd_id)] for i in range(1,7): setattr( watershedLandUse,WatershedLandUse_index_map[i],request.POST['LuseAreaWSD_'+str(i)+twonum(watershd_id)] ) watershedLandUse.save() #prepare data for rendering template context['WatershedLandUse'][watershd_id] = extract(watershedLandUse) #process AgriAnimal for watershd_id in context['rangeWSD'] : if not AgriAnimal.objects.filter(session_id=indexInput.id, watershd_id=watershd_id).exists(): agriAnimal = AgriAnimal( session_id=indexInput.id, watershd_id=watershd_id ) else: agriAnimal = AgriAnimal.objects.get(session_id=indexInput.id, watershd_id=watershd_id) agriAnimal.numMonthsManureApplied = request.POST['NumMonManure_' + twonum(watershd_id)] for i in range(1,9): setattr( agriAnimal,AgriAnimal_index_map[i],request.POST['Animals_'+str(i)+twonum(watershd_id)] ) agriAnimal.save() #process SepticNillegal for watershd_id in context['rangeWSD'] : if not SepticNillegal.objects.filter(session_id=indexInput.id, watershd_id=watershd_id).exists(): septicNillegal = SepticNillegal( session_id=indexInput.id, watershd_id=watershd_id ) else: septicNillegal = SepticNillegal.objects.get(session_id=indexInput.id, watershd_id=watershd_id) septicNillegal.numSepticSystems = request.POST['NumSpSys_' + twonum(watershd_id)] septicNillegal.PopulationPerSeptic = request.POST['PpSpSys_' + twonum(watershd_id)] septicNillegal.SepticFailureRate_Percent = request.POST['SpFailRate_' + twonum(watershd_id)] septicNillegal.Wastewater_Direct_Discharge_numPeople = request.POST['NumPpDrtDc_' + twonum(watershd_id)] septicNillegal.Direct_Discharge_Reduction_Percent = request.POST['RdcDrtDc_' + twonum(watershd_id)] septicNillegal.save() #process UniversalSoilLossEquation for watershd_id in context['rangeWSD'] : if not UniversalSoilLossEquation.objects.filter(session_id=indexInput.id, watershd_id=watershd_id).exists(): ele = UniversalSoilLossEquation( session_id=indexInput.id, watershd_id=watershd_id ) else: ele = UniversalSoilLossEquation.objects.get(session_id=indexInput.id, watershd_id=watershd_id) for i in range(1,6): setattr( ele,"Cropland_"+UniversalSoilLossEquation_index_map[i],request.POST['usleCropland_'+str(i)+twonum(watershd_id)] ) for i in range(1,6): setattr( ele,"Pastureland_"+UniversalSoilLossEquation_index_map[i],request.POST['uslePasture_'+str(i)+twonum(watershd_id)] ) for i in range(1,6): setattr( ele,"Forest_"+UniversalSoilLossEquation_index_map[i],request.POST['usleForest_'+str(i)+twonum(watershd_id)] ) for i in range(1,6): setattr( ele,"UserDefined_"+UniversalSoilLossEquation_index_map[i],request.POST['usleUser_'+str(i)+twonum(watershd_id)] ) ele.save() #load LanduseDistribution context['LanduseDistributionInput'] = list2dictWthKey('watershd_id',LanduseDistributionInput.objects.filter(session_id=indexInput.id).values()) return render(request, 'bmpMain.html', { 'ctx':context, 'req' : request })