Metadata-Version: 1.0
Name: omnigraffle-export
Version: 1.5.1
Summary: A command line utility that exports omnigraffle canvases files into various formats.
Home-page: https://github.com/fikovnik/omnigraffle-export
Author: Filip Krikava
Author-email: krikava@gmail.com
License: http://www.opensource.org/licenses/mit-license.php
Description: OmniGraffle Export tool
        =======================
        
        A command line tool that allows to export one or more canvases from
        `OmniGraffle <http://www.omnigroup.com/products/omnigraffle/>`_ into various formats using `OmniGraffle AppleScript interface <http://www.omnigroup.com/mailman/archive/omnigraffle-users/2008/004785.html>`_.
        
        Installation
        ------------
        
        In order to have it successfully installed and working, following is
        required:
        
        -  OmniGraffle 5
        -  python >= 2.6
        -  `appscript <http://appscript.sourceforge.net/py-appscript/index.html>`_ >= 0.22
        
        You can either clone the repository and use the setup tool:
        
        ::
        
            setup.py install
        
        Or using the PIP:
        
        ::
        
            pip install omnigraffle_export
        
        Usage
        -----
        
        ::
        
            Usage: omnigraffle-export [options] <source> <target>
        
            Options:
              -h, --help  show this help message and exit
              -c NAME     canvas name. If not given it will be guessed from the target
                          filename unless it is a directory.
              -f FMT      format (one of: pdf, png, svg, eps). Guessed from the target
                          filename suffix unless it is a directory. Defaults to pdf
              --force     force the export
              --debug     print out debug messages
        
        If the target file exists it tries to determine whether the canvas has
        been changed. It does that by comparing the checkums. Since the PDF
        export always results into a different file, it uses the PDF subject
        attribute to store there a checksum that will be generated by exporting
        to a PNG format.
        
        Examples
        --------
        
        * Export *all* canvases into directory *figures* using EPS
        
          ::
        
            omnigraffle-export -f eps schemas.graffle figures
        
        * Export canvas named *FullModel* into a *FullModel.svg* SVG file:
        
          ::
        
            omnigraffle-export schemas.graffle FullModel.svg
        
        * Export canvas name *FullModel* into a *my\_new\_model.pdf* PDF file:
        
          ::
        
            omnigraffle-export -c FullModel -f pdf schemas.graffle my_new_model
        
          or
        
          ::
        
            omnigraffle-export -c FullModel schemas.graffle my_new_model.pdf
        
          *Note: that the ’.pdf’ suffix will be automatically added in the first case.*
        
        * Export *all* canvases into directory *figures* using EPS
        
          ::
        
            omnigraffle-export -f eps schemas.graffle figures
        
        LaTeX Support Example
        ---------------------
        
        One of the main motivation for this package was to be able to quickly
        export OmniGraffle canvases and use them in LaTeX. One of the possible
        setup is following: every time a figure is included add some instruction
        so it can be later exported from OmniGraffle file. For example using a
        comment like:
        
        ::
        
          % omnigraffle sources/schemas.graffle figures/CondorKernel.pdf
        
        to export a canvas ``CondorKernel`` from ``sources/schemas.graffle`` into
        ``figures/CondorKernel.pdf`` as ``PDF``.
        
        ::
        
              \begin{figure}
                \center
                % omnigraflle: sources/schemas.graffle figures/CondorKernel.pdf
                \includegraphics[scale=.5]{images/CondorKernel}
              \end{figure}
        
        An example preprocesor in Python using `frabric <http://docs.fabfile.org/en/1.4.0/index.html>`_ will the be like:
        
        ::
        
            from fabric.api import *
            import re
        
            # latex files to process
            fnames = ['UCGridRLDecisionModel.tex']
            omnigraffle_re = re.compile(r'%\s*omnigraflle:\s*([^ ]+)\s+([^ ]+)')
        
            def _convert(source, target):
                local('omnigraffle-export %s %s' % (source, target))
        
            @task
            def schemas():
                '''
                Generate all schemas
                '''
        
                for fname in fnames:
                    with open(fname) as f:
                        for l in f:
                            m = omnigraffle_re.match(l.strip())
                            if m:
                                _convert(*m.groups())
        
        Export on Demand
        ----------------
        
        The `omnigraffle-export` can be used either in a batch mode or in a more interactive way. For example it can be used to export the currently selected canvas into a file.
        
        Following is an example Python script that will export currently active canvas into a PDF file that has the same name as the canvas and is placed in the same directory as the OmniGraffle document:
        
        ::
        
            #!/usr/bin/env python
        
            import os
            import sys
            import omnigraffle
        
            og = omnigraffle.OmniGraffle()
            schema = og.active_document()
        
            schema_path = schema.path
            schema_fname = os.path.basename(schema_path)
            schema_dir = os.path.dirname(schema_path)
            export_info_fname = os.path.join(schema_dir, '.' + schema_fname[0:schema_fname.rindex('.')] + '.omnigraffle_export')
        
            canvas_name = schema.active_canvas_name()
        
            format = 'pdf'
            target_path =  os.path.join(schema_dir, canavs_name + '.' + format)
        
            schema.export(canvas_name, target_path, format=format)
        
        Fancier version can be download `here <https://gist.github.com/4195669>`_.
        
        
Keywords: omnigraffle export
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Operating System :: MacOS :: MacOS X
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2.6
Classifier: Topic :: Utilities
