Mercurial > pyarq-presupuestos
comparison Gtk/importFiebdc.py @ 4:4e976a99efb9
update ImportPriceDatabase
| author | Miguel Ángel Bárcena Rodríguez <miguelangel@obraencurso.es> |
|---|---|
| date | Sun, 31 Oct 2010 23:12:06 +0100 |
| parents | 2ac1551ad2ab |
| children | 6502bfdaa84d |
comparison
equal
deleted
inserted
replaced
| 3:a221c14c3c31 | 4:4e976a99efb9 |
|---|---|
| 28 import gtk | 28 import gtk |
| 29 import gobject | 29 import gobject |
| 30 import threading | 30 import threading |
| 31 gobject.threads_init() | 31 gobject.threads_init() |
| 32 | 32 |
| 33 # pyArq-Presupuestos Modules | |
| 33 from Generic import utils | 34 from Generic import utils |
| 34 from Generic import globals | 35 from Generic import globals |
| 36 from Generic import durusdatabase | |
| 35 import gui | 37 import gui |
| 36 | 38 |
| 37 class FileSelectionWindow(object): | 39 class FileSelectionWindow(object): |
| 38 """importFiebdc.FileSelectionWindow: | 40 """importFiebdc.FileSelectionWindow: |
| 39 | 41 |
| 40 Description: | 42 Description: |
| 41 Class to show the selection file window | 43 Class to show the selection file window |
| 42 Constructor: | 44 Constructor: |
| 43 importFiebdc.FileSelectionWindow(mainWindow, readFileMethod, | 45 importFiebdc.FileSelectionWindow(mainWindow, readFileMethod, budget, |
| 44 budget, arg_List, cancelMethod) | 46 filename, cancelMethod, filetype) |
| 45 Ancestry: | 47 Ancestry: |
| 46 +-- object | 48 +-- object |
| 47 +-- FileSelectionWindow | 49 +-- FileSelectionWindow |
| 48 Atributes: | 50 Atributes: |
| 49 "__mainWindow": gui.MainWindow object | 51 "__mainWindow": gui.MainWindow object |
| 50 "__readFileMethod": Method to read the selected file | 52 "__readFileMethod": Method to read the selected file |
| 51 "__budget": Budget object | 53 "__budget": Budget object |
| 52 "__filename": "file" | 54 "__filename": "file" |
| 55 "__filetype": "budget" or "database" | |
| 53 "__cancelMethod": Method to cancel the read method | 56 "__cancelMethod": Method to cancel the read method |
| 54 "__file": The selected file | 57 "__file": The selected file |
| 55 "__window": The selection file window | 58 "__window": The selection file window |
| 56 Methods: | 59 Methods: |
| 57 __init__(self, mainWindow, readFileMethod, budget | 60 __init__(self, mainWindow, readFileMethod, budget |
| 62 _openFile(self, w) | 65 _openFile(self, w) |
| 63 _openFile2(Self, filename) | 66 _openFile2(Self, filename) |
| 64 """ | 67 """ |
| 65 | 68 |
| 66 def __init__(self, mainWindow, readFileMethod, budget, filename, | 69 def __init__(self, mainWindow, readFileMethod, budget, filename, |
| 67 cancelMethod): | 70 cancelMethod, filetype): |
| 68 """def __init__(self, mainWindow, readFileMethod, budget, | 71 """def __init__(self, mainWindow, readFileMethod, budget, |
| 69 filename, cancelMethod) | 72 filename, cancelMethod, filetype) |
| 70 | 73 |
| 71 mainWindow: gui.MainWindow object | 74 mainWindow: gui.MainWindow object |
| 72 readFileMethod: Method to read the selected file | 75 readFileMethod: Method to read the selected file |
| 73 budget: base.Budget object | 76 budget: base.Budget object |
| 74 filename: "file" | 77 filename: "file" |
| 75 cancelMethod: Method to cancel the read method | 78 cancelMethod: Method to cancel the read method |
| 79 fileytpe: "budget" or "database" | |
| 76 Sets the init atributes, creates the file selection window | 80 Sets the init atributes, creates the file selection window |
| 77 Connects the events: | 81 Connects the events: |
| 78 * clicked ok button: _openFile | 82 * clicked ok button: _openFile |
| 79 * clicked cancel button: destroy window | 83 * clicked cancel button: destroy window |
| 80 * destroy event: _destroy | 84 * destroy event: _destroy |
| 82 # TODO: Add file filter | 86 # TODO: Add file filter |
| 83 self.__mainWindow = mainWindow | 87 self.__mainWindow = mainWindow |
| 84 self.__readFileMethod = readFileMethod | 88 self.__readFileMethod = readFileMethod |
| 85 self.__budget = budget | 89 self.__budget = budget |
| 86 self.__filename = filename | 90 self.__filename = filename |
| 91 self.__filetype = filetype | |
| 87 self.__cancelMethod = cancelMethod | 92 self.__cancelMethod = cancelMethod |
| 88 self.__file = None | 93 self.__file = None |
| 89 self.__window = gtk.FileChooserDialog(title=_("Open File"), | 94 self.__window = gtk.FileChooserDialog(title=_("Open File"), |
| 90 action=gtk.FILE_CHOOSER_ACTION_OPEN, | 95 action=gtk.FILE_CHOOSER_ACTION_OPEN, |
| 91 buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL, | 96 buttons=(gtk.STOCK_CANCEL,gtk.RESPONSE_CANCEL, |
| 103 """ | 108 """ |
| 104 self.__filename = file | 109 self.__filename = file |
| 105 | 110 |
| 106 _emptyPage = gui.EmptyPage(self.__mainWindow, self.__readFileMethod, | 111 _emptyPage = gui.EmptyPage(self.__mainWindow, self.__readFileMethod, |
| 107 self.__budget, self.__filename, | 112 self.__budget, self.__filename, |
| 108 self.__cancelMethod) | 113 self.__cancelMethod, self.__filetype) |
| 109 self.__mainWindow.getNotebook().append_page(_emptyPage.widget, | 114 self.__mainWindow.getNotebook().append_page(_emptyPage.widget, |
| 110 _emptyPage.title) | 115 _emptyPage.title) |
| 111 self.__mainWindow.getPageList().append(_emptyPage) | 116 self.__mainWindow.getPageList().append(_emptyPage) |
| 112 _emptyPage.run() | 117 _emptyPage.run() |
| 113 | 118 |
| 368 | 373 |
| 369 Description: | 374 Description: |
| 370 Thread class to read a file without freeze the gui | 375 Thread class to read a file without freeze the gui |
| 371 Constructor: | 376 Constructor: |
| 372 importFiebdc.Thread(page, mainWindow, | 377 importFiebdc.Thread(page, mainWindow, |
| 373 readFileMethod, arg_tuple, cancelMethod) | 378 readFileMethod, budget, filename, cancelMethod, filetype) |
| 374 Ancestry: | 379 Ancestry: |
| 375 +--threading.Thread | 380 +--threading.Thread |
| 376 +-- importFiebdc.Thread | 381 +-- importFiebdc.Thread |
| 377 Atributes: | 382 Atributes: |
| 378 "__page": The page instanca that launch the thread | 383 "__page": The page instanca that launch the thread |
| 379 "__mainWindow": gui.MainWindow instance | 384 "__mainWindow": gui.MainWindow instance |
| 380 "__readFileMethod": Method to read the selected file | 385 "__readFileMethod": Method to read the selected file |
| 381 "__arg_tuple": ("file", base.Budget()) | 386 "__budget |
| 387 "__filename": "file" | |
| 382 "__cancelMethod": Method to cancel the read method | 388 "__cancelMethod": Method to cancel the read method |
| 389 "__filetype": "budget" or "database" | |
| 383 "__cancel": Boolean value, True: the thread is stoped | 390 "__cancel": Boolean value, True: the thread is stoped |
| 384 Methods: | 391 Methods: |
| 385 __init__(self, page, mainWindow, | 392 __init__(self, page, mainWindow, |
| 386 readFileMethod, arg_tuple, cancelMethod) | 393 readFileMethod, arg_tuple, cancelMethod) |
| 387 run(self) | 394 run(self) |
| 388 cancel(self) | 395 cancel(self) |
| 389 isCanceled(self) | 396 isCanceled(self) |
| 390 """ | 397 """ |
| 391 | 398 |
| 392 def __init__(self, page, mainWindow, | 399 def __init__(self, page, mainWindow, |
| 393 readFileMethod, budget, filename, cancelMethod): | 400 readFileMethod, budget, filename, cancelMethod, filetype): |
| 394 """def __init__(self, page, mainWindow, | 401 """def __init__(self, page, mainWindow, |
| 395 readFileMethod, budget, filename, cancelMethod) | 402 readFileMethod, budget, filename, cancelMethod) |
| 396 | 403 |
| 397 page: The page instance that launch the thread | 404 page: The page instance that launch the thread |
| 398 mainWindow: gui.Mainwindow object | 405 mainWindow: gui.Mainwindow object |
| 399 readFileMethod: Method to read the selected file | 406 readFileMethod: Method to read the selected file |
| 400 budget: base.Budget object | 407 budget: base.Budget object |
| 401 filename: "file" | 408 filename: "file" |
| 402 cancelMethod: Method to cancel the read method | 409 cancelMethod: Method to cancel the read method |
| 410 feletype: "budget" or "basedate" | |
| 403 Sets the instance atributes. | 411 Sets the instance atributes. |
| 404 """ | 412 """ |
| 405 super(Thread, self).__init__() | 413 super(Thread, self).__init__() |
| 406 self.__page = page | 414 self.__page = page |
| 407 self.__mainWindow = mainWindow | 415 self.__mainWindow = mainWindow |
| 408 self.__readFileMethod = readFileMethod | 416 self.__readFileMethod = readFileMethod |
| 409 self.__budget = budget | 417 self.__budget = budget |
| 410 self.__filename = filename | 418 self.__filename = filename |
| 411 self.__cancelMethod = cancelMethod | 419 self.__cancelMethod = cancelMethod |
| 420 self.__filetype = filetype | |
| 412 self.__cancel = False | 421 self.__cancel = False |
| 413 | 422 |
| 414 def run(self): | 423 def run(self): |
| 415 """run(self) | 424 """run(self) |
| 416 | 425 |
| 422 self.__page.threadCanceled() | 431 self.__page.threadCanceled() |
| 423 else: | 432 else: |
| 424 _mainWindow = self.__mainWindow | 433 _mainWindow = self.__mainWindow |
| 425 _mainWindow._addBudget(_result) | 434 _mainWindow._addBudget(_result) |
| 426 self.__page.closeWindow() | 435 self.__page.closeWindow() |
| 436 | |
| 437 if self.__filetype == "basedate": | |
| 438 self.saveDurusDatabase() | |
| 427 self.clear() | 439 self.clear() |
| 440 | |
| 441 def saveDurusDatabase(self): | |
| 442 _path = globals.getHomePath("DURUS-DATABASE") | |
| 443 _file_whit_path_bc3 = self.__budget.filename | |
| 444 _filename_bc3 = _file_whit_path_bc3.split("/")[-1] | |
| 445 _filename = _filename_bc3.split(".")[-2] | |
| 446 _file = _path + _filename + ".durus" | |
| 447 print utils.mapping(_("Saving file: $1"), (_file,)) | |
| 448 _time = time.time() | |
| 449 _durus_file = durusdatabase.DurusFile(_file,True) | |
| 450 _durus_file.setBudget(self.__budget) | |
| 451 _durus_file.close() | |
| 452 print utils.mapping(_("Saving time: $1 seconds"), | |
| 453 (("%.2f" %(time.time()-_time) ),)) | |
| 428 | 454 |
| 429 def cancel(self): | 455 def cancel(self): |
| 430 """cancel(self) | 456 """cancel(self) |
| 431 | 457 |
| 432 Sets the "__cancel" atribute to True and call "__cancelMethod" to stop | 458 Sets the "__cancel" atribute to True and call "__cancelMethod" to stop |
