Commit 39bb861a authored by Lucas Bourneuf's avatar Lucas Bourneuf

improve API

parent 519678c4
...@@ -4,6 +4,7 @@ Call example in main. ...@@ -4,6 +4,7 @@ Call example in main.
""" """
import os import os
import io
import time import time
import json import json
import clyngor import clyngor
...@@ -31,13 +32,14 @@ def single_image_from_filenames(fnames:[str], outfile:str=None, dotfile:str=None ...@@ -31,13 +32,14 @@ def single_image_from_filenames(fnames:[str], outfile:str=None, dotfile:str=None
return compile_to_single_image(final_context, outfile=outfile, dotfile=dotfile, return_image=return_image, verbosity=verbosity) return compile_to_single_image(final_context, outfile=outfile, dotfile=dotfile, return_image=return_image, verbosity=verbosity)
def gif_from_filenames(fnames:[str], giffile:str, dotfile_template:str=None, duration:int=1000, verbosity:int=0) -> str: def gif_from_filenames(fnames:[str], giffile:str=None, dotfile_template:str=None, duration:int=1000, verbosity:int=0) -> bytes or str:
"""Make a gif, with each ASP model as an image. Save it in outfile and dotfile_template""" """Make a gif, with each ASP model as an image. Save it in outfile and dotfile_template"""
pipeline = build_pipeline(fnames, verbosity) pipeline = build_pipeline(fnames, verbosity)
final_context = run(pipeline, verbosity=verbosity) final_context = run(pipeline, verbosity=verbosity)
first, *lasts = compile_to_images(final_context, dotfile_template=dotfile_template, return_image=True, verbosity=verbosity) first, *lasts = compile_to_images(final_context, dotfile_template=dotfile_template, return_image=True, verbosity=verbosity)
first.save(giffile, save_all=True, append_images=lasts, duration=duration, loop=0) output = io.BytesIO() if giffile is None else giffile
return giffile first.save(output, save_all=True, append_images=lasts, duration=duration, loop=0)
return output.getvalue() if giffile is None else giffile
def build_pipeline(fnames:[str], verbosity:int=0) -> [Script]: def build_pipeline(fnames:[str], verbosity:int=0) -> [Script]:
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment