def handler_calculate_wares(environ, suffix=None): from x_rebirth_station_calculator import station_data from x_rebirth_station_calculator.web.translations import LOCALE_LIST from x_rebirth_station_calculator.station_data.station_base import Station from collections import namedtuple import urllib import re if environ['REQUEST_METHOD'] != 'GET': return handler_404(environ) language = environ.get('LANGUAGE', 'L044') if not language: language = 'L044' locale.setlocale(locale.LC_ALL, LOCALE_LIST[language]) stations_dict = dict() StationInfo = namedtuple('StationInfo', ['station', 'count']) params = urllib.parse.parse_qs(environ.get('QUERY_STRING')) for key in sorted(params.keys()): match_obj = re.match(r'station-([0-9]+)', key) if match_obj: index = int(match_obj.group(1)) if not stations_dict.get(index): stations_dict[index] = dict() stations_dict[index]['station'] = getattr(station_data, params[key][0]) match_obj = re.match(r'c-station-([0-9]+)', key) if match_obj: index = int(match_obj.group(1)) if not stations_dict.get(index): stations_dict[index] = dict() stations_dict[index]['count'] = int(params[key][0]) stations = list() for _, st_dict in stations_dict.items(): if 'station' in st_dict: stations.append( StationInfo(station=st_dict['station'], count=st_dict['count'])) wares = Station.get_ware_production_info(stations, language) status = '200 OK' template = _load_template('wares.html') response_body = _render_template(template, wares=wares, language=language, translations=LANGLIST[language], formatter=formatter(language)) response_headers = [ ('Content-Type', 'text/html; charset=UTF-8'), ] return status, response_headers, response_body
def handler_calculate_wares(environ, suffix=None): from x_rebirth_station_calculator import station_data from x_rebirth_station_calculator.web.translations import LOCALE_LIST from x_rebirth_station_calculator.station_data.station_base import Station from collections import namedtuple import urllib import re if environ['REQUEST_METHOD'] != 'GET': return handler_404(environ) language = environ.get('LANGUAGE', 'L044') if not language: language = 'L044' locale.setlocale(locale.LC_ALL, LOCALE_LIST[language]) stations_dict = dict() StationInfo = namedtuple('StationInfo', ['station', 'count']) params = urllib.parse.parse_qs(environ.get('QUERY_STRING')) for key in sorted(params.keys()): match_obj = re.match(r'station-([0-9]+)', key) if match_obj: index = int(match_obj.group(1)) if not stations_dict.get(index): stations_dict[index] = dict() stations_dict[index]['station'] = getattr(station_data, params[key][0]) match_obj = re.match(r'c-station-([0-9]+)', key) if match_obj: index = int(match_obj.group(1)) if not stations_dict.get(index): stations_dict[index] = dict() stations_dict[index]['count'] = int(params[key][0]) stations = list() for _, st_dict in stations_dict.items(): if 'station' in st_dict: stations.append(StationInfo(station=st_dict['station'], count=st_dict['count'])) wares = Station.get_ware_production_info(stations, language) status = '200 OK' template = _load_template('wares.html') response_body = _render_template(template, wares=wares, language=language, translations=LANGLIST[language], formatter=formatter(language)) response_headers = [ ('Content-Type', 'text/html; charset=UTF-8'), ] return status, response_headers, response_body
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Metalworks Yard', 'L049': 'Metallgießerei'} smodules = [ modules.SteelRefinery(production_method='al', efficiency=152), modules.SteelRefinery(production_method='al', efficiency=144), modules.SteelRefinery(production_method='al', efficiency=144), modules.WaferPlant(production_method='al', efficiency=149), modules.WaferPlant(production_method='al', efficiency=141), modules.WaferPlant(production_method='al', efficiency=141) ] AL_MetalworksYard = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'URV Parts Supply', 'L049': 'URV-Teilezulieferer'} smodules = [ modules.URVWharf(production_method='al', efficiency=128), modules.ChipFab(production_method='al', efficiency=152), modules.BioOpticsFac(production_method='al', efficiency=157), modules.FusionCoreFac(production_method='al', efficiency=152), modules.PlasmaTech(production_method='al', efficiency=153), modules.PodkletnovFab(production_method='al', efficiency=153), modules.ScannArFacility(production_method='al', efficiency=156) ] AL_URVPartsSupply = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Integrative URV Forge', 'L049': 'Integrative URV-Montage'} smodules = [modules.SteelRefinery(production_method='al', efficiency=157), modules.SteelRefinery(production_method='al', efficiency=150), modules.WaferPlant(production_method='al', efficiency=144), modules.WaferPlant(production_method='al', efficiency=150), modules.URVWharf(production_method='dv', efficiency=111), modules.URVWharf(production_method='dv', efficiency=109)] DV_IntegrativeURVForge = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Arms Tech Fab', 'L049': 'Waffen-Tech Fab'} smodules = [modules.PlateFoundry(production_method='al', efficiency=134), modules.ScannArFacility(production_method='al', efficiency=134), modules.WarheadForge(production_method='al', efficiency=152), modules.MissileForge(production_method='al', efficiency=152), modules.TurretForge(production_method='al', efficiency=134), modules.ShieldFacility(production_method='al', efficiency=131)] AL_ArmsTechFab = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Argnu Stockyard', 'L049': 'Argnu-Zuchtplantagen'} smodules = [ modules.ArgnuParadise(production_method='al', efficiency=147), modules.ArgnuParadise(production_method='al', efficiency=146), modules.ArgnuParadise(production_method='al', efficiency=144), modules.ArgnuParadise(production_method='al', efficiency=146) ] AL_ArgnuStockyard = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Cell Recharge Fac (AL)', 'L049': 'Zellenladeanlage (AL)'} smodules = [modules.FuelCellMill(production_method='al', efficiency=193), modules.FuelCellMill(production_method='al', efficiency=193), modules.FuelCellMill(production_method='al', efficiency=193), modules.FuelCellMill(production_method='al', efficiency=193)] AL_CellRechargeFac = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Licensed Distillery', 'L049': 'Lizensierte Destille'} smodules = [ modules.LiquorStill(production_method='ar', efficiency=179), modules.LiquorStill(production_method='ar', efficiency=179), modules.LiquorStill(production_method='ar', efficiency=179), modules.LiquorStill(production_method='ar', efficiency=179), modules.LiquorStill(production_method='ar', efficiency=179), modules.LiquorStill(production_method='ar', efficiency=179), modules.LiquorStill(production_method='ar', efficiency=179), modules.LiquorStill(production_method='ar', efficiency=179) ] OL_LicensedDistillery = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'TechnoCore Parts', 'L049': 'TechnoCore-Teile'} smodules = [ modules.GelFactory(production_method='ar', efficiency=162), modules.GelFactory(production_method='ar', efficiency=164), modules.EMFacTower(production_method='ar', efficiency=164), modules.EMFacTower(production_method='ar', efficiency=164), modules.PPPPlant(production_method='ar', efficiency=164), modules.PPPPlant(production_method='ar', efficiency=164) ] OL_TechnoCoreParts = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Pharma-Spice Farm', 'L049': 'Heilpflanzenplantage'} smodules = [modules.SpiceTubes(efficiency=166), modules.SpiceTubes(efficiency=163), modules.SpiceTubes(efficiency=163), modules.HerbGarden(efficiency=167), modules.HerbGarden(efficiency=167), modules.HerbGarden(efficiency=167)] OL_PharmaSpiceFarm = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Crystal Supplier', 'L049': 'Kristall-Zulieferer'} smodules = [ modules.CrystalCuttery(production_method='al', efficiency=145), modules.CrystalCuttery(production_method='al', efficiency=141), modules.CrystalCuttery(production_method='al', efficiency=141), modules.CubePlant(production_method='al', efficiency=141), modules.CubePlant(production_method='al', efficiency=141), modules.CubePlant(production_method='al', efficiency=141) ] AL_CrystalSupplier = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'BoFu Star Complex', 'L049': 'BoFu-Sternenplex'} smodules = [ modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158), modules.BoFuKitchen(production_method='ar', efficiency=158) ] OL_BoFuStarComplex = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Energy Array', 'L049': 'Energiematrix'} smodules = [ modules.ECellFab(production_method='al', efficiency=142), modules.ECellFab(production_method='al', efficiency=142), modules.ECellFab(production_method='al', efficiency=142), modules.ECellFab(production_method='al', efficiency=142), modules.ECellFab(production_method='al', efficiency=142), modules.ECellFab(production_method='al', efficiency=142), modules.ECellFab(production_method='al', efficiency=142), modules.ECellFab(production_method='al', efficiency=142) ] AL_EnergyArray = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Technology Megacomplex', 'L049': 'Techno-Megaplex'} smodules = [modules.QTubeYFab(production_method='ar', efficiency=174), modules.QTubeYFab(production_method='ar', efficiency=164), modules.PPPPlant(production_method='ar', efficiency=157), modules.PPPPlant(production_method='ar', efficiency=164), modules.EMFacTower(production_method='ar', efficiency=158), modules.WarheadForge(production_method='ar', efficiency=158)] OL_TechnologyMegacomplex = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'URV BTO Line', 'L049': 'URV-Auftragsfertigung'} smodules = [ modules.URVWharf(production_method='al', efficiency=116), modules.URVWharf(production_method='al', efficiency=106), modules.URVWharf(production_method='al', efficiency=109), modules.URVWharf(production_method='al', efficiency=106) ] AL_URVBTOLine = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Tech Laboratory', 'L049': 'Technologie-Lab'} smodules = [ modules.ChemRefinery(production_method='al', efficiency=149), modules.ChemRefinery(production_method='al', efficiency=142), modules.ChipFab(production_method='al', efficiency=146), modules.ChipFab(production_method='al', efficiency=140), modules.BioOpticsFac(production_method='al', efficiency=141), modules.BioOpticsFac(production_method='al', efficiency=145), modules.QTubeYFab(production_method='al', efficiency=145), modules.QTubeYFab(production_method='al', efficiency=145) ] AL_TechLaboratory = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Techno-Complex', 'L049': 'Technoplex'} smodules = [ modules.QTubeYFab(production_method='al', efficiency=148), modules.QTubeYFab(production_method='al', efficiency=146), modules.BioOpticsFac(production_method='al', efficiency=145), modules.BioOpticsFac(production_method='al', efficiency=148), modules.ScannArFacility(production_method='al', efficiency=145), modules.WarheadForge(production_method='al', efficiency=141) ] AL_TechnoComplex = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Cell Fab Matrix', 'L049': 'Zell-Fab-Matrix'} smodules = [ modules.PlasmaCyclotron(production_method='al', efficiency=146), modules.PlasmaCyclotron(production_method='al', efficiency=146), modules.IonCellPlant(production_method='al', efficiency=141), modules.IonCellPlant(production_method='al', efficiency=141), modules.AMCyclotron(production_method='al', efficiency=141), modules.AMCyclotron(production_method='al', efficiency=141) ] AL_CellFabMatrix = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Med Dispensary', 'L049': 'Med-Labor'} smodules = [ modules.PharmaPlatform(efficiency=144), modules.PharmaPlatform(efficiency=144), modules.NarcoticsLab(efficiency=143), modules.NarcoticsLab(efficiency=143), modules.HerbGarden(efficiency=144), modules.HerbGarden(efficiency=144) ] AL_MedDispensary = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Solar Energy Farm', 'L049': 'Solarkraftwerk'} smodules = [ modules.SolarChannel(production_method='dv', efficiency=145.0), modules.SolarChannel(production_method='dv', efficiency=145.0), modules.SolarChannel(production_method='dv', efficiency=145.0), modules.SolarChannel(production_method='dv', efficiency=145.0) ] DV_SolarEnergyFarm = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'URV Integration', 'L049': 'URV-Endfertigungsanlage'} smodules = [ modules.URVWharf(production_method='ar', efficiency=147), modules.URVWharf(production_method='ar', efficiency=124), modules.FusionCoreFac(production_method='ar', efficiency=166), modules.PodkletnovFab(production_method='ar', efficiency=166), modules.PlasmaTech(production_method='ar', efficiency=166), modules.PlateFoundry(production_method='ar', efficiency=170) ] OL_URVIntegration = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Mil Hi-Tech Dept', 'L049': 'Mil Hi-Tech Abt'} smodules = [ modules.PlateFoundry(production_method='ar', efficiency=161), modules.EMFacTower(production_method='ar', efficiency=152), modules.WarheadForge(production_method='ar', efficiency=149), modules.MissileForge(production_method='ar', efficiency=152), modules.TurretForge(production_method='ar', efficiency=133), modules.ShieldFacility(production_method='ar', efficiency=135) ] OL_MilHiTechDept = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Arms Tech Supply', 'L049': 'Waffen-Tech Zulieferer'} smodules = [ modules.MissileForge(production_method='al', efficiency=157), modules.MissileForge(production_method='al', efficiency=154), modules.TurretForge(production_method='al', efficiency=134), modules.TurretForge(production_method='al', efficiency=132), modules.ShieldFacility(production_method='al', efficiency=128), modules.ShieldFacility(production_method='al', efficiency=133) ] AL_ArmsTechSupply = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Spice Plantation', 'L049': 'Gewürzplantage'} smodules = [modules.SpiceTubes(efficiency=144), modules.SpiceTubes(efficiency=144), modules.HerbGarden(efficiency=147), modules.HerbGarden(efficiency=144)] AL_SpicePlantation = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Water Prep Plant', 'L049': 'Wasseraufbereitungsanlage'} smodules = [modules.CondenserStill(production_method='ar', efficiency=143), modules.CondenserStill(production_method='ar', efficiency=143), modules.CondenserStill(production_method='ar', efficiency=143), modules.CondenserStill(production_method='ar', efficiency=143)] OL_WaterPrepPlant = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Pharma Lab', 'L049': 'Pharma-Lab'} smodules = [ modules.NarcoticsLab(efficiency=156), modules.NarcoticsLab(efficiency=154), modules.NarcoticsLab(efficiency=150), modules.NarcoticsLab(efficiency=150), modules.PharmaPlatform(efficiency=156), modules.PharmaPlatform(efficiency=151), modules.PharmaPlatform(efficiency=151), modules.PharmaPlatform(efficiency=156), modules.HerbGarden(efficiency=158), modules.HerbGarden(efficiency=152), modules.HerbGarden(efficiency=152), modules.HerbGarden(efficiency=156) ] OL_PharmaLab = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Mega Cellfab', 'L049': 'Mega-Zell-Fab'} smodules = [ modules.PlasmaCyclotron(production_method='ar', efficiency=165), modules.PlasmaCyclotron(production_method='ar', efficiency=165), modules.PlasmaCyclotron(production_method='ar', efficiency=165), modules.IonCellPlant(production_method='ar', efficiency=158), modules.IonCellPlant(production_method='ar', efficiency=157), modules.IonCellPlant(production_method='ar', efficiency=157), modules.AMCyclotron(production_method='ar', efficiency=149), modules.AMCyclotron(production_method='ar', efficiency=149), modules.AMCyclotron(production_method='ar', efficiency=149) ] OL_MegaCellfab = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'R&D Chem Lab', 'L049': 'F&E Chem-Lab'} smodules = [ modules.ChemRefinery(production_method='ar', efficiency=185), modules.ChemRefinery(production_method='ar', efficiency=161), modules.GelFactory(production_method='ar', efficiency=162), modules.GelFactory(production_method='ar', efficiency=164), modules.PPPPlant(production_method='ar', efficiency=169), modules.PPPPlant(production_method='ar', efficiency=164), modules.QTubeYFab(production_method='ar', efficiency=170), modules.QTubeYFab(production_method='ar', efficiency=176) ] OL_RDChemLab = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'Soy Bean Farm', 'L049': 'Sojabohnenplantage'} smodules = [ modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194), modules.SoyBeanery(production_method='ar', efficiency=194) ] OL_SoyBeanFarm = Station(names, smodules)
from x_rebirth_station_calculator.station_data import modules from x_rebirth_station_calculator.station_data.station_base import Station names = {'L044': 'URV Mass Line', 'L049': 'URV-Massenfertigung'} smodules = [modules.URVWharf(production_method='ar', efficiency=117), modules.URVWharf(production_method='ar', efficiency=115), modules.URVWharf(production_method='ar', efficiency=117), modules.URVWharf(production_method='ar', efficiency=117)] OL_URVMassLine = Station(names, smodules)