def __init__(self, filename=None, data_path=None): # Based in Django's approach -> http://code.djangoproject.com/svn/django/trunk/django/__init__.py self.version = __import__('pytrainer').get_version() #Process command line options self.startup_options = self.get_options() #Setup logging self.environment = Environment(platform.get_platform(), self.startup_options.conf_dir) self.environment.create_directories() self.set_logging(self.startup_options.log_level, self.startup_options.log_type) logging.debug('>>') logging.debug("pytrainer version %s" % (self.version)) self.data_path = data_path self.date = Date() self.ddbb = None # Checking profile logging.debug('Checking configuration and profile...') self.profile = Profile(self.environment, self.data_path, self) self.uc = UC() self.windowmain = None self.ddbb = DDBB(self.profile, self) logging.debug('connecting to DDBB') self.ddbb.connect() initialize_data(self.ddbb, self.environment.conf_dir) self._sport_service = SportService(self.ddbb) self.record = Record(self._sport_service, data_path, self) self.athlete = Athlete(data_path, self) self.stats = Stats(self._sport_service, self) pool_size = self.profile.getIntValue("pytraining", "activitypool_size", default=1) self.activitypool = ActivityPool(self, size=pool_size) #preparamos la ventana principal self.windowmain = Main(self._sport_service, data_path, self, self.version, gpxDir=self.profile.gpxdir) self.date = Date(self.windowmain.calendar) self.waypoint = Waypoint(data_path, self) self.extension = Extension(data_path, self) self.plugins = Plugins(data_path, self) self.importdata = Importdata(self._sport_service, data_path, self, self.profile) self.loadPlugins() self.loadExtensions() self.windowmain.setup() self.windowmain.on_calendar_selected(None) self.refreshMainSportList() self.windowmain.run() logging.debug('<<')
def setUp(self): self.ddbb = DDBB() self.ddbb.connect() self.ddbb.create_tables(add_default=True) self.main = mock.Mock() self.main.ddbb = self.ddbb self.main.activitypool = ActivityService(pytrainer_main=self.main) self.main.profile.gpxdir = '/nonexistent' self.record = Record(SportService(self.ddbb), parent=self.main) time = 7426 distance = 46.18 speed = distance * 3600 / time time_hhmmss = [time // 3600, (time / 60) % 60, time % 60] self.summary = {} self.summary['rcd_gpxfile'] = u'/nonexistent' self.summary['rcd_sport'] = u"Run" self.summary['rcd_date'] = u'2016-07-24' self.summary['rcd_calories'] = 1462 self.summary['rcd_comments'] = u'test comment' self.summary['rcd_title'] = u'test 1' self.summary['rcd_time'] = time_hhmmss self.summary['rcd_distance'] = "%0.2f" % distance self.summary['rcd_pace'] = "%d.%02d" % ((3600 / speed) / 60, (3600 / speed) % 60) self.summary['rcd_maxpace'] = "%d.%02d" % ((3600 / 72) / 60, (3600 / 72) % 60) self.summary['rcd_average'] = speed self.summary['rcd_maxvel'] = 72 self.summary['rcd_beats'] = 115.0 self.summary['rcd_maxbeats'] = 120 self.summary['rcd_upositive'] = 553.1 self.summary['rcd_unegative'] = 564.1 self.summary['date_time_local'] = u'2016-07-24 12:58:23+03:00' self.summary['date_time_utc'] = u'2016-07-24T09:58:23Z' self.laps = [{ 'distance': 46181.9, 'lap_number': 0, 'calories': 1462, 'elapsed_time': u'7426.0', 'intensity': u'active', 'avg_hr': 136, 'max_hr': 173, 'laptrigger': u'manual' }]
def setUp(self): env = Environment() env.data_path = os.curdir env.create_directories() self.main = mock.Mock() self.main.ddbb = DDBB() self.main.ddbb.connect() self.main.ddbb.create_tables() self.main.profile = Profile() self.main.uc = UC() self.sport_service = SportService(self.main.ddbb) non_linear_sport = self.sport_service.get_sport(1) self.main.ddbb.session.delete(non_linear_sport) self.main.ddbb.session.commit() make_transient(non_linear_sport) non_linear_sport.id = None self.main.ddbb.session.add(non_linear_sport) self.main.ddbb.session.commit() self.main.record = Record(self.sport_service, parent=self.main) self.parent = Main(self.sport_service, parent=self.main) self.main.ddbb.session.add( Activity(sport=non_linear_sport, date=datetime.datetime(2018, 5, 6, 10, 0, 0), duration=1000, distance=25)) self.main.ddbb.session.add( Activity(sport=non_linear_sport, date=datetime.datetime(2018, 1, 6, 10, 0, 0), duration=10000, distance=150)) self.main.ddbb.session.add( Activity(sport=self.sport_service.get_sport(2), date=datetime.datetime(2018, 1, 6, 10, 0, 0), duration=10000, distance=100)) self.main.ddbb.session.commit()
def __init__(self, filename=None, data_path=None): # Based on Django's approach -> http://code.djangoproject.com/svn/django/trunk/django/__init__.py self.version = __import__('pytrainer').get_version() #Process command line options self.startup_options = self.get_options() #Setup logging self.environment = Environment(self.startup_options.conf_dir, data_path) self.environment.create_directories() self.environment.clear_temp_dir() self.set_logging(self.startup_options.log_level, self.startup_options.log_type) logging.debug('>>') logging.info("pytrainer version %s" % (self.version)) self.data_path = data_path # Checking profile logging.debug('Checking configuration and profile...') self.profile = Profile() # Write the default config to disk self.profile.saveProfile() self.uc = UC() self.profilewindow = None self.ddbb = DDBB(self.profile.sqlalchemy_url) logging.debug('connecting to DDBB') self.ddbb.connect() logging.info('Checking if some upgrade action is needed...') initialize_data(self.ddbb, self.environment.conf_dir) # Loading shared services logging.debug('Loading sport service...') self._sport_service = SportService(self.ddbb) logging.debug('Loading record service...') self.record = Record(self._sport_service, data_path, self) logging.debug('Loading athlete service...') self.athlete = Athlete(data_path, self) logging.debug('Loading stats service...') self.stats = Stats(self) logging.debug('Initializing activity pool...') pool_size = self.profile.getIntValue("pytraining", "activitypool_size", default=1) self.activitypool = ActivityService(self, size=pool_size) #Loading main window self.windowmain = None logging.debug('Loading main window...') self.windowmain = Main(self._sport_service, data_path, self, self.version, gpxDir=self.profile.gpxdir) # Select initial date depending on user's preference self.selectInitialDate() logging.debug('Loading waypoint service...') self.waypoint = WaypointService(data_path, self) logging.debug('Loading extension service...') self.extension = Extension(data_path, self) logging.debug('Loading plugins service...') self.plugins = Plugins(data_path, self) self.importdata = Importdata(self._sport_service, data_path, self, self.profile) logging.debug('Loading plugins...') self.loadPlugins() logging.debug('Loading extensions...') self.loadExtensions() logging.debug('Setting values for graphs, maps and waypoint editor...') self.windowmain.setup() self.windowmain.on_calendar_selected(None) logging.debug('Refreshing sport list... is this needed?') self.refreshMainSportList() logging.debug('Launching main window...') self.windowmain.run() logging.debug('<<')
def setUp(self): self.mock_ddbb = mock.Mock(spec=Sql) self.sport_service = SportService(self.mock_ddbb)
def setUp(self): self.mock_ddbb = DDBB() self.mock_ddbb.connect() self.mock_ddbb.create_tables(add_default=False) self.sport_service = SportService(self.mock_ddbb)