Exemple #1
0
 def overrideBy(self, str_settings):
     module_settings = importlib.import_module(str_settings)
     for item in dir(module_settings):
         if isAllLettersCapital(item):
             if item == 'PROJECT':
                 self.projectConfig.override(getattr(module_settings, item),
                                             str_settings)
             elif item == 'MARKET_MANAGER':
                 self.marketManagerConfig.override(
                     getattr(module_settings, item), str_settings)
             elif item == 'REPEATER':
                 self.repeaterConfig.override(
                     getattr(module_settings, item), str_settings)
             elif item == 'BACKTESTER':
                 self.backtesterConfig.override(
                     getattr(module_settings, item), str_settings)
             elif item == 'TIME_GENERATOR':
                 self.timeGeneratorConfig.override(
                     getattr(module_settings, item), str_settings)
             elif item == 'TRADER':
                 self.traderConfig.override(getattr(module_settings, item),
                                            str_settings)
             elif item == 'BROKER_CLIENT':
                 self.brokerClientConfig.override(
                     getattr(module_settings, item), str_settings)
             elif item == 'EMAIL_CLIENT':
                 self.emailClientConfig.override(
                     getattr(module_settings, item), str_settings)
             else:
                 print(__name__ +
                       '::overrideBy: EXIT, cannot handle item=%s in %s' %
                       (item, str_settings))
                 exit()
     return self
Exemple #2
0
    def load_settings(self, str_settings):
        # If str_settings == 'settings'
        # Then, this line works like 'import setting' so that config values are imported
        module_settings = importlib.import_module(str_settings)

        # Iterate all of the module names added to the local namespace including all the existing ones as before
        for item in dir(module_settings):
            if isAllLettersCapital(item):
                if item == 'PROJECT':
                    self.projectConfig = PROJECT_Config(
                        getattr(module_settings, item))
                elif item == 'MARKET_MANAGER':
                    self.marketManagerConfig = MARKET_MANAGER_Config(
                        getattr(module_settings, item))
                elif item == 'BACKTESTER':
                    self.backtesterConfig = BACKTESTER_Config(
                        getattr(module_settings, item))
                elif item == 'REPEATER':
                    self.repeaterConfig = REPEATER_Config(
                        getattr(module_settings, item))
                elif item == 'TIME_GENERATOR':
                    self.timeGeneratorConfig = TIME_GENERATOR_Config(
                        getattr(module_settings, item))
                elif item == 'TRADER':
                    self.traderConfig = TRADER_Config(
                        getattr(module_settings, item))
                elif item == 'BROKER_CLIENT':
                    self.brokerClientConfig = BROKER_CLIENT_Config(
                        getattr(module_settings, item))
                elif item == 'EMAIL_CLIENT':
                    self.emailClientConfig = EMAIL_CLIENT_Config(
                        getattr(module_settings, item))
                else:
                    print(
                        __name__ +
                        '::load_settings: EXIT, cannot handle item=%s in %s.py'
                        % (item, str_settings))
                    exit()
        return self
Exemple #3
0
def test__isAllLettersCapital():
    assert (isAllLettersCapital('asdfEdasdf') is False)
    assert (isAllLettersCapital('BROKER_CLIENT') is True)
    assert (isAllLettersCapital('BROKER_CLIENt') is False)