Skip to content

Commit

Permalink
Added the possibility to export all canvases in rubber compatible format
Browse files Browse the repository at this point in the history
  • Loading branch information
fikovnik committed May 24, 2011
1 parent a58aff0 commit 1629579
Showing 1 changed file with 27 additions and 6 deletions.
33 changes: 27 additions & 6 deletions src/omnigraffle_export/rubber.py
Expand Up @@ -7,12 +7,8 @@


arg_re_ = re.compile('(.*):(.*)\.(.*)') arg_re_ = re.compile('(.*):(.*)\.(.*)')


def main(): def export_one(input):
if len(sys.argv) != 2: input = arg_re_.match(input)
print >> sys.stderr, 'Usage: %s: <path_to_omnigraffle_source>:<canvas_name>.<format>' % sys.argv[0]
sys.exit(1)

input = arg_re_.match(sys.argv[1])


if len(input.groups()) != 3: if len(input.groups()) != 3:
print >> sys.stderr, 'Invalid input: %s' % sys.argv[1] print >> sys.stderr, 'Invalid input: %s' % sys.argv[1]
Expand All @@ -26,7 +22,32 @@ def main():


schema = omnigraffle_export.OmniGraffleSchema(source) schema = omnigraffle_export.OmniGraffleSchema(source)
schema.export(canvas, target, format) schema.export(canvas, target, format)

sys.exit(0) sys.exit(0)


def export_all(source, targetdir, format):
base_source = os.path.basename(source)
nameprefix = base_source[:base_source.rindex('.graffle')]

schema = omnigraffle_export.OmniGraffleSchema(source)
schema.export_all(targetdir, format, True, lambda n: '%s:%s.pdf' % (nameprefix, n))

sys.exit(0)

def main():
if len(sys.argv) not in [2,4]:
name = os.path.basename(sys.argv[0])
print >> sys.stderr, 'Usage: %s <path_to_omnigraffle_source>:<canvas_name>.<format>' % name
print >> sys.stderr, ' exports one canvas\n'
print >> sys.stderr, ' %s <path_to_omnigraffle_source> <output_directory> <format>' % name
print >> sys.stderr, ' exports all canvases to output_directory'
sys.exit(1)

if len(sys.argv) == 2:
export_one(sys.argv[1])
elif len(sys.argv) == 4:
export_all(*sys.argv[1:])


if __name__ == '__main__': if __name__ == '__main__':
main() main()

0 comments on commit 1629579

Please sign in to comment.