def sk2_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): cnf = merge_cnf(cnf, kw) doc = SK2_Presenter(appdata, cnf) doc.load(filename, fileptr) return doc
def sk2_loader(appdata, filename=None, fileptr=None, translate=True, cnf={}, **kw): if kw: cnf.update(kw) doc = SK2_Presenter(appdata, cnf) doc.load(filename, fileptr) return doc
def skp_loader(appdata, filename=None, fileptr=None, translate=True, convert=False, cnf=None, **kw): cnf = merge_cnf(cnf, kw) doc = SKP_Presenter(appdata, cnf) doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) doc.translate_to_sk2(sk2_doc) doc.close() return sk2_doc return doc
def plt_loader(appdata, filename=None, fileptr=None, translate=True, cnf={}, **kw): if kw: cnf.update(kw) doc = PLT_Presenter(appdata, cnf) doc.load(filename) if translate: sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename doc.translate_to_sk2(sk2_doc) doc.close() doc = sk2_doc return doc
def plt_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): cnf = merge_cnf(cnf, kw) doc = PltPresenter(appdata, cnf) doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename doc.translate_to_sk2(sk2_doc) doc.close() doc = sk2_doc return doc
def wmf_loader(appdata, filename=None, fileptr=None, translate=True, cnf={}, **kw): if kw: cnf.update(kw) wmf_doc = WMF_Presenter(appdata, cnf) wmf_doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) if filename: sk2_doc.doc_file = filename wmf_doc.translate_to_sk2(sk2_doc) wmf_doc.close() return sk2_doc return wmf_doc
def __init__(self, app, doc_file='', silent=False, template=False): self.app = app self.eventloop = EventLoop(self) self.selection = Selection(self) loader = None if doc_file: loader = get_loader(doc_file) if not loader: raise IOError(_('Loader is not found for <%s>') % doc_file) if loader and silent: self.doc_presenter = loader(app.appdata, doc_file) elif doc_file and not silent: pd = ProgressDialog(_('Opening file...'), self.app.mw) try: self.doc_presenter = pd.run(loader, [app.appdata, doc_file]) if not self.doc_presenter: LOG.error('Cannot load <%s>', doc_file) raise IOError(_('Cannot load <%s>') % doc_file) except Exception: raise finally: pd.destroy() if not template: self.doc_file = self.doc_presenter.doc_file self.doc_name = os.path.basename(self.doc_file) ext = uc2const.FORMAT_EXTENSION[uc2const.SK2][0] self.doc_name = change_file_extension(self.doc_name, ext) else: self.doc_name = self.app.get_new_docname() self.doc_presenter.doc_file = '' else: self.doc_presenter = SK2_Presenter(app.appdata) self.doc_name = self.app.get_new_docname() self.methods = self.doc_presenter.methods self.model = self.doc_presenter.model self.set_active_page() self.cms = self.doc_presenter.cms # self.app.default_cms.registry_cm(self.cms) self.api = PresenterAPI(self) self.corner = RulerCorner(self) self.hruler = Ruler(self, vertical=False) self.vruler = Ruler(self) self.canvas = AppCanvas(self) self.canvas.set_mode() self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.modified) self.snap = SnapManager(self)
def cmx_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): cnf = merge_cnf(cnf, kw) cmx_doc = CMX_Presenter(appdata, cnf) cmx_doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename cmx_doc.translate_to_sk2(sk2_doc) cmx_doc.close() return sk2_doc return cmx_doc
def svg_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): cnf = merge_cnf(cnf, kw) svg_doc = SVG_Presenter(appdata, cnf) svg_doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) if filename: sk2_doc.doc_file = filename svg_doc.translate_to_sk2(sk2_doc) svg_doc.close() return sk2_doc return svg_doc
def __init__(self, app, doc_file='', silent=False, template=False): self.app = app self.eventloop = EventLoop(self) self.selection = Selection(self) if doc_file: loader = get_loader(doc_file) if silent: self.doc_presenter = loader(app.appdata, doc_file) else: pd = ProgressDialog(_('Opening file...'), self.app.mw) ret = pd.run(loader, [self.app.appdata, doc_file]) if ret: if pd.result is None: pd.destroy() raise IOError(*pd.error_info) self.doc_presenter = pd.result pd.destroy() else: pd.destroy() raise IOError(_('Error while opening'), doc_file) if not template: self.doc_file = self.doc_presenter.doc_file self.doc_name = os.path.basename(self.doc_file) self.doc_name = change_file_extension(self.doc_name, uc2const.FORMAT_EXTENSION[ uc2const.SK2][0]) else: self.doc_name = self.app.get_new_docname() self.doc_presenter.doc_file = '' else: self.doc_presenter = SK2_Presenter(app.appdata) self.doc_name = self.app.get_new_docname() self.methods = self.doc_presenter.methods self.model = self.doc_presenter.model self.set_active_page() self.cms = self.doc_presenter.cms # self.app.default_cms.registry_cm(self.cms) self.api = PresenterAPI(self) self.docarea = self.app.mdi.create_docarea(self) self.canvas = self.docarea.canvas self.canvas.set_mode() self.eventloop.connect(self.eventloop.DOC_MODIFIED, self.modified) self.snap = SnapManager(self) self.set_title()
def pes_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): from uc2.formats.pes.pes_presenter import PesPresenter from uc2.formats.sk2.sk2_presenter import SK2_Presenter cnf = merge_cnf(cnf, kw) doc = PesPresenter(appdata, cnf) doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename doc.translate_to_sk2(sk2_doc) doc.close() doc = sk2_doc return doc
def svgz_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): cnf = merge_cnf(cnf, kw) svg_doc = SVG_Presenter(appdata, cnf) path = get_sys_path(filename) fileptr = gzip.open(path, 'rb') svg_doc.load(None, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) if filename: sk2_doc.doc_file = filename svg_doc.translate_to_sk2(sk2_doc) svg_doc.close() return sk2_doc return svg_doc
def im_loader(appdata, filename=None, fileptr=None, translate=True, cnf={}, **kw): if filename and not fileptr: try: fileptr = open(filename, 'rb') except: errtype, value, traceback = sys.exc_info() msg = _('Cannot read %s file') % (filename) events.emit(events.MESSAGES, msgconst.ERROR, msg) raise IOError(errtype, msg + '\n' + value, traceback) content = fileptr.read() fileptr.close() sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename sk2_doc.methods.set_doc_origin(sk2_const.DOC_ORIGIN_LU) sk2_doc.methods.set_doc_units(uc2const.UNIT_PX) page = sk2_doc.methods.get_page() image_obj = sk2_model.Pixmap(sk2_doc.config) libimg.set_image_data(sk2_doc.cms, image_obj, content) orient = uc2const.PORTRAIT w = image_obj.size[0] * uc2const.px_to_pt h = image_obj.size[1] * uc2const.px_to_pt if image_obj.size[0] > image_obj.size[1]: orient = uc2const.LANDSCAPE image_obj.trafo = [1.0, 0.0, 0.0, 1.0, -w / 2.0, -h / 2.0] sk2_doc.methods.set_page_format(page, ['Custom', (w, h), orient]) sk2_doc.methods.set_default_page_format(['Custom', (w, h), orient]) grid_layer = sk2_doc.methods.get_grid_layer() grid_layer.grid = [0, 0, uc2const.px_to_pt, uc2const.px_to_pt] grid_layer.properties = [1, 0, 0] layer = sk2_doc.methods.get_layer(page) layer.childs.append(image_obj) sk2_doc.update() return sk2_doc
def svgz_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): cnf = merge_cnf(cnf, kw) svg_doc = SVG_Presenter(appdata, cnf) fileptr = gzip.GzipFile(upath(filename), mode='rb', fileobj=fileptr) svg_doc.load(None, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) if filename: sk2_doc.doc_file = filename svg_doc.translate_to_sk2(sk2_doc) svg_doc.close() return sk2_doc return svg_doc
def ccx_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): kw['pack'] = True cnf = merge_cnf(cnf, kw) ccx_doc = CMX_Presenter(appdata, cnf) ccx_doc.cid = uc2const.CCX ccx_doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename ccx_doc.translate_to_sk2(sk2_doc) ccx_doc.close() return sk2_doc return ccx_doc
def dst_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): from uc2.formats.dst.dst_presenter import DstPresenter from uc2.formats.sk2.sk2_presenter import SK2_Presenter cnf = merge_cnf(cnf, kw) doc = DstPresenter(appdata, cnf) doc.colors = get_available_color_scheme(doc, filename) doc.load(filename, fileptr) if translate: sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename doc.translate_to_sk2(sk2_doc) doc.close() doc = sk2_doc return doc
def scribus_pal_loader(appdata, filename=None, fileptr=None, translate=True, convert=False, cnf={}, **kw): if kw: cnf.update(kw) doc = ScribusPalette_Presenter(appdata, cnf) doc.load(filename, fileptr) if convert: skp_doc = SKP_Presenter(appdata, cnf) doc.convert_to_skp(skp_doc) doc.close() return skp_doc if translate: skp_doc = SKP_Presenter(appdata, cnf) doc.convert_to_skp(skp_doc) sk2_doc = SK2_Presenter(appdata, cnf) skp_doc.translate_to_sk2(sk2_doc) doc.close() skp_doc.close() return sk2_doc return doc
def im_loader(appdata, filename=None, fileptr=None, translate=True, cnf=None, **kw): cnf = merge_cnf(cnf, kw) if filename and not fileptr: fileptr = get_fileptr(filename) content = fileptr.read() fileptr.close() sk2_doc = SK2_Presenter(appdata, cnf) sk2_doc.doc_file = filename sk2_doc.methods.set_doc_origin(sk2const.DOC_ORIGIN_LU) sk2_doc.methods.set_doc_units(uc2const.UNIT_PX) page = sk2_doc.methods.get_page() image_obj = sk2_model.Pixmap(sk2_doc.config) libimg.set_image_data(sk2_doc.cms, image_obj, content) orient = uc2const.PORTRAIT w = image_obj.size[0] * uc2const.px_to_pt h = image_obj.size[1] * uc2const.px_to_pt if image_obj.size[0] > image_obj.size[1]: orient = uc2const.LANDSCAPE image_obj.trafo = [1.0, 0.0, 0.0, 1.0, -w / 2.0, -h / 2.0] sk2_doc.methods.set_page_format(page, ['Custom', (w, h), orient]) sk2_doc.methods.set_default_page_format(['Custom', (w, h), orient]) grid_layer = sk2_doc.methods.get_grid_layer() grid_layer.grid = [0, 0, uc2const.px_to_pt, uc2const.px_to_pt] grid_layer.properties = [1, 0, 0] layer = sk2_doc.methods.get_layer(page) layer.childs.append(image_obj) sk2_doc.update() return sk2_doc
def edr_pal_loader(appdata, filename=None, fileptr=None, translate=True, convert=False, cnf=None, **kw): doc = EDR_Presenter(appdata, cnf) doc.load(filename, fileptr) if convert: skp_doc = SKP_Presenter(appdata, cnf) doc.convert_to_skp(skp_doc) doc.close() return skp_doc if translate: skp_doc = SKP_Presenter(appdata, cnf) doc.convert_to_skp(skp_doc) sk2_doc = SK2_Presenter(appdata, cnf) skp_doc.translate_to_sk2(sk2_doc) doc.close() skp_doc.close() return sk2_doc return doc
def process_palette(self, dir_path, palette, pal_id): palette_name = palette.model.name palette_filename = palette_name.replace(' ', '_').replace('.', '_') pal_resources = '' for sid in saver_ids: saver = get_saver_by_id(sid) ext = '.' + FORMAT_EXTENSION[sid][0] if sid == SCRIBUS_PAL: ext = '(Scribus)' + ext if sid == COREL_PAL: ext = '(CorelDRAW)' + ext filename = palette_filename + ext doc_file = os.path.join(dir_path, filename) pal_resources += '\t"%s"=>"%s",\n' % (FORMAT_NAMES[sid], filename) saver(palette, doc_file, None, False, True) # saving for tarballs collection_path = os.path.dirname(dir_path) fmt_path = os.path.join(collection_path, FORMAT_NAMES[sid]) if not os.path.exists(fmt_path): os.makedirs(fmt_path) doc_file = os.path.join(fmt_path, filename) saver(palette, doc_file, None, False, True) sk2_doc = SK2_Presenter(self.app.appdata) palette.translate_to_sk2(sk2_doc) saver = get_saver_by_id(PNG) doc_file = os.path.join(dir_path, 'preview.png') saver(sk2_doc, doc_file, None, True, False, antialiasing=False) sk2_doc.close() # Thumbnail generation surface = cairo.ImageSurface(cairo.FORMAT_RGB24, int(514), int(20)) ctx = cairo.Context(surface) ctx.set_antialias(cairo.ANTIALIAS_NONE) ctx.set_source_rgb(0.0, 0.0, 0.0) ctx.fill() x = y = 1 w = h = 18 for color in palette.model.colors: r, g, b = self.app.default_cms.get_display_color(color) ctx.set_source_rgb(r, g, b) ctx.rectangle(x, y, w, h) ctx.fill() x += w + 1 ctx.set_source_rgb(1, 1, 1) ctx.rectangle(x, 0, 514, 20) ctx.fill() if len(palette.model.colors) > 22: lg = cairo.LinearGradient(418, 0, 513, 0) lg.add_color_stop_rgba(0, 1, 1, 1, 0) lg.add_color_stop_rgba(1, 1, 1, 1, 1) ctx.rectangle(418, 0, 513, 20) ctx.set_source(lg) ctx.fill() filename = os.path.join(dir_path, 'thumbnail.png') fileptr = open(filename, 'wb') surface.write_to_png(fileptr) fileptr.close() # index.php generation filename = os.path.join(dir_path, 'index.php') fileptr = open(filename, 'wb') content = '<?php\n' content += 'header("HTTP/1.1 301 Moved Permanently");\n' content += 'header( "Location: /palettes.php", true, 301);\n' content += 'exit;\n' content += '?>\n' fileptr.write(content) fileptr.close() # descriptor generation filename = os.path.join(dir_path, 'descriptor.php') fileptr = open(filename, 'wb') content = '<?php\n' content += '$descriptor = array(\n' content += '"id"=>"%s",\n' % pal_id content += '"name"=>"%s",\n' % palette_name content += '"source"=>"%s",\n' % palette.model.source comments = palette.model.comments.replace('\n', '<br>') content += '"comments"=>"%s",\n' % comments.replace('"', '\\"') content += '"ncolors"=>"%d",\n' % len(palette.model.colors) content += '"files"=>array(\n' content += pal_resources content += '\t),\n' content += ');\n' content += '?>\n' fileptr.write(content) fileptr.close()