From: <dg...@us...> - 2011-08-28 16:01:06
|
Revision: 867 http://pytrainer.svn.sourceforge.net/pytrainer/?rev=867&view=rev Author: dgranda Date: 2011-08-28 16:00:59 +0000 (Sun, 28 Aug 2011) Log Message: ----------- Using normal way of import for new GPX based activities - ticket:137, ticket:105 Modified Paths: -------------- pytrainer/trunk/pytrainer/gui/windowrecord.py pytrainer/trunk/pytrainer/lib/activity.py pytrainer/trunk/pytrainer/lib/gpx.py pytrainer/trunk/pytrainer/record.py Modified: pytrainer/trunk/pytrainer/gui/windowrecord.py =================================================================== --- pytrainer/trunk/pytrainer/gui/windowrecord.py 2011-08-28 11:39:59 UTC (rev 866) +++ pytrainer/trunk/pytrainer/gui/windowrecord.py 2011-08-28 16:00:59 UTC (rev 867) @@ -289,9 +289,8 @@ if self.mode == "newrecord": logging.debug('Track data: '+str(list_options)) if list_options["rcd_gpxfile"] != "": - logging.info('Adding new activity based on GPX file') - trackSummary=(list_options["rcd_sport"],"","") - self.parent.insertNewRecord(list_options["rcd_gpxfile"], trackSummary) + logging.info('Adding new activity based on GPX file') + self.parent.insertRecord(list_options, None, selected_equipment_ids) else: logging.info('Adding new activity based on provided data') #Manual entry, calculate time info Modified: pytrainer/trunk/pytrainer/lib/activity.py =================================================================== --- pytrainer/trunk/pytrainer/lib/activity.py 2011-08-28 11:39:59 UTC (rev 866) +++ pytrainer/trunk/pytrainer/lib/activity.py 2011-08-28 16:00:59 UTC (rev 867) @@ -219,7 +219,8 @@ self.gpx_distance = self.gpx.total_dist logging.info("GPX Distance: %s | distance (trkpts): %s | duration: %s | duration (trkpts): %s" % (self.gpx_distance, self.gpx.total_dist_trkpts, self.gpx.total_time, self.gpx.total_time_trkpts)) time_diff = self.gpx.total_time_trkpts - self.gpx.total_time - if time_diff > 10: + acceptable_lapse = 4 # number of seconds that duration calculated using lap and trkpts data can differ + if time_diff > acceptable_lapse: self.time_pause = time_diff logging.debug("Identified non active time: %s s" % self.time_pause) logging.debug("<<") Modified: pytrainer/trunk/pytrainer/lib/gpx.py =================================================================== --- pytrainer/trunk/pytrainer/lib/gpx.py 2011-08-28 11:39:59 UTC (rev 866) +++ pytrainer/trunk/pytrainer/lib/gpx.py 2011-08-28 16:00:59 UTC (rev 867) @@ -75,6 +75,7 @@ self.maxhr = 0 self.hr_average = 0 self.date = "" + self.start_time = "" #self.Date = Date() self.calories= 0 self.tree = None @@ -129,6 +130,7 @@ timeResult = trk.find(timeTag) if timeResult is not None: time_ = timeResult.text # check timezone + logging.debug("TimeResult: %s" %time_) mk_time = self.getDateTime(time_)[0] time_ = mk_time.strftime("%Y-%m-%d") else: @@ -152,6 +154,9 @@ def getCalories(self): return self.calories + def getStart_time(self): + return self.start_time + def getLaps(self): logging.debug(">>") lapInfo = [] @@ -228,7 +233,7 @@ logging.info("Lap distance: %s m | Duration: %s s | Calories: %s kcal" % (lapDistance, lapDuration, lapCalories)) self.total_dist = float(totalDistance/1000.0) # Returning km self.total_time = int(totalDuration) # Returning seconds - logging.info("Distance: %.02f km | Duration: %d s | Calories: %s kcal" % (self.total_dist, self.total_time, self.calories)) + logging.info("Laps - Distance: %.02f km | Duration: %d s | Calories: %s kcal" % (self.total_dist, self.total_time, self.calories)) else: laps = [] @@ -255,9 +260,10 @@ else: mk_time = self.getDateTime(date_)[1] #Local Date self.date = mk_time.strftime("%Y-%m-%d") + self.start_time = mk_time.strftime("%H:%M:%S") waiting_points = [] + logging.debug("date: %s | start_time: %s | mk_time: %s" % (self.date, self.start_time, mk_time)) - for i, trkpoint in enumerate(trkpoints): #Get data from trkpoint try: @@ -297,7 +303,7 @@ else: time_elapsed = time_ - self.trkpoints[i-1]['time'] if self.trkpoints[i-1]['time'] is not None else 0 self.total_time_trkpts += time_elapsed - if time_elapsed > 10: + if time_elapsed > 5: logging.debug("Adding %d seconds from last trkpt, someone took a break!" % time_elapsed) else: time_ = None @@ -403,12 +409,13 @@ self.total_dist = self.total_dist_trkpts else: dist_diff = 1000*(self.total_dist_trkpts - self.total_dist) - logging.info("Distance difference between laps and trkpts calculation: %f m" % dist_diff) + logging.debug("Distance difference between laps and trkpts calculation: %f m" % dist_diff) if self.total_time is None or self.total_time == 0: self.total_time = self.total_time_trkpts else: time_diff = self.total_time_trkpts - self.total_time - logging.info("Duration difference between laps and trkpts calculation: %d s" % time_diff) + logging.debug("Duration difference between laps and trkpts calculation: %d s" % time_diff) + logging.info("Values - Distance: %.02f km | Duration: %d s | Calories: %s kcal" % (self.total_dist, self.total_time, self.calories)) logging.debug("<<") return retorno Modified: pytrainer/trunk/pytrainer/record.py =================================================================== --- pytrainer/trunk/pytrainer/record.py 2011-08-28 11:39:59 UTC (rev 866) +++ pytrainer/trunk/pytrainer/record.py 2011-08-28 16:00:59 UTC (rev 867) @@ -53,7 +53,7 @@ def newMultiRecord(self, activities): logging.debug('>>') sports = self._sport_service.get_all_sports() - self.recordwindow = WindowRecord(self._equipment_service, self.data_path, sports, parent=self, windowTitle="Modify details before importing") + self.recordwindow = WindowRecord(self._equipment_service, self.data_path, sports, parent=self, windowTitle=_("Modify details before importing")) self.recordwindow.populateMultiWindow(activities) self.recordwindow.run() return self.recordwindow.getActivityData() @@ -476,8 +476,10 @@ heartrate = gpx.getHeartRateAverage() date = gpx.getDate() calories = gpx.getCalories() + start_time = gpx.getStart_time() self.recordwindow.rcd_date.set_text(date) + self.recordwindow.rcd_starttime.set_text(start_time) self.recordwindow.rcd_upositive.set_text(str(upositive)) self.recordwindow.rcd_unegative.set_text(str(unegative)) self.recordwindow.rcd_beats.set_text(str(heartrate)) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |