def save_selected(self): doc_file = self.current_doc.doc_file doc_file = doc_file or self.current_doc.doc_name if os.path.splitext(doc_file)[1] != "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0] if not fsutils.lexists(os.path.dirname(doc_file)): doc_file = os.path.join(config.save_dir, os.path.basename(doc_file)) msg = _('Save selected objects only as...') doc_file = dialogs.get_save_file_name(self.mw, doc_file, msg, path_only=True) if doc_file: try: self.make_backup(doc_file) self.current_doc.save_selected(doc_file) self.history.add_entry(doc_file, appconst.SAVED) except Exception as e: first = _('Cannot save document:') msg = "%s\n'%s'." % (first, doc_file) + '\n' msg += _('Please check requested file format ' 'and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) LOG.error('Cannot save file <%s> %s', doc_file, e)
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.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[uc2const.PDXF][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.PDXF][0] 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 = 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: 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) wal.error_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 apply_action(self): if not self.picture: return doc_file = 'image' doc_file = os.path.join(self.config.save_dir, doc_file) doc_file = dialogs.get_save_file_name(self.app.mw, doc_file, _('Save image as...'), file_types=[uc2const.PNG], path_only=True) if doc_file: try: fileptr = fsutils.get_fileptr(doc_file, True) fileptr.write(self.picture.getvalue()) fileptr.close() except Exception: first = _('Cannot save image:') msg = "%s\n'%s'." % (first, doc_file) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.app.mw, self.app.appdata.app_name, msg) return self.config.save_dir = str(os.path.dirname(doc_file)) self.save_config() events.emit(events.APP_STATUS, _('Image is successfully saved'))
def export_as(self): doc_file = self.current_doc.doc_file doc_file = doc_file or self.current_doc.doc_name doc_file = os.path.splitext(doc_file)[0] doc_file = os.path.join(config.export_dir, os.path.basename(doc_file)) ftype = uc2const.SAVER_FORMATS[1:] doc_file = dialogs.get_save_file_name(self.mw, doc_file, _('Export document As...'), file_types=ftype, path_only=True) if doc_file: try: self.make_backup(doc_file, True) self.current_doc.export_as(doc_file) except Exception as e: first = _('Cannot save document:') msg = "%s\n'%s'." % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) LOG.warn('Cannot save file <%s>', doc_file, e) return config.export_dir = str(os.path.dirname(doc_file)) msg = _('Document is successfully exported') events.emit(events.APP_STATUS, msg)
def save_selected(self): doc_file = '' + self.current_doc.doc_file if not doc_file: doc_file = '' + self.current_doc.doc_name if not os.path.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0] 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, _('Save selected objects only as...'), path_only=True) if doc_file: try: self.make_backup(doc_file) self.current_doc.save_selected(doc_file) self.history.add_entry(doc_file, appconst.SAVED) except: first = _('Cannot save document:') msg = ("%s\n'%s'.") % (first, doc_file) + '\n' msg += _('Please check requested file format and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) self.print_stacktrace()
def save_selected(self): doc_file = '' + self.current_doc.doc_file if not doc_file: doc_file = '' + self.current_doc.doc_name if not os.path.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0] 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, _('Save selected objects only as...'), path_only=True) if doc_file: try: self.make_backup(doc_file) self.current_doc.save_selected(doc_file) self.history.add_entry(doc_file, appconst.SAVED) except: first = _('Cannot save document:') msg = ("%s\n'%s'.") % (first, doc_file) + '\n' msg += _( 'Please check requested file format and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) self.print_stacktrace()
def export_as(self): doc_file = '' + self.current_doc.doc_file if not doc_file: doc_file = '' + self.current_doc.doc_name doc_file = os.path.splitext(doc_file)[0] doc_file = os.path.join(config.export_dir, os.path.basename(doc_file)) doc_file = dialogs.get_save_file_name(self.mw, self, doc_file, _('Export document As...'), file_types=SAVER_FORMATS[1:], path_only=True) if doc_file: try: self.make_backup(doc_file, True) self.current_doc.export_as(doc_file) except: first = _('Cannot save document:') msg = ("%s\n'%s'.") % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) self.print_stacktrace() return config.export_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _('Document is successfully exported'))
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.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[uc2const.PDXF][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.PDXF][0] 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 = 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: 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) wal.error_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 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.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0] 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)[0] 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: self.make_backup(doc_file) self.current_doc.save() except: self.current_doc.set_doc_file(old_file, old_name) first = _('Cannot save document') msg = ("%s '%s'.") % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) self.print_stacktrace() return False config.save_dir = str(os.path.dirname(doc_file)) self.history.add_entry(doc_file, appconst.SAVED) events.emit(events.DOC_SAVED, self.current_doc) events.emit(events.APP_STATUS, _('Document saved')) return True else: return False
def export_as(self): doc_file = '' + self.current_doc.doc_file if not doc_file: doc_file = '' + self.current_doc.doc_name if os.path.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.PNG][0] doc_file = os.path.join(config.export_dir, os.path.basename(doc_file)) doc_file = dialogs.get_save_file_name(self.mw, self, doc_file, _('Export document As...'), file_types=data.SAVER_FORMATS[1:])[0] if doc_file: try: self.make_backup(doc_file, True) self.current_doc.export_as(doc_file) except: first = _('Cannot save document') msg = ("%s '%s'.") % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) self.print_stacktrace() return config.export_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _('Document is successfully exported'))
def save_as(self): doc_file = self.current_doc.doc_file doc_file = doc_file or self.current_doc.doc_name if os.path.splitext(doc_file)[1] != "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.SK2][0] if not fsutils.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, doc_file, path_only=True) 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: self.make_backup(doc_file) self.current_doc.save() except Exception as e: self.current_doc.set_doc_file(old_file, old_name) first = _('Cannot save document:') msg = "%s\n'%s'." % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) LOG.error('Cannot save file <%s> %s', doc_file, e) return False config.save_dir = str(os.path.dirname(doc_file)) self.history.add_entry(doc_file, appconst.SAVED) events.emit(events.DOC_SAVED, self.current_doc) events.emit(events.APP_STATUS, _('Document saved')) return True else: return False
def run_printdlg(self, win, printout): if not self.filepath: doc_file = 'print' doc_file = os.path.join(config.print_dir, doc_file) self.filepath = get_save_file_name(win, None, doc_file, _('Select output file'), path_only=True, file_types=[self.get_file_type(), ]) if not self.filepath: return False return AbstractPrinter.run_printdlg(self, win, printout)
def run_printdlg(self, win, printout): if not self.filepath: doc_file = 'print' doc_file = os.path.join(config.print_dir, doc_file) msg = _('Select output file') file_types = [self.get_file_type(), ] self.filepath = get_save_file_name(win, doc_file, msg, path_only=True, file_types=file_types) if not self.filepath: return False return AbstractPrinter.run_printdlg(self, win, printout)
def export_palette(self, palette, parent=None): if not parent: parent = self.mw doc_file = '' + palette.model.name doc_file = os.path.splitext(doc_file)[0] doc_file = os.path.join(config.export_dir, os.path.basename(doc_file)) ret = dialogs.get_save_file_name(parent, self, doc_file, _('Export palette as...'), file_types=PALETTE_SAVERS) if not ret: return doc_file, index = ret saver_id = PALETTE_SAVERS[index] if doc_file: if not os.path.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[saver_id][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[saver_id][0] try: saver = get_saver_by_id(saver_id) if saver is None: raise IOError( _('Unknown file format is requested for export!'), doc_file) self.make_backup(doc_file, True) pd = dialogs.ProgressDialog(_('Exporting...'), parent) ret = pd.run(saver, [palette, doc_file, None, False, True], False) if ret: if not pd.error_info is None: pd.destroy() raise IOError(*pd.error_info) pd.destroy() else: pd.destroy() raise IOError(_('Error while exporting'), doc_file) except IOError: raise IOError(*sys.exc_info()) config.export_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _('Palette is successfully exported'))
def export_palette(self, palette, parent=None): if not parent: parent = self.mw doc_file = '' + palette.model.name doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[uc2const.SKP][0] doc_file = os.path.join(config.export_dir, os.path.basename(doc_file)) doc_file, index = dialogs.get_save_file_name(parent, self, doc_file, _('Export palette as...'), file_types=data.PALETTE_SAVERS) saver_id = data.PALETTE_SAVERS[index] if doc_file: if not os.path.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[saver_id][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[saver_id][0] try: saver = get_saver_by_id(saver_id) if saver is None: raise IOError(_('Unknown file format is requested for export!'), doc_file) self.make_backup(doc_file, True) pd = dialogs.ProgressDialog(_('Exporting...'), parent) ret = pd.run(saver, [palette, doc_file, None, False, True], False) if ret: if not pd.error_info is None: pd.destroy() raise IOError(*pd.error_info) pd.destroy() else: pd.destroy() raise IOError(_('Error while exporting'), doc_file) except IOError: raise IOError(*sys.exc_info()) config.export_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _('Palette is successfully exported'))
def extract_bitmap(self): doc_file = 'image.tiff' doc_file = os.path.join(config.save_dir, doc_file) doc_file = dialogs.get_save_file_name(self.mw, self, doc_file, _('Extract selected bitmap as...'), file_types=[data.TIF])[0] if doc_file: try: pixmap = self.current_doc.selection.objs[0] libimg.extract_bitmap(pixmap, doc_file) except: first = _('Cannot save document') msg = ("%s '%s'.") % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) self.print_stacktrace() return config.save_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _('Bitmap is successfully extracted'))
def export_palette(self, palette, parent=None): if not parent: parent = self.mw doc_file = palette.model.name doc_file = os.path.splitext(doc_file)[0] doc_file = os.path.join(config.export_dir, os.path.basename(doc_file)) ret = dialogs.get_save_file_name(parent, doc_file, _('Export palette as...'), file_types=uc2const.PALETTE_SAVERS) if not ret: return doc_file, index = ret saver_id = uc2const.PALETTE_SAVERS[index] if doc_file: if not os.path.splitext(doc_file)[1] == "." + \ uc2const.FORMAT_EXTENSION[saver_id][0]: doc_file = os.path.splitext(doc_file)[0] + "." + \ uc2const.FORMAT_EXTENSION[saver_id][0] pd = dialogs.ProgressDialog(_('Exporting...'), parent) try: saver = get_saver_by_id(saver_id) if saver is None: msg = _('Unknown file format is requested for export <%s>') raise IOError(msg % doc_file) self.make_backup(doc_file, True) pd.run(saver, [palette, doc_file, None, False, True]) except Exception as e: msg = _('Cannot export palette:') msg = "%s\n'%s'." % (msg, doc_file) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) LOG.error('Cannot save bitmap in <%s>', doc_file, e) return finally: pd.destroy() config.export_dir = str(os.path.dirname(doc_file)) msg = _('Palette is successfully exported') events.emit(events.APP_STATUS, msg)
def extract_pattern(self, parent, pattern, eps=False): img_file = 'image' img_file = os.path.join(config.save_dir, img_file) file_types = [uc2const.EPS] if eps else [uc2const.TIF] img_file = dialogs.get_save_file_name(parent, img_file, _('Save pattern as...'), file_types=file_types, path_only=True) if img_file: try: fobj = fsutils.get_fileptr(img_file, True) fobj.write(b64decode(pattern)) fobj.close() except Exception as e: first = _('Cannot save pattern from:') msg = "%s\n'%s'." % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(parent, self.appdata.app_name, msg) LOG.error('Cannot save pattern in <%s> %s', img_file, e) return config.save_dir = str(os.path.dirname(img_file))
def apply_action(self): if not self.picture: return doc_file = "image" doc_file = os.path.join(config.save_dir, doc_file) doc_file = dialogs.get_save_file_name( self.app.mw, self.app, doc_file, _("Save image as..."), file_types=[data.PNG], path_only=True ) if doc_file: try: fileptr = open(doc_file, "wb") fileptr.write(self.picture.getvalue()) fileptr.close() except: first = _("Cannot save image:") msg = ("%s\n'%s'.") % (first, doc_file) + "\n" msg += _("Please check file name and write permissions") dialogs.error_dialog(self.app.mw, self.app.appdata.app_name, msg) return config.save_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _("Image is successfully saved"))
def extract_pattern(self, parent, pattern, eps=False): img_file = 'image' img_file = os.path.join(config.save_dir, img_file) file_types = [data.TIF] if eps: file_types = [data.EPS] img_file = dialogs.get_save_file_name(parent, self, img_file, _('Save pattern as...'), file_types=file_types, path_only=True) if img_file: try: fobj = open(img_file, 'wb') fobj.write(b64decode(pattern)) fobj.close() except: first = _('Cannot save pattern from:') msg = ("%s\n'%s'.") % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(parent, self.appdata.app_name, msg) self.print_stacktrace() return config.save_dir = str(os.path.dirname(img_file))
def extract_bitmap(self): doc_file = 'image' doc_file = os.path.join(config.save_dir, doc_file) msg = _('Extract selected bitmap as...') doc_file = dialogs.get_save_file_name(self.mw, doc_file, msg, file_types=[uc2const.PNG], path_only=True) if doc_file: try: pixmap = self.current_doc.selection.objs[0] pixmap.handler.extract_bitmap(doc_file) except Exception as e: first = _('Cannot save bitmap:') msg = "%s\n'%s'." % (first, doc_file) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) LOG.warn('Cannot save bitmap in <%s>', doc_file, e) return config.save_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _('Bitmap is successfully extracted'))
def extract_bitmap(self): doc_file = 'image.tiff' doc_file = os.path.join(config.save_dir, doc_file) doc_file = dialogs.get_save_file_name( self.mw, self, doc_file, _('Extract selected bitmap as...'), file_types=[data.TIF])[0] if doc_file: try: pixmap = self.current_doc.selection.objs[0] libimg.extract_bitmap(pixmap, doc_file) except: first = _('Cannot save document') msg = ("%s '%s'.") % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(self.mw, self.appdata.app_name, msg) self.print_stacktrace() return config.save_dir = str(os.path.dirname(doc_file)) events.emit(events.APP_STATUS, _('Bitmap is successfully extracted'))
def extract_pattern(self, parent, pattern, eps=False): img_file = 'image.tiff' if eps: img_file = 'image.eps' img_file = os.path.join(config.save_dir, img_file) file_types = [data.TIF] if eps: file_types = [data.EPS] img_file = dialogs.get_save_file_name(parent, self, img_file, _('Save pattern as...'), file_types=file_types)[0] if img_file: try: fobj = open(img_file, 'wb') fobj.write(b64decode(pattern)) fobj.close() except: first = _('Cannot save pattern from') msg = ("%s '%s'.") % (first, self.current_doc.doc_name) + '\n' msg += _('Please check file name and write permissions') dialogs.error_dialog(parent, self.appdata.app_name, msg) self.print_stacktrace() return config.save_dir = str(os.path.dirname(img_file))