Mercurial > pyarq-presupuestos
comparison Gtk/importFiebdc.py @ 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 |
comparison
equal
deleted
inserted
replaced
| 4:4e976a99efb9 | 5:6502bfdaa84d |
|---|---|
| 50 Atributes: | 50 Atributes: |
| 51 "__mainWindow": gui.MainWindow object | 51 "__mainWindow": gui.MainWindow object |
| 52 "__readFileMethod": Method to read the selected file | 52 "__readFileMethod": Method to read the selected file |
| 53 "__budget": Budget object | 53 "__budget": Budget object |
| 54 "__filename": "file" | 54 "__filename": "file" |
| 55 "__filetype": "budget" or "database" | 55 "__filetype": "budget" ,"database" or "durus" |
| 56 "__cancelMethod": Method to cancel the read method | 56 "__cancelMethod": Method to cancel the read method |
| 57 "__file": The selected file | 57 "__file": The selected file |
| 58 "__window": The selection file window | 58 "__window": The selection file window |
| 59 Methods: | 59 Methods: |
| 60 __init__(self, mainWindow, readFileMethod, budget | 60 __init__(self, mainWindow, readFileMethod, budget |
| 61 arg_List, cancelMethod) | 61 arg_List, cancelMethod) |
| 62 destroy(self, widget) | |
| 63 main(self) | |
| 64 _launchProgressWindow(self, _file) | 62 _launchProgressWindow(self, _file) |
| 65 _openFile(self, w) | 63 _openFile(self, filename) |
| 66 _openFile2(Self, filename) | |
| 67 """ | 64 """ |
| 68 | 65 |
| 69 def __init__(self, mainWindow, readFileMethod, budget, filename, | 66 def __init__(self, mainWindow, readFileMethod, budget, filename, |
| 70 cancelMethod, filetype): | 67 cancelMethod, filetype): |
| 71 """def __init__(self, mainWindow, readFileMethod, budget, | 68 """def __init__(self, mainWindow, readFileMethod, budget, |
| 74 mainWindow: gui.MainWindow object | 71 mainWindow: gui.MainWindow object |
| 75 readFileMethod: Method to read the selected file | 72 readFileMethod: Method to read the selected file |
| 76 budget: base.Budget object | 73 budget: base.Budget object |
| 77 filename: "file" | 74 filename: "file" |
| 78 cancelMethod: Method to cancel the read method | 75 cancelMethod: Method to cancel the read method |
| 79 fileytpe: "budget" or "database" | 76 fileytpe: "budget", "database" or "durus". |
| 80 Sets the init atributes, creates the file selection window | 77 Sets the init atributes, creates the file selection window |
| 81 Connects the events: | 78 Connects the events: |
| 82 * clicked ok button: _openFile | 79 * clicked ok button: _openFile |
| 83 * clicked cancel button: destroy window | 80 * clicked cancel button: destroy window |
| 84 * destroy event: _destroy | 81 * destroy event: _destroy |
| 94 self.__window = gtk.FileChooserDialog(title=_("Open File"), | 91 self.__window = gtk.FileChooserDialog(title=_("Open File"), |
| 95 action=gtk.FILE_CHOOSER_ACTION_OPEN, | 92 action=gtk.FILE_CHOOSER_ACTION_OPEN, |
| 96 buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL, | 93 buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL, |
| 97 gtk.STOCK_OPEN,gtk.RESPONSE_OK)) | 94 gtk.STOCK_OPEN,gtk.RESPONSE_OK)) |
| 98 self.__window.set_default_response(gtk.RESPONSE_OK) | 95 self.__window.set_default_response(gtk.RESPONSE_OK) |
| 99 self.__window.set_filename(globals.getHomePath("BUDGET")) | 96 if self.__filetype == "budget" or self.__filetype == "database": |
| 97 self.__window.set_current_folder(globals.getHomePath("BUDGET")) | |
| 98 else: # "durus" | |
| 99 self.__window.set_current_folder( | |
| 100 globals.getHomePath("DURUS-DATABASE")) | |
| 100 if self.__window.run() == gtk.RESPONSE_OK: | 101 if self.__window.run() == gtk.RESPONSE_OK: |
| 101 self._openFile(self.__window.get_filename()) | 102 self._openFile(self.__window.get_filename()) |
| 102 self.__window.destroy() | 103 self.__window.destroy() |
| 103 | 104 |
| 104 def _launchProgressWindow(self, file): | 105 def _launchProgressWindow(self, file): |
| 105 """def _launchProgressWindow(self, file) | 106 """def _launchProgressWindow(self, file) |
| 106 | 107 |
| 107 Launch the progress window | 108 Launch the progress window |
| 108 """ | 109 """ |
| 109 self.__filename = file | 110 self.__filename = file |
| 110 | |
| 111 _emptyPage = gui.EmptyPage(self.__mainWindow, self.__readFileMethod, | 111 _emptyPage = gui.EmptyPage(self.__mainWindow, self.__readFileMethod, |
| 112 self.__budget, self.__filename, | 112 self.__budget, self.__filename, |
| 113 self.__cancelMethod, self.__filetype) | 113 self.__cancelMethod, self.__filetype) |
| 114 self.__mainWindow.getNotebook().append_page(_emptyPage.widget, | 114 self.__mainWindow.getNotebook().append_page(_emptyPage.widget, |
| 115 _emptyPage.title) | 115 _emptyPage.title) |
| 116 self.__mainWindow.getPageList().append(_emptyPage) | 116 self.__mainWindow.getPageList().append(_emptyPage) |
| 117 _emptyPage.run() | 117 _emptyPage.run() |
| 118 | 118 |
| 119 def _launchProgressTab(self, file): | |
| 120 """def _launchProgressTab(self, file) | |
| 121 | |
| 122 Launch the progress window | |
| 123 """ | |
| 124 self.__filename = file | |
| 125 print "abriendo fichero", self.__filename | |
| 126 | |
| 127 def _openFile(self, filename): | 119 def _openFile(self, filename): |
| 128 """def _openFile(self, filename) | 120 """def _openFile(self, filename) |
| 129 | 121 |
| 130 filename: the filename to open | 122 filename: the filename to open |
| 131 If the selected file has a bc3 extension | 123 If the selected file has a bc3 extension |
| 138 _file = _file.encode("utf-8") | 130 _file = _file.encode("utf-8") |
| 139 #-# | 131 #-# |
| 140 self.__file = _file | 132 self.__file = _file |
| 141 _filename = os.path.basename(self.__file) | 133 _filename = os.path.basename(self.__file) |
| 142 _filename_ext = _filename.split(".")[-1] | 134 _filename_ext = _filename.split(".")[-1] |
| 143 if _filename_ext != "bc3" and _filename_ext != "BC3": | 135 if (self.__filetype == "budget" or self.__filetype == "database") and \ |
| 136 _filename_ext != "bc3" and _filename_ext != "BC3": | |
| 144 print _("The file must have 'bc3' extension") | 137 print _("The file must have 'bc3' extension") |
| 138 elif self.__filetype == "durus" and _filename_ext != "durus": | |
| 139 print _("The file must have 'durus' extension") | |
| 145 else: | 140 else: |
| 146 self.__window.destroy() | 141 self.__window.destroy() |
| 147 if self.__file: | 142 # TODO: the file exits? is it not binary?, can it be readed? |
| 148 # TODO: the file exits? is it not binary?, can it be readed? | 143 self._launchProgressWindow(self.__file) |
| 149 self._launchProgressWindow(self.__file) | |
| 150 | |
| 151 | 144 |
| 152 | 145 |
| 153 class ProgressWindow(object): | 146 class ProgressWindow(object): |
| 154 """importFiebdc.ProgressWindow: | 147 """importFiebdc.ProgressWindow: |
| 155 | 148 |
| 378 readFileMethod, budget, filename, cancelMethod, filetype) | 371 readFileMethod, budget, filename, cancelMethod, filetype) |
| 379 Ancestry: | 372 Ancestry: |
| 380 +--threading.Thread | 373 +--threading.Thread |
| 381 +-- importFiebdc.Thread | 374 +-- importFiebdc.Thread |
| 382 Atributes: | 375 Atributes: |
| 383 "__page": The page instanca that launch the thread | 376 "__page": The page instance that launch the thread |
| 384 "__mainWindow": gui.MainWindow instance | 377 "__mainWindow": gui.MainWindow instance |
| 385 "__readFileMethod": Method to read the selected file | 378 "__readFileMethod": Method to read the selected file |
| 386 "__budget | 379 "__budget |
| 387 "__filename": "file" | 380 "__filename": "file" |
| 388 "__cancelMethod": Method to cancel the read method | 381 "__cancelMethod": Method to cancel the read method |
| 389 "__filetype": "budget" or "database" | 382 "__filetype": "budget", "database" or "durus" |
| 390 "__cancel": Boolean value, True: the thread is stoped | 383 "__cancel": Boolean value, True: the thread is stoped |
| 391 Methods: | 384 Methods: |
| 392 __init__(self, page, mainWindow, | 385 __init__(self, page, mainWindow, |
| 393 readFileMethod, arg_tuple, cancelMethod) | 386 readFileMethod, arg_tuple, cancelMethod) |
| 394 run(self) | 387 run(self) |
| 405 mainWindow: gui.Mainwindow object | 398 mainWindow: gui.Mainwindow object |
| 406 readFileMethod: Method to read the selected file | 399 readFileMethod: Method to read the selected file |
| 407 budget: base.Budget object | 400 budget: base.Budget object |
| 408 filename: "file" | 401 filename: "file" |
| 409 cancelMethod: Method to cancel the read method | 402 cancelMethod: Method to cancel the read method |
| 410 feletype: "budget" or "basedate" | 403 feletype: "budget", "database" or "durus" |
| 411 Sets the instance atributes. | 404 Sets the instance atributes. |
| 412 """ | 405 """ |
| 413 super(Thread, self).__init__() | 406 super(Thread, self).__init__() |
| 414 self.__page = page | 407 self.__page = page |
| 415 self.__mainWindow = mainWindow | 408 self.__mainWindow = mainWindow |
| 423 def run(self): | 416 def run(self): |
| 424 """run(self) | 417 """run(self) |
| 425 | 418 |
| 426 | 419 |
| 427 """ | 420 """ |
| 428 _result = self.__readFileMethod(self.__budget, self.__filename, | 421 _budget = self.__readFileMethod(self.__budget, self.__filename, |
| 429 self.__page) | 422 self.__page) |
| 430 if _result is None: | 423 if _budget is None: |
| 431 self.__page.threadCanceled() | 424 self.__page.threadCanceled() |
| 432 else: | 425 else: |
| 433 _mainWindow = self.__mainWindow | 426 _mainWindow = self.__mainWindow |
| 434 _mainWindow._addBudget(_result) | 427 _mainWindow._addBudget(_budget) |
| 435 self.__page.closeWindow() | 428 self.__page.threadFinishedSignal(_budget) |
| 436 | 429 if self.__filetype == "database": |
| 437 if self.__filetype == "basedate": | |
| 438 self.saveDurusDatabase() | 430 self.saveDurusDatabase() |
| 439 self.clear() | 431 self.clear() |
| 440 | 432 |
| 441 def saveDurusDatabase(self): | 433 def saveDurusDatabase(self): |
| 442 _path = globals.getHomePath("DURUS-DATABASE") | 434 _path = globals.getHomePath("DURUS-DATABASE") |
| 474 del self.__readFileMethod | 466 del self.__readFileMethod |
| 475 del self.__budget | 467 del self.__budget |
| 476 del self.__filename | 468 del self.__filename |
| 477 del self.__cancelMethod | 469 del self.__cancelMethod |
| 478 del self.__cancel | 470 del self.__cancel |
| 479 | |
| 480 | |
| 481 | |
| 482 |
