From: <jb...@us...> - 2010-09-29 21:57:51
|
Revision: 630 http://pytrainer.svn.sourceforge.net/pytrainer/?rev=630&view=rev Author: jblance Date: 2010-09-29 21:57:45 +0000 (Wed, 29 Sep 2010) Log Message: ----------- Export to csv fixes from Arnd Modified Paths: -------------- pytrainer/trunk/pytrainer/gui/filechooser.py pytrainer/trunk/pytrainer/main.py pytrainer/trunk/pytrainer/save.py Modified: pytrainer/trunk/pytrainer/gui/filechooser.py =================================================================== --- pytrainer/trunk/pytrainer/gui/filechooser.py 2010-09-29 21:05:14 UTC (rev 629) +++ pytrainer/trunk/pytrainer/gui/filechooser.py 2010-09-29 21:57:45 UTC (rev 630) @@ -22,33 +22,40 @@ import gtk class FileChooser(SimpleGladeApp): - def __init__(self,data_path = None, parent = None, method = None, action = None): - self.data_path = data_path - self.filename = None - self.parent = parent - self.method = method - root="filechooserdialog" - SimpleGladeApp.__init__(self, data_path+"glade/filechooserdialog.glade", root, None) - if (action == "open"): - self.filechooserdialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN) - filter = gtk.FileFilter() - filter.set_name("gpx files") - filter.add_pattern("*.gpx") - self.filechooserdialog.set_filter(filter) - else: - self.filechooserdialog.set_action(gtk.FILE_CHOOSER_ACTION_SAVE) - self.filechooserdialog.set_current_name("*.csv") + def __init__(self,data_path = None, parent = None, method = None, action = None): + self.data_path = data_path + self.filename = None + self.parent = parent + self.method = method + root="filechooserdialog" + SimpleGladeApp.__init__(self, data_path+"glade/filechooserdialog.glade", root, None) + if (action == "open"): + self.filechooserdialog.set_action(gtk.FILE_CHOOSER_ACTION_OPEN) + filter = gtk.FileFilter() + filter.set_name("gpx files") + filter.add_pattern("*.gpx") + self.filechooserdialog.set_filter(filter) + else: + self.button14.set_label("Save") + self.filechooserdialog.set_action(gtk.FILE_CHOOSER_ACTION_SAVE) + print self.filechooserdialog.get_action() + self.filechooserdialog.set_current_name("*.csv") - def on_accept_clicked(self,widget): - self.filename = self.filechooserdialog.get_filename() - parentmethod = getattr(self.parent,self.method) - parentmethod() - self.closewindow() - - def on_cancel_clicked(self,widget): - self.closewindow() + def on_accept_clicked(self,widget): + try: + self.filename = self.filechooserdialog.get_filename() + except AttributeError: + if self.filename is None: + self.quit() + return + parentmethod = getattr(self.parent,self.method) + parentmethod() + self.closewindow() + + def on_cancel_clicked(self,widget): + self.closewindow() - def closewindow(self): - self.filechooserdialog.hide() - self.filechooserdialog = None - self.quit() + def closewindow(self): + #self.filechooserdialog.hide() + self.filechooserdialog = None + self.quit() Modified: pytrainer/trunk/pytrainer/main.py =================================================================== --- pytrainer/trunk/pytrainer/main.py 2010-09-29 21:05:14 UTC (rev 629) +++ pytrainer/trunk/pytrainer/main.py 2010-09-29 21:57:45 UTC (rev 630) @@ -49,7 +49,7 @@ class pyTrainer: def __init__(self,filename = None, data_path = None): #Version constants - self.version ="1.7.2_svn#629" + self.version ="1.7.2_svn#630" self.DB_version = 3 #Process command line options self.startup_options = self.get_options() Modified: pytrainer/trunk/pytrainer/save.py =================================================================== --- pytrainer/trunk/pytrainer/save.py 2010-09-29 21:05:14 UTC (rev 629) +++ pytrainer/trunk/pytrainer/save.py 2010-09-29 21:57:45 UTC (rev 630) @@ -20,27 +20,38 @@ from gui.filechooser import FileChooser class Save: - def __init__(self, data_path = None, record = None): - self.record = record - self.data_path = data_path + def __init__(self, data_path = None, record = None): + self.record = record + self.data_path = data_path - def run(self): - self.filewindow = FileChooser(self.data_path, self, "savecsvfile") - self.filewindow.run() - - def savecsvfile(self): - filename = self.filewindow.filename - records = self.record.getAllrecord() - content = "" - for record in records: - line = "" - for data in record: - data = "%s" %data - data.replace(",", " ") - line += ", %s" %data - content += "%s \n" %line - file = fileUtils(filename,content) - file.run() - + def run(self): + self.filewindow = FileChooser(self.data_path, self, "savecsvfile") + self.filewindow.run() + + def savecsvfile(self): + filename = self.filewindow.filename + records = self.record.getAllrecord() + # CSV Header + content = "date,distance,time,beats,comments,average,calories\n" + for record in records: + line = "" + for i, data in enumerate(record): + if i in [1, 3, 5]: + try: + data = round(data, 2) + except: + pass + data = "%s" %data + data = data.replace(",", " ") + data = data.replace("\n", " ") + data = data.replace("\r", " ") + if i>0: + line += ",%s" %data + else: + line += "%s" %data + content += "%s\n" %line + file = fileUtils(filename,content) + file.run() + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |