changeset 5:6502bfdaa84d

update import durus database
author Miguel Ángel Bárcena Rodríguez <miguelangel@obraencurso.es>
date Sat, 06 Nov 2010 21:30:33 +0100
parents 4e976a99efb9
children 2fc6b47dbe70
files .hgignore Generic/durusdatabase.py Generic/fiebdc.py Gtk/gui.py Gtk/importFiebdc.py images/acumulatedline.svg images/arrow.svg images/calculate.svg images/calculatedline.svg images/chapter.svg images/close.svg images/connected.svg images/decomposition.svg images/description.svg images/disconnected.svg images/dxf.svg images/image.svg images/labourforce.svg images/machinery.svg images/material.svg images/measure.svg images/menu.svg images/normalline.svg images/parcialline.svg images/pyArq-Presupuestos.svg images/sheet.svg images/throbber.svg images/unit.svg
diffstat 28 files changed, 109 insertions(+), 178 deletions(-) [+]
line wrap: on
line diff
--- a/.hgignore	Sun Oct 31 23:12:06 2010 +0100
+++ b/.hgignore	Sat Nov 06 21:30:33 2010 +0100
@@ -3,3 +3,4 @@
 *.bak
 *.pyc
 *.sh
+durus/*
--- a/Generic/durusdatabase.py	Sun Oct 31 23:12:06 2010 +0100
+++ b/Generic/durusdatabase.py	Sat Nov 06 21:30:33 2010 +0100
@@ -21,9 +21,12 @@
 
 # Modules
 import os.path
+import time
 # Durus Modules
 from durus.file_storage import FileStorage
 from durus.connection import Connection
+# pyArq Presupuestos Modules
+from Generic import utils
 
 class DurusFile(object):
     def __init__(self, file, new):
@@ -44,3 +47,32 @@
         self.__root["budget"] = budget
         self.__connection.commit()
 
+class Read(object):
+    def __init__(self, filename=None, budget=None):
+        self.__budget = budget
+        self.__filename = filename
+        self.__cancel = False
+
+    def cancel(self):
+        """def cancel(self)
+        
+        It do nothing
+        """
+        # TODO: Cancel reading Durus database.
+        self.__cancel = True
+        
+    def readFile(self, budget=None, filename=None, interface=None):
+        if not filename is None:
+            self.__filename = filename
+        if self.__filename is None or self.__cancel == True:
+            return None
+        if not os.path.exists(self.__filename):
+            return None
+        print utils.mapping(_("Loading file: $1:"), (self.__filename,))
+        _time = time.time()
+        _durus_file = DurusFile(self.__filename, False)
+        self.__budget = _durus_file.getBudget()
+        _durus_file.close()
+        print utils.mapping(_("Loadig time: $1 seconds"),
+             (("%.2f" %(time.time()-_time)),))
+        return self.__budget
--- a/Generic/fiebdc.py	Sun Oct 31 23:12:06 2010 +0100
+++ b/Generic/fiebdc.py	Sat Nov 06 21:30:33 2010 +0100
@@ -1938,12 +1938,11 @@
                       recordStatistics(...)
         Return the budget objetc or None if the file can be readed
         """
-        if filename != None and  budget != None:
+        if not filename is None and not budget is None:
             self.__filename = filename
             self.__budget = budget
             self.__budget.filename = self.__filename
-        if self.__filename is None or self.__budget is None or \
-           self.__cancel == True:
+        if self.__filename is None or self.__budget is None or self.__cancel:
             return None
         if not os.path.exists(self.__filename):
             return None
@@ -2014,7 +2013,7 @@
         # beginning of the first registry “~” is ignored
         #"after_first_tilde" : "^[^~]*~"
         _buffer = self.__pattern["after_first_tilde"].sub("",_buffer)
-        while _buffer != "" and self.__cancel != True:
+        while _buffer != "" and not self.__cancel:
             #-# the blank characters (32), tabs (9) and end of line (13 and 10)
             # before the separators '~', '|' are erased.
             # Before separator \ not deleted because it affects the reading of
@@ -2035,7 +2034,7 @@
                                            _record_list[-1])
                 _last_record = ""
             for record in _record_list:
-                if self.__cancel == True:
+                if self.__cancel:
                     break
                 self.parseRecord(record)
             interface.progress(_file.tell() / _filesize)
@@ -2045,7 +2044,7 @@
                 _buffer2 = _buffer2.encode("utf8")
             _buffer = _last_record + _buffer2
         _file.close()
-        if self.__cancel == True:
+        if self.__cancel:
             print _("Cancelled process")
             return None
         else:
--- a/Gtk/gui.py	Sun Oct 31 23:12:06 2010 +0100
+++ b/Gtk/gui.py	Sat Nov 06 21:30:33 2010 +0100
@@ -70,7 +70,7 @@
           (globals.getAppPath("ICON"),))
 
 # Autodetect desktop
-if globals.desktop["autodetect"] is True:
+if globals.desktop["autodetect"]:
     openwith.autodetect_desktop()
     print utils.mapping(_("pyArq-Presupuestos running on $1"),
                         (globals.desktop["desktop"],))
@@ -205,7 +205,7 @@
         
         Appends a budget in the "__budget_list"
         """
-        if budget != None:
+        if not budget is None:
             _budget = budget
             if _budget in self.__budget_temp_list:
                 self.__budget_temp_list.remove(_budget)
@@ -229,8 +229,6 @@
         
         widget: the widget where the event is emitted from
         Callback to open a budget file.
-        Inits a timeout to test if a budgets is appended to "__budget_list"
-        calling _testBudgetList method if it is true.
         
         Creates and shows a window to open a budget file.
         """
@@ -249,17 +247,15 @@
         
         widget: the widget where the event is emitted from
         Callback to open a budget file.
-        Inits a timeout to test if a budgets is appended to "__budget_list"
-        calling _testBudgetList method if it is true.
-        
-        Creates and shows a window to open a budget file.
+        
+        Creates and shows a window to open a price database file.
         """
         _budget = base.Budget()
         self.__budget_temp_list.append(_budget)
         _budget_file = fiebdc.Read()
         _read_method = _budget_file.readFile
         _filename = "file"
-        _filetype = "basedate"
+        _filetype = "database"
         _exit_method = _budget_file.cancel
         _file_window = importFiebdc.FileSelectionWindow(self,
             _read_method, _budget, _filename, _exit_method, _filetype)
@@ -268,32 +264,19 @@
         """def _menuitemOpenPriceDatabase(self, widget)
         
         widget: the widget where the event is emitted from
-        Callback to open a budget file.
-        
-        Creates and shows a window to open a budget file.
+        Callback to open a price database from a durus file.
+        
+        Creates and shows a window to open a durus database
         """
-        _openDialog = OpenDurusDatabase(self._OpenDurusDatabase)
-        _openDialog.main()
-
-    def _OpenDurusDatabase(self, file):
-        """def _menuitemImportFiebdc(self, widget)
-        
-        widget: the widget where the event is emitted from
-        
-        Callback to open a budget file from a durus file.
-        """
-        _file = file
-        print utils.mapping(_("Loading file: $1:"), (_file,))
-        _time = time.time()
-        _durus_file = durusdatabase.DurusFile(_file,False)
-        _budget = _durus_file.getBudget()
-        _durus_file.close()
-        print utils.mapping(("Loadig time: $1 seconds"),
-             (("%.2f" %(time.time()-_time)),))
-        self.__budget_list.append(_budget)
-        _page = Page(_budget)
-        self.__notebook.append_page(_page.widget, _page.title)
-        self.__page_list.append(_page)
+        _budget = None
+        self.__budget_temp_list.append(_budget)
+        _budget_file = durusdatabase.Read()
+        _read_method = _budget_file.readFile
+        _filename = "file"
+        _filetype = "durus"
+        _exit_method = _budget_file.cancel
+        _file_window = importFiebdc.FileSelectionWindow(self,
+            _read_method, _budget, _filename, _exit_method, _filetype)
 
     def _menuitemClose(self, widget):
         """def _menuitemClose(self, widget)
@@ -305,12 +288,17 @@
         _page_num = self.__notebook.get_current_page()
         if _page_num == -1:
             return
-        _page = self.__page_list.pop(_page_num)
+        #_page = self.__page_list.pop(_page_num)
+        _page = self.__page_list[_page_num]
         if isinstance(_page, Page):
             #not loading budget
             self.__budget_list.pop(_page_num)
-        _page.clear()
-        self.__notebook.remove_page(_page_num)
+        if isinstance(_page, EmptyPage) and _page.filetype == "durus":
+            print _("Cancel reading Durus database has not been implemented.")
+        else:
+            self.__page_list.pop(_page_num)
+            _page.clear()
+            self.__notebook.remove_page(_page_num)
 
     def _delete_event(self, widget, event):
         """_delete_event(self, widget, event)
@@ -405,7 +393,8 @@
         _progressframe.set_shadow_type(gtk.SHADOW_IN)
         _progressframe.show()
         self.__progress_bar = gtk.ProgressBar()
-        self.__progress_bar.show()
+        if self.__filetype != "durus":
+            self.__progress_bar.show()
         _progressframe.add(self.__progress_bar)
         self.__statusbar.pack_start(_progressframe, False, False, 0)
         self.__widget.pack_end(self.__statusbar, False, True, 0)
@@ -445,9 +434,12 @@
             2- update time label
             3- If the other timetouts are stoped the window is closed
         """
-        gobject.timeout_add(500, self._updateProgressBar)
         gobject.timeout_add(1000, self._updateLabel, time.time())
-        self.__cancel = [False, False]
+        if self.__filetype != "durus":
+            gobject.timeout_add(500, self._updateProgressBar)
+            self.__cancel = [False, False]
+        else:
+            self.__cancel = [True, False]
         gobject.timeout_add(1000, self._autoClose)
 
     def _updateProgressBar(self):
@@ -492,14 +484,14 @@
         else:
             return True
 
-    def closeWindow(self):
+    def threadFinishedSignal(self, budget):
         """def closeWindow(self)
         
         Sets the __children atribute to None
         This causes that the timeouts is ended.
         This method is called from thread when it is finished
-        TODO: it must called threadFinished or somethig
         """
+        self.__budget = budget
         self.__children = None
         self.stopLoading()
         _page = Page(self.__budget)
@@ -536,16 +528,24 @@
         return self.__widget
 
     def getTitle(self):
-        """def getTtle(self)
+        """def getTitle(self)
         
         Return the title of the page, a gtk.Label objetc
         """
         return self.__title
+    def getFiletype(self):
+        """def getFiletipe(self)
+        
+        Return the title of the page, a gtk.Label objetc
+        """
+        return self.__filetype
 
     widget = property(getWidget, None, None,
                       "Main widget showed in the pane")
     title = property(getTitle, None, None,
                       "Page Title")
+    filetype = property(getFiletype, None, None,
+                      "Filetype: budget, basedata or durus")
 
 class Page(object):
     """gui.Page:
@@ -4399,58 +4399,4 @@
         
         return the main widget (gtk.ScrolledWindow)
         """
-        return self.__widget
-    widget = property(getWidget, None, None,
-        "The main widget (gtk.ScrolledWindow)")
-
-
-class OpenDurusDatabase(object):
-    """gui.OpenFiebdc
-    
-    Description:
-        Class to show a dialog to open a durus price database
-    Constructor:
-       OpenDurusDatabase()
-    Ancestry:
-    +-- object
-      +-- OpenDurusDatabase
-    Atributes:
-        "_openMethod": The method to open the file
-        "__file": the filename to open
-        "__window": the File Selection window
-    Methods:
-        __init__(self)
-        setActiveCode(self, code)
-    """
-    def __init__(self, openMethod):
-        self.__openMethod = openMethod
-        self.__file = None
-        self.__window = gtk.FileSelection("Abrir Archivo")
-        self.__window.connect("destroy", self.destroy)
-        self.__window.ok_button.connect("clicked", self._openFile)
-        self.__window.cancel_button.connect("clicked", 
-            lambda w: self.__window.destroy())
-        self.__window.set_filename(globals.getHomePath("DURUS-DATABASE"))
-        self.__window.show()
-
-    def destroy(self, widget):
-        gtk.main_quit()
-
-    def main(self):
-        gtk.main()
-
-    def _openFile(self, w):
-        self.__file = self.__window.get_filename()
-        _filename = os.path.basename(self.__file)
-        _filename_list = _filename.split(".")
-        _filename_ext = _filename_list[-1]
-        if _filename == "":
-            print _("No file selected")
-        elif len(_filename_list) < 2 or _filename_ext != "durus":
-            print _("The filename must have durus extension")
-        else:
-            try:
-                self.__openMethod(self.__window.get_filename())
-                self.__window.destroy()
-            except IOError:
-                print utils.mapping("IOError, $1", (self.__file,))
+        return self.__widget
\ No newline at end of file
--- a/Gtk/importFiebdc.py	Sun Oct 31 23:12:06 2010 +0100
+++ b/Gtk/importFiebdc.py	Sat Nov 06 21:30:33 2010 +0100
@@ -52,18 +52,15 @@
         "__readFileMethod": Method to read the selected file
         "__budget": Budget object
         "__filename": "file"
-        "__filetype": "budget" or "database"
+        "__filetype": "budget" ,"database" or "durus"
         "__cancelMethod": Method to cancel the read method
         "__file": The selected file
         "__window": The selection file window
     Methods:
         __init__(self, mainWindow, readFileMethod, budget
                  arg_List, cancelMethod)
-        destroy(self, widget)
-        main(self)
         _launchProgressWindow(self, _file)
-        _openFile(self, w)
-        _openFile2(Self, filename)
+        _openFile(self, filename)
     """
 
     def __init__(self, mainWindow, readFileMethod, budget, filename,
@@ -76,7 +73,7 @@
         budget: base.Budget object
         filename: "file"
         cancelMethod: Method to cancel the read method
-        fileytpe: "budget" or "database"
+        fileytpe: "budget", "database" or "durus".
         Sets the init atributes, creates the file selection window
         Connects the events:
             * clicked ok button: _openFile
@@ -96,7 +93,11 @@
             buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL,
                      gtk.STOCK_OPEN,gtk.RESPONSE_OK))
         self.__window.set_default_response(gtk.RESPONSE_OK)
-        self.__window.set_filename(globals.getHomePath("BUDGET"))
+        if self.__filetype == "budget" or self.__filetype == "database":
+            self.__window.set_current_folder(globals.getHomePath("BUDGET"))
+        else: # "durus"
+            self.__window.set_current_folder(
+                globals.getHomePath("DURUS-DATABASE"))
         if self.__window.run() == gtk.RESPONSE_OK:
             self._openFile(self.__window.get_filename())
         self.__window.destroy()
@@ -107,7 +108,6 @@
         Launch the progress window
         """
         self.__filename = file
-
         _emptyPage = gui.EmptyPage(self.__mainWindow, self.__readFileMethod,
                                    self.__budget, self.__filename,
                                    self.__cancelMethod, self.__filetype)
@@ -116,14 +116,6 @@
         self.__mainWindow.getPageList().append(_emptyPage)
         _emptyPage.run()
 
-    def _launchProgressTab(self, file):
-        """def _launchProgressTab(self, file)
-        
-        Launch the progress window
-        """
-        self.__filename = file
-        print "abriendo fichero", self.__filename
-        
     def _openFile(self, filename):
         """def _openFile(self, filename)
         
@@ -140,14 +132,15 @@
         self.__file = _file
         _filename = os.path.basename(self.__file)
         _filename_ext = _filename.split(".")[-1]
-        if _filename_ext != "bc3" and _filename_ext != "BC3":
+        if (self.__filetype == "budget" or self.__filetype == "database") and \
+            _filename_ext != "bc3" and _filename_ext != "BC3":
             print _("The file must have 'bc3' extension")
+        elif self.__filetype == "durus" and _filename_ext != "durus":
+            print _("The file must have 'durus' extension")
         else:
             self.__window.destroy()
-            if self.__file:
-                # TODO: the file exits? is it not binary?, can it be readed?
-                self._launchProgressWindow(self.__file)
-
+            # TODO: the file exits? is it not binary?, can it be readed?
+            self._launchProgressWindow(self.__file)
 
 
 class ProgressWindow(object):
@@ -380,13 +373,13 @@
     +--threading.Thread
       +-- importFiebdc.Thread
     Atributes:
-        "__page": The page instanca that launch the thread
+        "__page": The page instance that launch the thread
         "__mainWindow": gui.MainWindow instance
         "__readFileMethod": Method to read the selected file
         "__budget
         "__filename": "file"
         "__cancelMethod": Method to cancel the read method
-        "__filetype": "budget" or "database"
+        "__filetype": "budget", "database" or "durus"
         "__cancel": Boolean value, True: the thread is stoped
     Methods:
         __init__(self, page, mainWindow,
@@ -407,7 +400,7 @@
         budget: base.Budget object
         filename: "file"
         cancelMethod: Method to cancel the read method
-        feletype: "budget" or "basedate"
+        feletype: "budget", "database" or "durus"
         Sets the instance atributes.
         """
         super(Thread, self).__init__()
@@ -425,16 +418,15 @@
         
         
         """
-        _result = self.__readFileMethod(self.__budget, self.__filename,
+        _budget = self.__readFileMethod(self.__budget, self.__filename,
                                         self.__page)
-        if _result is None:
+        if _budget is None:
             self.__page.threadCanceled()
         else:
             _mainWindow = self.__mainWindow
-            _mainWindow._addBudget(_result)
-            self.__page.closeWindow()
-
-            if self.__filetype == "basedate":
+            _mainWindow._addBudget(_budget)
+            self.__page.threadFinishedSignal(_budget)
+            if self.__filetype == "database":
                 self.saveDurusDatabase()
         self.clear()
         
@@ -475,8 +467,4 @@
         del self.__budget
         del self.__filename
         del self.__cancelMethod
-        del self.__cancel
-
-
-
-
+        del self.__cancel
\ No newline at end of file
--- a/images/acumulatedline.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/acumulatedline.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images"
    sodipodi:docname="acumulatedline.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/arrow.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/arrow.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg4577"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="arrow.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/calculate.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/calculate.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images"
    sodipodi:docname="calculatedline.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/calculatedline.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/calculatedline.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images"
    sodipodi:docname="calculatedline.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/chapter.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/chapter.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg4577"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="chapter.svg">
   <defs
      id="defs4579">
--- a/images/close.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/close.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="close.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/connected.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/connected.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="connected.svg">
   <defs
      id="defs1874">
--- a/images/decomposition.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/decomposition.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg1933"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="decomposition.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/description.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/description.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg1899"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="description.svg">
   <defs
      id="defs1901" />
--- a/images/disconnected.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/disconnected.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="disconnected.svg">
   <defs
      id="defs1874">
--- a/images/dxf.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/dxf.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg2194"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="dxf.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/image.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/image.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg2164"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="image.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/labourforce.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/labourforce.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,8 +14,7 @@
    id="svg2192"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
-   sodipodi:docname="labourforce16.svg">
+   sodipodi:docname="labourforce.svg">
   <defs
      id="defs2194">
     <linearGradient
--- a/images/machinery.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/machinery.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,8 +13,7 @@
    id="svg2316"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
-   sodipodi:docname="machinery16.svg">
+   sodipodi:docname="machinery.svg">
   <defs
      id="defs2318" />
   <sodipodi:namedview
--- a/images/material.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/material.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,8 +14,7 @@
    id="svg2440"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
-   sodipodi:docname="material16.svg">
+   sodipodi:docname="material.svg">
   <defs
      id="defs2442">
     <linearGradient
--- a/images/measure.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/measure.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="measure.svg">
   <defs
      id="defs1874" />
--- a/images/menu.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/menu.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="menu.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/normalline.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/normalline.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images"
    sodipodi:docname="normalline.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/parcialline.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/parcialline.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg1872"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images"
    sodipodi:docname="parcialline.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/pyArq-Presupuestos.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/pyArq-Presupuestos.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,8 +14,7 @@
    id="svg2440"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
-   sodipodi:docname="material16.svg">
+   sodipodi:docname="pyArq-Presupuestos.svg">
   <defs
      id="defs2442">
     <linearGradient
--- a/images/sheet.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/sheet.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -13,7 +13,6 @@
    id="svg1899"
    sodipodi:version="0.32"
    inkscape:version="0.45.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="sheet.svg"
    inkscape:output_extension="org.inkscape.output.svg.inkscape">
   <defs
--- a/images/throbber.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/throbber.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg2816"
    version="1.1"
    inkscape:version="0.47 r22583"
-   inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber.png"
    inkscape:export-xdpi="90"
    inkscape:export-ydpi="90"
    sodipodi:docname="throbber.svg">
@@ -119,7 +118,6 @@
        sodipodi:ry="1.5467961"
        d="m 8.5736698,1.7252818 a 1.016466,1.5467961 0 1 1 -2.0329321,0 1.016466,1.5467961 0 1 1 2.0329321,0 z"
        transform="matrix(1.9676014,0,0,1.9394929,-6.8695653,-0.34617159)"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
     <rect
@@ -129,7 +127,6 @@
        height="16"
        x="-2.8393347e-07"
        y="-2.3374795e-07"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber3.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
     <path
@@ -142,7 +139,6 @@
        sodipodi:ry="1.5467961"
        d="m 8.5736698,1.7252818 a 1.016466,1.5467961 0 1 1 -2.0329321,0 1.016466,1.5467961 0 1 1 2.0329321,0 z"
        transform="matrix(0.9838007,-1.7039928,1.6796501,0.96974643,-6.6627793,16.704335)"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
     <rect
@@ -152,7 +148,6 @@
        height="16"
        x="-18.928202"
        y="-5.0717974"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90"
        transform="matrix(-0.5,-0.8660254,0.8660254,-0.5,0,0)" />
@@ -166,7 +161,6 @@
        sodipodi:ry="1.5467961"
        d="m 8.5736698,1.7252818 a 1.016466,1.5467961 0 1 1 -2.0329321,0 1.016466,1.5467961 0 1 1 2.0329321,0 z"
        transform="matrix(-0.9838007,-1.7039928,1.6796501,-0.96974644,8.2067862,25.050507)"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
     <rect
@@ -176,7 +170,6 @@
        height="16"
        x="-18.928204"
        y="-5.0717978"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber4.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90"
        transform="matrix(-0.5,-0.8660254,0.8660254,-0.5,0,0)" />
@@ -190,7 +183,6 @@
        sodipodi:ry="1.5467961"
        d="m 8.5736698,1.7252818 a 1.016466,1.5467961 0 1 1 -2.0329321,0 1.016466,1.5467961 0 1 1 2.0329321,0 z"
        transform="matrix(-1.9676014,0,0,-1.9394929,22.869564,16.346171)"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
     <rect
@@ -200,7 +192,6 @@
        height="16"
        x="-16"
        y="-16"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber3.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90"
        transform="scale(-1,-1)" />
@@ -214,7 +205,6 @@
        sodipodi:ry="1.5467961"
        d="m 8.5736698,1.7252818 a 1.016466,1.5467961 0 1 1 -2.0329321,0 1.016466,1.5467961 0 1 1 2.0329321,0 z"
        transform="matrix(-0.9838007,1.7039928,-1.6796501,-0.96974643,22.662777,-0.7043353)"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
     <rect
@@ -224,7 +214,6 @@
        height="16"
        x="2.9282029"
        y="-10.928203"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90"
        transform="matrix(0.5,0.8660254,-0.8660254,0.5,0,0)" />
@@ -238,7 +227,6 @@
        sodipodi:ry="1.5467961"
        d="m 8.5736698,1.7252818 a 1.016466,1.5467961 0 1 1 -2.0329321,0 1.016466,1.5467961 0 1 1 2.0329321,0 z"
        transform="matrix(0.9838007,1.7039928,-1.6796501,0.96974644,7.7932129,-9.0505065)"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber5.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90" />
     <rect
@@ -248,7 +236,6 @@
        height="16"
        x="2.9282029"
        y="-10.928203"
-       inkscape:export-filename="/home/io/Desarrollo/FIEBDC-3/pyArq-Presupuestos/images/throbber4.png"
        inkscape:export-xdpi="90"
        inkscape:export-ydpi="90"
        transform="matrix(0.5,0.8660254,-0.8660254,0.5,0,0)" />
--- a/images/unit.svg	Sun Oct 31 23:12:06 2010 +0100
+++ b/images/unit.svg	Sat Nov 06 21:30:33 2010 +0100
@@ -14,7 +14,6 @@
    id="svg1884"
    sodipodi:version="0.32"
    inkscape:version="0.44.1"
-   sodipodi:docbase="/home/io/Desarrollo/FIEBDC-3/Arquimeter/images"
    sodipodi:docname="unit.svg">
   <defs
      id="defs1886">