def parse_file(self, file_name): BaseController.parse_file(self, file_name) with open(file_name, 'rt', encoding='UTF-8') as fd: datareader = csv.reader(fd) row = next(datareader) # Skip the header row for row in datareader: self.db_controller.insertCompanyData(tuple(row)) pass
def __init__(self): # it is needed to set a Modelname before calling the BaseControllers init self.modelname = "App" BaseController.__init__(self) self.login_required = [] # example of locked actions and the redirections. self.locked_actions = {}
def test_game_controller(self): factory = ControllerFactory(True) jsonFileList = factory.scanDir('mock-data') testFactory = factory.createController( jsonFileList[1]) # jsonFileList item should = 'base' self.assertEqual( testFactory.data, BaseController('mock-data', 'base').data) # Python can't compare two objects,
def __init__(self): self.TIME = 5 self.controller = BaseController() self.server_factory = ServerProtocolFactory(self.on_connection, self.on_received) reactor.listenTCP(1079, self.server_factory) self.go = False self.end = False logging.getLogger().setLevel(logging.INFO)
def test_write_json(self): """ test writing a json file via BaseController """ base = BaseController('mock-data', 'base') base.loadJsonFile() base.writeJsonFile() with open('mock-data/base.json', 'r') as f: text = f.read() testJson = json.loads(text) f.close() self.assertEqual(testJson['first'], "first") self.assertEqual(testJson['second'], "second")
def migrate(self, url, db_controller): # self.local_path = 'F:\\task\\webscrapping\\UKGovernment\\data\\persons-with-significant-control-snapshot-2020-04-18.zip' # self.unzipped_path = 'F:\\task\\webscrapping\\UKGovernment\\data\\persons-with-significant-control-snapshot-2020-04-18' BaseController.migrate(self, url, db_controller) pass
def parse_file(self, file_name): BaseController.parse_file(self, file_name) with open(file_name, 'rt', encoding='UTF-8') as fd: for line in fd: data = json.loads(line, encoding='UTF-8') company_number = '' address_line_1 = '' address_line_2 = '' country = '' locality = '' postal_code = '' premises = '' region = '' ceased_on = '' country_of_residence = '' date_of_birth_month = '' date_of_birth_year = '' etag = '' kind = '' links_self = '' name = '' forename = '' middle_name = '' surename = '' name_title = '' nationality = '' natures_of_control = '' notified_on = '' if 'company_number' in data: company_number = data['company_number'] if 'data' in data: if 'address' in data['data']: if 'address_line_1' in data['data']['address']: address_line_1 = data['data']['address']['address_line_1'] if 'address_line_2' in data['data']['address']: address_line_2 = data['data']['address']['address_line_2'] if 'country' in data['data']['address']: country = data['data']['address']['country'] if 'locality' in data['data']['address']: locality = data['data']['address']['locality'] if 'postal_code' in data['data']['address']: postal_code = data['data']['address']['postal_code'] if 'premises' in data['data']['address']: premises = data['data']['address']['premises'] if 'region' in data['data']['address']: region = data['data']['address']['region'] if 'ceased_on' in data['data']: ceased_on = data['data']['ceased_on'] if 'country_of_residence' in data['data']: country_of_residence = data['data']['country_of_residence'] if 'date_of_birth' in data['data']: if 'month' in data['data']['date_of_birth']: date_of_birth_month = data['data']['date_of_birth']['month'] if 'year' in data['data']['date_of_birth']: date_of_birth_year = data['data']['date_of_birth']['year'] if 'etag' in data['data']: etag = data['data']['etag'] if 'kind' in data['data']: kind = data['data']['kind'] if 'links' in data['data']: if 'self' in data['data']['links']: links_self = data['data']['links']['self'] if 'name' in data['data']: name = data['data']['name'] if 'name_elements' in data['data']: if 'forename' in data['data']['name_elements']: forename = data['data']['name_elements']['forename'] if 'middle_name' in data['data']['name_elements']: middle_name = data['data']['name_elements']['middle_name'] if 'surename' in data['data']['name_elements']: surename = data['data']['name_elements']['surename'] if 'title' in data['data']['name_elements']: name_title = data['data']['name_elements']['title'] if 'nationality' in data['data']['name_elements']: nationality = data['data']['name_elements']['nationality'] if 'natures_of_control' in data['data']: natures_of_control = json.dumps(data['data']['natures_of_control']) if 'notified_on' in data['data']: notified_on = data['data']['notified_on'] self.db_controller.insertPersonData((company_number, address_line_1, address_line_2, country, locality, postal_code, premises, region, ceased_on, country_of_residence, date_of_birth_month, date_of_birth_year, etag, kind, links_self, name, forename, middle_name, surename, name_title, nationality, natures_of_control, notified_on))
def __init__(self,templateName='emailNewAccount.tmpl',templateDir='./'): BaseController.__init__(self,0,templateName,templateDir)
def __init__(self,templateName='',templateDir='./'): BaseController.__init__(self,0,templateName,templateDir)
def __init__(self,templateName='accountInformation.tmpl',templateDir='./'): BaseController.__init__(self,0,templateName,templateDir)
def __init__(self,templateName='loginPage.tmpl',templateDir='./'): BaseController.__init__(self,0,templateName,templateDir)
def migrate(self, url, db_controller): # self.local_path = 'F:\\task\\webscrapping\\UKGovernment\\data\\BasicCompanyDataAsOneFile-2020-04-01.zip' # self.unzipped_path = 'F:\\task\\webscrapping\\UKGovernment\\data\\BasicCompanyDataAsOneFile-2020-04-01' BaseController.migrate(self, url, db_controller) pass
def test_load_json(self): """ test loading a json file via BaseController """ base = BaseController('mock-data', 'base') base.loadJsonFile() self.assertEqual(base.data['first'], "first") self.assertEqual(base.data['second'], "second")
def test_parse_json(self): """ test static method BaseController.parseJson parses Json """ testJson = BaseController.parseJson('{"a":"a","b":"b"}') self.assertEqual(testJson['a'], "a") self.assertEqual(testJson['b'], "b")
class Server: def __init__(self): self.TIME = 5 self.controller = BaseController() self.server_factory = ServerProtocolFactory(self.on_connection, self.on_received) reactor.listenTCP(1079, self.server_factory) self.go = False self.end = False logging.getLogger().setLevel(logging.INFO) def setTime(self, time): self.TIME = time def start(self): reactor.callLater(self.TIME, self.loop) reactor.run() def loop(self): if self.server_factory.getConnectionCount() >= 2: if self.go: result = self.controller.advance() if result != None: self.go = False self.end = True print result self.broadcast_game() elif not self.end: self.go = True else: if self.go == True: print "Active Connections:" for conn in self.server_factory.connections: print conn.transport.getPeer() reactor.callLater(self.TIME, self.loop) def on_connection(self, connection): print "New Connection", connection.transport.getPeer() game_data = self._get_game_data() connection.sendString(game_data) def on_received(self, data): data = pickle.loads(data) if isinstance(data, PlayBuildingCard): self.controller.play_building_card(data.card.name, data.player_id, data.slot) elif isinstance(data, PlaySpellCard): self.controller.play_spell_card(data.card.name, data.player_id, data.slot) elif isinstance(data, PlayUnitCard): self.controller.play_unit_card(data.card.name, data.player_id, data.location) elif isinstance(data, BuyCard): self.controller.buy_card(data.player_id, data.card_name) self.broadcast_game() def broadcast_game(self): game_data = self._get_game_data() self.server_factory.broadcast(game_data) def _get_game_data(self): game = self.controller.game pickled_game = pickle.dumps(game) return pickled_game