[gyrus/gyrus-python] modified: ChangeLog



commit 13c1291f9fcdec4fc76b503d5c5628f680e137b2
Author: Alejandro Valdes jimenez <avaldes amvj in utalca cl>
Date:   Thu Jul 9 13:05:40 2009 -0400

    	modified:   ChangeLog
    	modified:   src/GyrusReport.py
    	modified:   src/Makefile.am
    	modified:   src/gyrus.py

 ChangeLog          |    6 ++++++
 src/GyrusReport.py |    4 ++--
 src/Makefile.am    |    1 +
 src/gyrus.py       |   13 ++++++++++++-
 4 files changed, 21 insertions(+), 3 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 50b5ed7..3f9c742 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2009-07-09  Alejandro Valdes jimenez  <avaldes gnome org>
 
+	* src/GyrusReport.py: add script for export data to CSV format.
+	* src/Makefile.am: add file.
+	* src/gyrus.py: add menuitem for export.
+
+2009-07-09  Alejandro Valdes jimenez  <avaldes gnome org>
+
 	* src/gyrus.py: remove translator.
 	Fixes bug #520811
 
diff --git a/src/GyrusReport.py b/src/GyrusReport.py
index 1746649..7a68c98 100644
--- a/src/GyrusReport.py
+++ b/src/GyrusReport.py
@@ -128,7 +128,7 @@ class GyrusReport:
 
         while (iter and count < end):
             usr = model.get_name_mailbox(iter)
-            free, quota = model.get_quota_of_mailbox(iter)
+            quota,free = model.get_quota_of_mailbox(iter)
 
             self.print_string(cairo_context,layout,x,y,usr)
             self.print_string(cairo_context,layout,x + PAGE_POS_COLUMN_2,y,str(quota))
@@ -137,7 +137,7 @@ class GyrusReport:
             if (quota == 0):
                 self.print_string(cairo_context,layout,x + PAGE_POS_COLUMN_5,y, str('%     0'))
             else:
-                self.print_string(cairo_context,layout,x + PAGE_POS_COLUMN_5,y, str('%% %3.0f' % ((free*1.0/quota)*100) ))
+                self.print_string(cairo_context,layout,x + PAGE_POS_COLUMN_5,y, str('%% %3.0f' % (((quota - free)*1.0/quota)*100) ))
             y = y + SPACE_PER_LINE
 
             iter = model.iter_next(iter)
diff --git a/src/Makefile.am b/src/Makefile.am
index c0b4210..0806db8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -16,6 +16,7 @@ app_PYTHON = \
 	GyrusAclStore.py \
 	GyrusDialogFindMailbox.py \
 	GyrusReport.py \
+	GyrusExport.py \
 	GyrusSession.py \
 	gyrus_util.py
 	
diff --git a/src/gyrus.py b/src/gyrus.py
index 1f0da59..02846ae 100644
--- a/src/gyrus.py
+++ b/src/gyrus.py
@@ -21,6 +21,7 @@ from GyrusDialogFindMailbox import GyrusDialogFindMailbox
 from GyrusReport import GyrusReport
 from GyrusAdmin import GyrusAdmin
 from GyrusSession import GyrusSession
+from GyrusExport import GyrusExport
 
  
 
@@ -34,6 +35,7 @@ UI = '''<ui>
       <menuitem action="OpenSession"/>
       <separator/>
       <menuitem action="Report"/>
+      <menuitem action="Export"/>
       <separator/>
       <menuitem action="Quit"/>
     </menu>
@@ -66,6 +68,7 @@ UI = '''<ui>
       <toolitem action="Refresh"/>
       <separator/>
       <toolitem action="Report"/>
+      <toolitem action="Export"/>
       <separator/>
       <toolitem action="Quit"/>
     </placeholder>
@@ -156,7 +159,7 @@ class Gyrus:
              ('Find', gtk.STOCK_FIND, _('Find mailbox'),None, _('Search for a mailbox in current server'), self.on_find_action),
              ('Refresh', gtk.STOCK_REFRESH, None,'<control>R', _('Refresh the mailbox list'), self.on_refresh_action),
              ('Report', gtk.STOCK_INDEX, _('Create report'),None, _('Create report of users with quota problems'), self.on_report_action),
-            ])
+             ('Export', gtk.STOCK_SELECT_ALL, _('Export to CSV'),None, _('Export to CSV file'), self.on_export_action),])
 
         self.actiongroup_mailbox.add_actions([
              ('RemoveMailbox', gtk.STOCK_REMOVE, _('Remove mailbox'), None,
@@ -220,8 +223,16 @@ class Gyrus:
         self.session = GyrusSession(self)
         self.session.load_interface()
         self.session.load_preferences(None)
+
+    def on_export_action(self,action):
+        admin = self.get_current_gyrus_admin()
         
+        self.export = GyrusExport()
+        filename = self.export.load_interface()
+        if not filename == None:
+            self.export.save_file (filename,admin)
 
+    
     def quit_program(self,data1=None,data2=None):
         "Quit of program"
         gtk.main_quit()



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]