def save(self, doc=''): if not doc: doc = self.current_doc if not doc.doc_file: return self.save_as() ext = os.path.splitext(self.current_doc.doc_file)[1] if not ext[1:]: return self.save_as() if not os.path.lexists(os.path.dirname(self.current_doc.doc_file)): return self.save_as() try: msg = _('Model saving for') + ' "%s" ' % (doc.doc_file) uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.JOB, msg) doc.save() events.emit(events.DOC_SAVED, doc) except: details = sys.exc_info()[1].__str__() + sys.exc_info()[2].__str__() msg = _('Cannot save file') msg = "%s '%s'" % (msg, self.current_doc.doc_file) sec = _('Please check file write permissions') uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.STOP, msg) dialogs.msg_dialog(self.mw, self.appdata.app_name, msg, sec, details) return False events.emit(events.APP_STATUS, _('Document saved')) return True
def open(self, doc_file=''): if not doc_file: doc_file = dialogs.get_open_file_name(self.mw, self, config.open_dir) if os.path.lexists(doc_file) and os.path.isfile(doc_file): try: msg = _('Model creation for') + ' "%s" ' % (doc_file) uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.JOB, msg) doc = SW_Presenter(self, doc_file) except: details = sys.exc_info()[1].__str__( ) + '\n' + traceback.format_tb(sys.exc_info()[2])[0] msg = _('Cannot open file') msg = "%s '%s'" % (msg, doc_file) sec = _('The file may be corrupted or not supported format') uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.STOP, msg) dialogs.msg_dialog(self.mw, self.appdata.app_name, msg, sec, details) return self.docs.append(doc) self.set_current_doc(doc) config.open_dir = os.path.dirname(doc_file) events.emit(events.APP_STATUS, _('Document opened'))
def save_as(self): doc_file = '' + self.current_doc.doc_file if not doc_file: doc_file = '' + self.current_doc.doc_name if not os.path.lexists(os.path.dirname(doc_file)): doc_file = os.path.join(config.save_dir, os.path.basename(doc_file)) doc_file = dialogs.get_save_file_name(self.mw, self, doc_file) if doc_file: old_file = self.current_doc.doc_file old_name = self.current_doc.doc_name self.current_doc.set_doc_file(doc_file) try: msg = _('Model saving for') + ' "%s" ' % (doc_file) uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.JOB, msg) self.current_doc.save() except IOError: self.current_doc.set_doc_file(old_file, old_name) details = sys.exc_info()[1].__str__() + sys.exc_info()[2].__str__() first = _('Cannot save document') sec = _('Please check file name and write permissions') msg = ("%s '%s'.") % (first, self.current_doc.doc_name) uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.STOP, msg) dialogs.msg_dialog(self.mw, self.appdata.app_name, msg, sec, details) return False config.save_dir = os.path.dirname(doc_file) events.emit(events.APP_STATUS, _('Document saved')) return True else: return False
def open(self, doc_file=''): if not doc_file: doc_file = dialogs.get_open_file_name(self.mw, self, config.open_dir) if os.path.lexists(doc_file) and os.path.isfile(doc_file): try: msg = _('Model creation for') + ' "%s" ' % (doc_file) uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.JOB, msg) doc = SW_Presenter(self, doc_file) except: details = sys.exc_info()[1].__str__() + '\n' + traceback.format_tb(sys.exc_info()[2])[0] msg = _('Cannot open file') msg = "%s '%s'" % (msg, doc_file) sec = _('The file may be corrupted or not supported format') uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.STOP, msg) dialogs.msg_dialog(self.mw, self.appdata.app_name, msg, sec, details) return self.docs.append(doc) self.set_current_doc(doc) config.open_dir = os.path.dirname(doc_file) events.emit(events.APP_STATUS, _('Document opened'))
def save_as(self): doc_file = self.current_doc.doc_file if not doc_file: doc_file = self.current_doc.doc_name if not os.path.lexists(os.path.dirname(doc_file)): doc_file = os.path.join(config.save_dir, os.path.basename(doc_file)) doc_file = dialogs.get_save_file_name(self.mw, self, doc_file) if doc_file: old_file = self.current_doc.doc_file old_name = self.current_doc.doc_name self.current_doc.set_doc_file(doc_file) try: msg = _('Model saving for') + ' "%s" ' % (doc_file) uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.JOB, msg) self.current_doc.save() except IOError: self.current_doc.set_doc_file(old_file, old_name) details = sys.exc_info()[1].__str__() + sys.exc_info()[2].__str__() first = _('Cannot save document') sec = _('Please check file name and write permissions') msg = ("%s '%s'.") % (first, self.current_doc.doc_name) uc2.events.emit(uc2.events.MESSAGES, uc2.msgconst.STOP, msg) dialogs.msg_dialog(self.mw, self.appdata.app_name, msg, sec, details) return False config.save_dir = os.path.dirname(doc_file) events.emit(events.APP_STATUS, _('Document saved')) return True else: return False
def set_path(self, pathname, undo=False): try: os.listdir(pathname) except: msg = _('Access error to') msg = "%s '%s'" % (msg, pathname) sec = sys.exc_info()[1].__str__() dialogs.msg_dialog(self.mw, self.app.appdata.app_name, msg, sec, gtk.MESSAGE_ERROR) return if undo: pass else: self.undo += [self.current_dir, ] self.current_dir = "" + pathname self.update_view()
def load(self, pathname): msg = _('Request to open file') msg = "%s '%s'" % (msg, pathname) sec = _('The open operation will be implemented soon.') dialogs.msg_dialog(self.mw, self.appdata.app_name, msg, sec, gtk.MESSAGE_INFO)
def _edit_stub(self): msg = _('Model editor is not found for ') msg = "%s '%s'" % (msg, self.app.current_doc.doc_file) sec = _('Install model editor and try again.') dialogs.msg_dialog(self.mw, self.app.appdata.app_name, msg, sec)