|
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.
|