def initialise(self): """\ Minisec """ dbconn.use(self.game) trans = dbconn.begin() try: RulesetBase.initialise(self) # Need to create the top level universe object... universe = Object(type='tp.server.rules.base.objects.Universe') universe.id = 0 universe.name = "The Universe" universe.size = SIZE universe.parent = 0 universe.posx = 0 universe.posy = 0 universe.turn = 0 universe.insert() trans.commit() except: trans.rollback() raise
def initialise(self, seed=None): """\ TIM Trader """ trans = dbconn.begin() try: RulesetBase.initialise(self) # Need to create the top level universe object... universe = Object(type='tp.server.rules.base.objects.Universe') universe.id = 0 universe.name = "The Universe" universe.size = SIZE universe.parent = 0 universe.posx = 0 universe.posy = 0 universe.turn = 0 universe.insert() # Create all the resources, they consist of, # - One resource for each resource specified in resources.csv # - One resource for each factory specified in prodcon.csv reader = csv.DictReader( open(os.path.join(self.files, "resources.csv"), "r")) for row in reader: if row['namesingular'] is '': continue r = Resource() for name, cell in row.iteritems(): if cell is '': continue try: setattr(r, name, convert(getattr(Resource.table.c, name), cell)) except AttributeError, e: # FIXME: These shouldn't really occur... pass r.transportable = bool(row['transportable']) r.insert() import ProducersConsumers for factory in ProducersConsumers.loadfile( os.path.join(self.files, "prodcon.csv")): # FIXME: Make these auto generated resources much nicer... # Ignore the special case factories which are also goods. try: r = Resource(Resource.byname(factory.name)) r.desc += "\n" except NoSuch: r = Resource() r.namesingular = factory.name r.nameplural = factory.name r.desc = "" r.weight = 1000 r.size = 1000 r.desc += "Converts" for product in factory.products: # FIXME: Should also display if usage of this resource is required to grow.... r.desc += "\n\t%s -> %s" % product r.products = factory.products r.save() trans.commit()
def initialise(self, seed=None): """\ TIM Trader """ trans = dbconn.begin() try: RulesetBase.initialise(self) # Need to create the top level universe object... universe = Object(type='tp.server.rules.base.objects.Universe') universe.id = 0 universe.name = "The Universe" universe.size = SIZE universe.parent = 0 universe.posx = 0 universe.posy = 0 universe.turn = 0 universe.insert() # Create all the resources, they consist of, # - One resource for each resource specified in resources.csv # - One resource for each factory specified in prodcon.csv reader = csv.DictReader(open(os.path.join(self.files, "resources.csv"), "r")) for row in reader: if row['namesingular'] is '': continue r = Resource() for name, cell in row.iteritems(): if cell is '': continue try: setattr(r, name, convert(getattr(Resource.table.c, name), cell)) except AttributeError, e: # FIXME: These shouldn't really occur... pass r.transportable = bool(row['transportable']) r.insert() import ProducersConsumers for factory in ProducersConsumers.loadfile(os.path.join(self.files, "prodcon.csv")): # FIXME: Make these auto generated resources much nicer... # Ignore the special case factories which are also goods. try: r = Resource(Resource.byname(factory.name)) r.desc += "\n" except NoSuch: r = Resource() r.namesingular = factory.name r.nameplural = factory.name r.desc = "" r.weight = 1000 r.size = 1000 r.desc += "Converts" for product in factory.products: # FIXME: Should also display if usage of this resource is required to grow.... r.desc += "\n\t%s -> %s" % product r.products = factory.products r.save() trans.commit()