#!/usr/bin/env python # # Copyright 2012 Johannes 'josch' Schauer # # This file is part of Sisyphus. # # Sisyphus is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # Sisyphus is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with Sisyphus. If not, see . import os class Scene: def __init__(self, name, size): self.name = name self.items = [] self.size = size def add(self, item): self.items.append(item) def svgstr(self): svgstr = "\n" svgstr += "\n"%self.size svgstr += " \n" for item in self.items: svgstr += item.svgstr() svgstr += " \n\n" return svgstr def write(self, filename=None): if not filename: filename = self.name + ".svg" with open(filename, "w") as f: f.write(self.svgstr()) class Rectangle: def __init__(self, pos, size, color): self.pos = pos self.size = size self.color = color def svgstr(self): svgstr = " \n"%self.color return svgstr if __name__ == "__main__": scene = Scene('test', (400, 400)) scene.add(Rectangle((0,0),(100,100),(255,0,0))) scene.write()