from physics.physics_feeders.us_physics_parameters import UsPhysicsParameters class PhysicsFactory: def __init__(self, country_code, city_name, city_objects): self._country_code = country_code.lower() self._city_name = city_name.lower() self._city_objects = city_objects self.factory() def us(self): UsPhysicsParameters(self._city_name, self._city_objects) def ca(self): raise Exception('Not implemented') def de(self): raise Exception('Not implemented') def es(self): raise Exception('Not implemented') def factory(self): getattr(self, self._country_code, lambda: None)()