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,
예제 #4
0
파일: Server.py 프로젝트: dustice/grimwar
    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))
예제 #8
0
    def __init__(self,templateName='emailNewAccount.tmpl',templateDir='./'):
	BaseController.__init__(self,0,templateName,templateDir)
예제 #9
0
    def __init__(self,templateName='',templateDir='./'):
	BaseController.__init__(self,0,templateName,templateDir)
예제 #10
0
    def __init__(self,templateName='accountInformation.tmpl',templateDir='./'):
	BaseController.__init__(self,0,templateName,templateDir)
예제 #11
0
    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
예제 #13
0
 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")
예제 #14
0
 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")
예제 #15
0
파일: Server.py 프로젝트: dustice/grimwar
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