Example #1
0
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
Example #2
0
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
Example #3
0
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
Example #4
0
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
Example #6
0
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
Example #7
0
    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
Example #9
0
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
Example #10
0
    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()
Example #11
0
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
Example #12
0
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
Example #13
0
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
Example #14
0
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
Example #15
0
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
Example #16
0
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
Example #17
0
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
Example #18
0
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
Example #19
0
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
Example #20
0
    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()