Changeset 173

Show
Ignore:
Timestamp:
01/29/08 23:49:04 (1 year ago)
Author:
vud1
Message:

"Pace calculator"

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • pytrainer/trunk/glade/pytrainer.glade

    r171 r173  
    64266426 
    64276427                          <child> 
    6428                             <widget class="GtkEntry" id="entry334"> 
     6428                            <widget class="GtkEntry" id="rcd_maxvel"> 
    64296429                              <property name="visible">True</property> 
    64306430                              <property name="can_focus">True</property> 
     
    67006700 
    67016701                          <child> 
    6702                             <widget class="GtkEntry" id="entry336"> 
     6702                            <widget class="GtkEntry" id="rcd_pace"> 
    67036703                              <property name="visible">True</property> 
    67046704                              <property name="can_focus">True</property> 
     
    67306730                              <property name="relief">GTK_RELIEF_NORMAL</property> 
    67316731                              <property name="focus_on_click">True</property> 
    6732                               <signal name="clicked" handler="on_calcaverage_clicked" last_modification_time="Mon, 15 May 2006 18:27:33 GMT"/> 
     6732                              <signal name="clicked" handler="on_calcpace_clicked" last_modification_time="Tue, 29 Jan 2008 21:42:09 GMT"/> 
    67336733                            </widget> 
    67346734                            <packing> 
     
    70337033 
    70347034                          <child> 
    7035                             <widget class="GtkEntry" id="entry337"> 
     7035                            <widget class="GtkEntry" id="rcd_maxbeats"> 
    70367036                              <property name="visible">True</property> 
    70377037                              <property name="can_focus">True</property> 
  • pytrainer/trunk/pytrainer/gui/windowrecord.py

    r162 r173  
    164164                        pass 
    165165         
     166        def on_calcpace_clicked(self,widget): 
     167                hour = self.rcd_hour.get_value_as_int() 
     168                min = self.rcd_min.get_value_as_int() 
     169                sec = self.rcd_second.get_value_as_int() 
     170                time = sec + (min*60) + (hour*3600) 
     171                if time<1: 
     172                        return false 
     173                time_in_min = time/60.0 
     174                distance = float(self.rcd_distance.get_text()) 
     175                if distance<1: 
     176                        return false 
     177                average = time_in_min/distance 
     178                self.rcd_pace.set_text("%0.2f" %average) 
     179         
    166180        def on_calccalories_clicked(self,widget): 
    167181                sport = self.rcd_sport.get_active_text() 
     
    192206                self.rcd_distance.set_text("%0.2f" %distance) 
    193207                         
     208        def set_maxspeed(self,vel): 
     209                self.rcd_maxvel.set_text("%0.2f" %vel) 
     210                         
     211        def set_maxhr(self,hr): 
     212                self.rcd_maxbeats.set_text("%0.2f" %hr) 
     213                         
    194214        def set_recordtime (self,time_in_hour): 
    195215                hour = int(time_in_hour) 
  • pytrainer/trunk/pytrainer/lib/gpx.py

    r166 r173  
    3636                self.upositive = 0 
    3737                self.unegative = 0 
     38                self.maxvel = 0 
     39                self.maxhr = 0 
     40                self.date = "" 
    3841                self.Values = self._getValues() 
    3942 
    4043        def getMaxValues(self): 
    41                 return self.total_dist, self.total_time 
     44                return self.total_dist, self.total_time, self.maxvel, self.maxhr 
     45         
     46        def getDate(self): 
     47                return self.date 
    4248 
    4349        def getTrackRoutes(self):        
     
    116122                tmp_alt = 0 
    117123                len_validhrpoints = 0 
     124                         
     125                date_ = trkpoints[0].getElementsByTagName("time")[0].firstChild.data 
     126                mk_time = time.strptime(date_, "%Y-%m-%dT%H:%M:%SZ") 
     127                self.date = time.strftime("%Y-%m-%d", mk_time) 
    118128 
    119129                for trkpoint in trkpoints: 
     
    156166                                                total_dist += dist 
    157167                                                total_hr += hr 
     168                                                if hr>self.maxhr: 
     169                                                        self.maxhr = hr 
    158170                                                #dividimos kilometros por hora (no por segundo) 
    159171                                                tmp_vel = dist/((time_)/3600.0) 
     
    161173                                                #si la velocidad es menor de 90 lo damos por bueno 
    162174                                                if vel<90 and time_ <100: 
     175                                                        if vel>self.maxvel: 
     176                                                                self.maxvel=vel 
    163177                                                        self.total_time += time_ 
    164178                                                        retorno.append((total_dist,tmp_alt, self.total_time,vel,lat,lon,hr)) 
  • pytrainer/trunk/pytrainer/record.py

    r162 r173  
    186186                 
    187187        def actualize_fromgpx(self,gpxfile): 
     188                print "uno" 
    188189                gpx = Gpx(self.data_path,gpxfile) 
     190                print "uno1" 
    189191                tracks = gpx.getTrackRoutes() 
     192                print "dos" 
    190193 
    191194                if len(tracks) == 1: 
     
    199202                        warning.set_text(msg) 
    200203                        warning.run() 
     204                print "tres" 
    201205 
    202206        def _actualize_fromgpx(self, gpxfile, trkname = None): 
    203207                gpx = Gpx(self.data_path,gpxfile,trkname) 
    204                 distance, time = gpx.getMaxValues() 
     208                distance, time, maxspeed, maxheartrate = gpx.getMaxValues() 
    205209                upositive,unegative = gpx.getUnevenness() 
    206210                heartrate = gpx.getHeartRateAverage() 
    207                 date = gpx.getTrackRoutes()[0][1] 
     211                date = gpx.getDate() 
    208212                 
    209213                self.recordwindow.rcd_date.set_text(date) 
     
    212216                self.recordwindow.rcd_beats.set_text(str(heartrate)) 
    213217                self.recordwindow.set_distance(distance) 
     218                self.recordwindow.set_maxspeed(maxspeed) 
     219                self.recordwindow.set_maxhr(maxheartrate) 
    214220                self.recordwindow.set_recordtime(time/60.0/60.0) 
    215221                self.recordwindow.on_calcaverage_clicked(None) 
     222                self.recordwindow.on_calcpace_clicked(None) 
    216223 
    217224        def _select_trkfromgpx(self,gpxfile,tracks):