Exemplo n.º 1
0
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)
Exemplo n.º 4
0
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)
Exemplo n.º 8
0
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)
Exemplo n.º 9
0
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)
Exemplo n.º 11
0
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)
Exemplo n.º 15
0
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)
Exemplo n.º 20
0
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)
Exemplo n.º 27
0
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)
Exemplo n.º 28
0
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)