Skip to content
Snippets Groups Projects
svg_split_utils.py 976 B
Newer Older
  • Learn to ignore specific revisions
  • import os
    import subprocess
    import sys
    
    if os.name == "nt":
        minifier = "../devTools/minify/minify_win_amd64.exe"
    elif sys.platform == "darwin":
        minifier = "../devTools/minify/minify_darwin_amd64"
    else:
        # probably linux, if not we don't have an alternative anyways.
        minifier = "../devTools/minify/minify_linux_amd64"
    
    
    def save(layer, prefix, output_directory, output_format, svg_data):
        i = layer.get('id')
        output_path = os.path.join(output_directory, "{0}{1}.svg".format(prefix, i))
        if output_format == 'svg':
            with open(output_path, 'wb') as f:
                # Header for normal SVG (XML)
                f.write(f'<?xml version="1.0" encoding="UTF-8" standalone="no"?>{os.linesep}'.encode("utf-8"))
                f.write(svg_data)
        elif output_format == 'tw':
            # send to minifier through stdin, which then saves to file
            subprocess.run([minifier, "--mime=image/svg+xml", "-o", output_path],
                           input=svg_data)