Changeset 167

Show
Ignore:
Timestamp:
01/23/08 00:10:50 (1 year ago)
Author:
vud1
Message:

"Max Heart rate calculator"

Files:

Legend:

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

    r163 r167  
    97749774 
    97759775                          <child> 
    9776                             <widget class="GtkEntry" id="entry350"> 
     9776                            <widget class="GtkEntry" id="prf_maxhr"> 
    97779777                              <property name="visible">True</property> 
    97789778                              <property name="can_focus">True</property> 
     
    97979797 
    97989798                          <child> 
    9799                             <widget class="GtkEntry" id="entry351"> 
     9799                            <widget class="GtkEntry" id="prf_minhr"> 
    98009800                              <property name="visible">True</property> 
    98019801                              <property name="can_focus">True</property> 
     
    98559855                              <property name="relief">GTK_RELIEF_NORMAL</property> 
    98569856                              <property name="focus_on_click">True</property> 
     9857                              <signal name="clicked" handler="on_calculatemaxhr_clicked" last_modification_time="Tue, 22 Jan 2008 22:19:14 GMT"/> 
    98579858                            </widget> 
    98589859                            <packing> 
  • pytrainer/trunk/pytrainer/gui/windowmain.py

    r152 r167  
    669669                desc = self.waypoint_description.get_text() 
    670670                sym = self.waypoint_type.get_active_text() 
    671                 print sym 
    672671                self.parent.updateWaypoint(id_waypoint,lat,lon,name,desc,sym) 
    673672         
  • pytrainer/trunk/pytrainer/gui/windowprofile.py

    r161 r167  
    1818 
    1919from SimpleGladeApp import SimpleGladeApp 
     20from windowcalendar import WindowCalendar 
    2021import gtk 
    2122import gobject 
     
    2728                domain = None 
    2829                self.parent = parent 
     30                self.data_path = data_path 
    2931                SimpleGladeApp.__init__(self, data_path+glade_path, root, domain) 
    3032                self.conf_options = [ 
     
    3840                        "prf_ddbbname", 
    3941                        "prf_ddbbuser", 
    40                         "prf_ddbbpass"] 
     42                        "prf_ddbbpass", 
     43                        "prf_maxhr", 
     44                        "prf_minhr"] 
    4145 
    4246        def new(self): 
     
    6973        def setValues(self,list_options): 
    7074                for i in self.conf_options: 
     75                        if not list_options.has_key(i): 
     76                                continue 
    7177                        var = getattr(self,i) 
    7278                        if i != "prf_gender" and i != "prf_ddbb": 
     
    94100                                list_options.append((i,var.get_active_text())) 
    95101                self.parent.setProfile(list_options) 
     102         
     103        def on_calendar_clicked(self,widget): 
     104                calendardialog = WindowCalendar(self.data_path,self) 
     105                calendardialog.run() 
     106 
     107        def setDate(self,date): 
     108                self.prf_age.set_text(date) 
    96109 
    97110        def on_switch_page(self,widget,pointer,frame): 
     
    240253                self.sportlist.show() 
    241254 
     255        def on_calculatemaxhr_clicked(self,widget=None): 
     256                import datetime 
     257                today = "%s"%datetime.date.today() 
     258                year1,month1,day1 = today.split("-") 
     259                year2,month2,day2 = self.prf_age.get_text().split("-") 
     260                diff = datetime.datetime(int(year1), int(month1), int(day1),0,0,0) - datetime.datetime(int(year2), int(month2), int(day2),0,0,0) 
     261                self.prf_maxhr.set_text("%d" %(220-int(diff.days/365))) 
     262 
    242263        def hidesportsteps(self): 
    243264                self.sportlist.hide() 
  • pytrainer/trunk/pytrainer/lib/date.py

    r161 r167  
    2020 
    2121import time 
     22import datetime 
    2223 
    2324class Date: 
     
    9798                day = tm[2] 
    9899                return "%0.4d-%0.2d-%0.2d" %(year,month,day) 
     100 
  • pytrainer/trunk/pytrainer/lib/xmlUtils.py

    r4 r167  
    2828        def __init__(self,filename = None): 
    2929                self.filename = filename 
     30                self._load() 
     31 
     32        def _load(self): 
    3033                try:  
    3134                        self.xmldoc = xml.dom.minidom.parse(self.filename)  
     
    3841 
    3942        def getOptions(self): 
     43                self._load() 
    4044                root = self.xmldoc.getElementsByTagName("pytraining")[0] 
    4145                list_options = {} 
     
    5559        def setValue(self,tagname,variable,value): 
    5660                root = self.xmldoc.getElementsByTagName(tagname)[0] 
    57                 root.attributes[variable]._set_value(value) 
     61                if root.attributes.has_key(variable): 
     62                        root.attributes[variable]._set_value(value) 
     63                else: 
     64                        root.setAttribute(variable,value) 
    5865                content = self.xmldoc.toprettyxml() 
    5966                self._saveFile(content) 
    6067 
    6168        def getValue(self,tagname,variable): 
     69                self._load() 
    6270                root = self.xmldoc.getElementsByTagName(tagname)[0] 
    6371                value = root.attributes[variable].value 
     
    6573         
    6674        def getAllValues(self,tagname):  
     75                self._load() 
    6776                root = self.xmldoc.getElementsByTagName(tagname) 
    6877                retorno = []