From 0d695443c32132ee643f7315521dfc5d9831bf4b Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Sat, 20 Nov 2010 15:38:12 +0000 Subject: pep8 clean up --- (limited to 'TurtleArt/tasprite_factory.py') diff --git a/TurtleArt/tasprite_factory.py b/TurtleArt/tasprite_factory.py index f92a00d..24622b5 100755 --- a/TurtleArt/tasprite_factory.py +++ b/TurtleArt/tasprite_factory.py @@ -27,7 +27,10 @@ import os from gettext import gettext as _ from taconstants import HIT_RED, HIT_GREEN, HIDE_WHITE, SHOW_WHITE + + class SVG: + def __init__(self): self._x = 0 self._y = 0 @@ -44,10 +47,10 @@ class SVG: self._stroke_width = 1 self._innie = [False] self._outie = False - self._innie_x1 = (9-self._stroke_width)/2 + self._innie_x1 = (9 - self._stroke_width) / 2 self._innie_y1 = 3 - self._innie_x2 = (9-self._stroke_width)/2 - self._innie_y2 = (9-self._stroke_width)/2 + self._innie_x2 = (9 - self._stroke_width) / 2 + self._innie_y2 = (9 - self._stroke_width) / 2 self._innie_spacer = 9 self._slot = True self._cap = False @@ -56,7 +59,8 @@ class SVG: self._slot_x = 10 self._slot_y = 2 self._porch = False - self._porch_x = self._innie_x1+self._innie_x2+4*self._stroke_width + self._porch_x = self._innie_x1 + self._innie_x2 + \ + 4 * self._stroke_width self._porch_y = self._innie_y2 self._expand_x = 0 self._expand_y = 0 @@ -89,12 +93,13 @@ class SVG: for i in range(len(self._innie)): if self._innie[i] is True: svg += self._do_innie() - if i==0: + if i == 0: svg += self._rline_to(0, self._expand_y) - if i==0 and self._porch is True: + if i == 0 and self._porch is True: svg += self._do_porch(False) - elif len(self._innie)-1 > i: - svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + elif len(self._innie) - 1 > i: + svg += self._rline_to(0, + 2 * self._innie_y2 + self._innie_spacer) # moved expand_y to just after first innie above # svg += self._rline_to(0, self._expand_y) svg += self._corner(-1, 1) @@ -107,8 +112,8 @@ class SVG: svg += self._corner(-1, -1) svg += self._rline_to(0, -self._expand_y) if True in self._innie: - svg += self.line_to(x, self._radius+self._innie_y2+\ - self._stroke_width/2.0) + svg += self.line_to(x, self._radius + self._innie_y2 + \ + self._stroke_width / 2.0) svg += self._do_outie() self.calc_w_h() svg += self._close_path() @@ -140,22 +145,22 @@ class SVG: svg += self._do_innie() svg += self._rline_to(0, self._innie_spacer) else: - self.margins[2] =\ - int((self._x-self._stroke_width+0.5)*self._scale) + self.margins[2] = \ + int((self._x - self._stroke_width + 0.5) * self._scale) if self._bool is True: - svg += self._rline_to(0,self._radius/2.0) + svg += self._rline_to(0, self._radius / 2.0) svg += self._do_boolean() - svg += self._rline_to(0,self._stroke_width) + svg += self._rline_to(0, self._stroke_width) if self._else: - svg += self._rline_to(self._radius*3+self._slot_x*2, 0) + svg += self._rline_to(self._radius * 3 + self._slot_x * 2, 0) else: - svg += self._rline_to(self._radius+self._slot_x, 0) + svg += self._rline_to(self._radius + self._slot_x, 0) hh = self._x svg += self._corner(1, 1) - svg += self._rline_to(-self._radius,0) + svg += self._rline_to(-self._radius, 0) if self._else: svg += self._do_tab() - svg += self._rline_to(-self._radius*2, 0) + svg += self._rline_to(-self._radius * 2, 0) svg += self._do_tab() svg += self._inverse_corner(-1, 1, 90, 0, 0, True, False) svg += self._rline_to(0, self._expand_y) @@ -168,7 +173,7 @@ class SVG: svg += self._corner(-1, -1) svg += self._rline_to(0, -self._expand_y) if True in self._innie: - svg += self.line_to(x, self._radius+self._innie_y2+\ + svg += self.line_to(x, self._radius + self._innie_y2 + \ self._stroke_width) svg += self._close_path() self.calc_w_h() @@ -183,11 +188,11 @@ class SVG: def portfolio(self): self.reset_min_max() (x, y) = self._calculate_x_y() - self.margins[0] = int(x+2*self._stroke_width+0.5) - self.margins[1] = int(y+self._stroke_width+0.5+self._slot_y) + self.margins[0] = int(x + 2 * self._stroke_width + 0.5) + self.margins[1] = int(y + self._stroke_width + 0.5 + self._slot_y) self.margins[2] = 0 self.margins[3] = 0 - x += self._innie_x1+self._innie_x2 + x += self._innie_x1 + self._innie_x2 svg = self.new_path(x, y) svg += self._corner(1, -1) svg += self._do_slot() @@ -198,19 +203,23 @@ class SVG: for i in range(len(self._innie)): if self._innie[i] is True and i > 0 and self._draw_innies: svg += self._do_innie() - svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + svg += self._rline_to(0, 2 * self._innie_y2 + \ + self._innie_spacer) else: - svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + svg += self._rline_to(0, 2 * self._innie_y2 + \ + self._innie_spacer) svg += self._corner(-1, 1) svg += self.line_to(xx, self._y) svg += self._do_tab() svg += self._corner(-1, -1) for i in range(len(self._innie)): - if self._innie[len(self._innie)-i-1] is True: - svg += self._rline_to(0, -2*self._innie_y2-self._innie_spacer) + if self._innie[len(self._innie) - i - 1] is True: + svg += self._rline_to(0, -2 * self._innie_y2 - \ + self._innie_spacer) svg += self._do_reverse_innie() else: - svg += self._rline_to(0, -2*self._innie_y2-self._innie_spacer) + svg += self._rline_to(0, -2 * self._innie_y2 - \ + self._innie_spacer) svg += self._close_path() self.calc_w_h() svg += self.style() @@ -220,17 +229,18 @@ class SVG: def basic_box(self): self.reset_min_max() self.set_outie(True) - x = self._stroke_width/2.0+self._innie_x1+self._innie_x2 - self.margins[0] = int((x+self._stroke_width+0.5)*self._scale) - self.margins[1] = int((self._stroke_width+0.5)*self._scale) + x = self._stroke_width / 2.0 + self._innie_x1 + self._innie_x2 + self.margins[0] = int((x + self._stroke_width + 0.5) * self._scale) + self.margins[1] = int((self._stroke_width + 0.5) * self._scale) self.margins[2] = 0 self.margins[3] = 0 - svg = self.new_path(x, self._stroke_width/2.0) + svg = self.new_path(x, self._stroke_width / 2.0) svg += self._rline_to(self._expand_x, 0) - svg += self._rline_to(0, 2*self._radius+self._innie_y2+self._expand_y) + svg += self._rline_to(0, 2 * self._radius + self._innie_y2 + \ + self._expand_y) svg += self._rline_to(-self._expand_x, 0) - svg += self.line_to(x, self._radius+self._innie_y2+\ - self._stroke_width/2.0) + svg += self.line_to(x, self._radius + self._innie_y2 + \ + self._stroke_width / 2.0) svg += self._do_outie() svg += self._close_path() self.calc_w_h() @@ -240,137 +250,143 @@ class SVG: def boolean_and_or(self): self.reset_min_max() - svg = self._start_boolean(self._stroke_width/2.0, - self._radius*5.5+self._stroke_width/2.0+\ - self._innie_y2+self._innie_spacer +\ + svg = self._start_boolean(self._stroke_width / 2.0, + self._radius * 5.5 + self._stroke_width / \ + 2.0 + \ + self._innie_y2 + self._innie_spacer +\ self._expand_y) - svg += self._rline_to(0,-self._radius*3.5-self._innie_y2-\ - self._innie_spacer-self._stroke_width) + svg += self._rline_to(0, -self._radius * 3.5 - self._innie_y2 - \ + self._innie_spacer - self._stroke_width) - self._hide_x = self._x + self._radius/2 + self._stroke_width - self._hide_y = self._y - self._radius/2 + self._stroke_width - self._show_x = self._x + self._radius/2 + self._stroke_width + self._hide_x = self._x + self._radius / 2 + self._stroke_width + self._hide_y = self._y - self._radius / 2 + self._stroke_width + self._show_x = self._x + self._radius / 2 + self._stroke_width svg += self._rarc_to(1, -1) - svg += self._rline_to(self._radius/2.0+self._expand_x, 0) + svg += self._rline_to(self._radius / 2.0 + self._expand_x, 0) xx = self._x - svg += self._rline_to(0,self._radius/2.0) + svg += self._rline_to(0, self._radius / 2.0) svg += self._do_boolean() - svg += self._rline_to(0,self._radius*1.5+self._innie_y2+\ + svg += self._rline_to(0, self._radius * 1.5 + self._innie_y2 + \ self._innie_spacer) svg += self._rline_to(0, self._expand_y) svg += self._do_boolean() - svg += self._rline_to(0,self._radius/2.0) + svg += self._rline_to(0, self._radius / 2.0) - self._show_y = self._y + self._radius/2 - self._show_y -= (self._innie_y1+self._innie_y2+self._stroke_width) + self._show_y = self._y + self._radius / 2 + self._show_y -= (self._innie_y1 + self._innie_y2 + self._stroke_width) svg += self.line_to(xx, self._y) svg += self._rline_to(-self._expand_x, 0) svg += self._end_boolean() - self.margins[0] = int((self._radius+self._stroke_width+0.5)*self._scale) - self.margins[1] = int(self._stroke_width*self._scale) - self.margins[2] = int(self._stroke_width*self._scale) - self.margins[3] = int(self._stroke_width*self._scale) + self.margins[0] = int((self._radius + self._stroke_width + 0.5) * \ + self._scale) + self.margins[1] = int(self._stroke_width * self._scale) + self.margins[2] = int(self._stroke_width * self._scale) + self.margins[3] = int(self._stroke_width * self._scale) return self.header() + svg def boolean_not(self): self.reset_min_max() - svg = self._start_boolean(self._stroke_width/2.0, - self._radius*2.0+self._stroke_width/2.0) - svg += self._rline_to(0,-self._stroke_width) + svg = self._start_boolean(self._stroke_width / 2.0, self._radius * \ + 2.0 + self._stroke_width / 2.0) + svg += self._rline_to(0, -self._stroke_width) svg += self._rarc_to(1, -1) - svg += self._rline_to(self._radius/2.0+self._expand_x, 0) + svg += self._rline_to(self._radius / 2.0 + self._expand_x, 0) xx = self._x - svg += self._rline_to(0,self._radius/2.0) + svg += self._rline_to(0, self._radius / 2.0) svg += self._do_boolean() - svg += self._rline_to(0,self._radius/2.0) + svg += self._rline_to(0, self._radius / 2.0) svg += self.line_to(xx, self._y) svg += self._rline_to(-self._expand_x, 0) svg += self._end_boolean() - self.margins[0] = int((self._radius+self._stroke_width+0.5)*self._scale) - self.margins[1] = int(self._stroke_width*self._scale) - self.margins[2] = int((self._radius+self._stroke_width+0.5)*self._scale) - self.margins[3] = int(self._stroke_width*self._scale) + self.margins[0] = int((self._radius + self._stroke_width + 0.5) * \ + self._scale) + self.margins[1] = int(self._stroke_width * self._scale) + self.margins[2] = int((self._radius + self._stroke_width + 0.5) * \ + self._scale) + self.margins[3] = int(self._stroke_width * self._scale) return self.header() + svg def boolean_compare(self): self.reset_min_max() - yoffset = self._radius*2+2*self._innie_y2+\ - self._innie_spacer+self._stroke_width/2.0 + self._expand_y + yoffset = self._radius * 2 + 2 * self._innie_y2 + \ + self._innie_spacer + self._stroke_width / 2.0 + \ + self._expand_y if self._porch is True: yoffset += self._porch_y - svg = self._start_boolean(self._stroke_width/2.0, yoffset) - yoffset = -2*self._innie_y2-self._innie_spacer-self._stroke_width + svg = self._start_boolean(self._stroke_width / 2.0, yoffset) + yoffset = -2 * self._innie_y2 - self._innie_spacer - self._stroke_width if self._porch is True: yoffset -= self._porch_y svg += self._rline_to(0, yoffset) - self._hide_x = self._x + self._radius/2 + self._stroke_width - self._hide_y = self._y - self._radius/2 + self._stroke_width - self._show_x = self._x + self._radius/2 + self._stroke_width + self._hide_x = self._x + self._radius / 2 + self._stroke_width + self._hide_y = self._y - self._radius / 2 + self._stroke_width + self._show_x = self._x + self._radius / 2 + self._stroke_width svg += self._rarc_to(1, -1) - svg += self._rline_to(self._radius/2.0+self._expand_x, 0) - svg += self._rline_to(0,self._radius) + svg += self._rline_to(self._radius / 2.0 + self._expand_x, 0) + svg += self._rline_to(0, self._radius) xx = self._x svg += self._do_innie() svg += self._rline_to(0, self._expand_y) if self._porch is True: - svg += self._do_porch() + svg += self._do_porch() else: - svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer) + svg += self._rline_to(0, 2 * self._innie_y2 + self._innie_spacer) svg += self._do_innie() svg += self._rline_to(0, self._radius) svg += self.line_to(xx, self._y) svg += self._rline_to(-self._expand_x, 0) - self._show_y = self._y + self._radius/2 - self._show_y -= (self._innie_y1+self._innie_y2+self._stroke_width) + self._show_y = self._y + self._radius / 2 + self._show_y -= (self._innie_y1 + self._innie_y2 + self._stroke_width) svg += self._end_boolean() - self.margins[0] = int((self._radius+self._stroke_width)*self._scale) - self.margins[1] = int(self._stroke_width*self._scale) - self.margins[2] = int(self._stroke_width*self._scale) - self.margins[3] = int(self._stroke_width*self._scale) + self.margins[0] = int((self._radius + self._stroke_width) * \ + self._scale) + self.margins[1] = int(self._stroke_width * self._scale) + self.margins[2] = int(self._stroke_width * self._scale) + self.margins[3] = int(self._stroke_width * self._scale) return self.header() + svg def turtle(self, colors): self.reset_min_max() self._fill, self._stroke = colors[0], colors[1] - + svg = "%s%s%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") + svg += "%s%s%s%s%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s" % (" \n") - svg +="%s%s%s%s%s%s" % (" \n \n") else: return "" @@ -655,7 +673,7 @@ class SVG: def _transform(self, center): if self._orientation != 0: orientation = "\n" % ( - self._orientation, self._width/2.0, self._height/2.0) + self._orientation, self._width / 2.0, self._height / 2.0) else: orientation = "" if center: @@ -663,7 +681,7 @@ class SVG: -self._min_x, -self._min_y) else: return "\n%s" % ( - self._scale, self._scale, orientation ) + self._scale, self._scale, orientation) def footer(self): if self._orientation != 0: @@ -677,9 +695,9 @@ class SVG: else: fill = self._fill return "%s%s;%s%s;%s%.1f;%s%s" % ( - " style=\"fill:",fill, - "fill-opacity:1;stroke:",self._stroke, - "stroke-width:",self._stroke_width, + " style=\"fill:", fill, + "fill-opacity:1;stroke:", self._stroke, + "stroke-width:", self._stroke_width, "stroke-linecap:round;", "stroke-opacity:1;\" />\n") @@ -687,8 +705,8 @@ class SVG: self._x = x self._y = y self._check_min_max() - self._x = x+width - self._y = y-size + self._x = x + width + self._y = y - size self._check_min_max() return " %s%.1f%s%s%s%.1f%s%.1f%s%.1f%s%s%s%s%s" % ( "\n") else: return " %s%.1f%s%.1f%s%.1f%s%.1f%s%s%s" % ( "\n") - + "\" width=\"", w, "\" height=\"", h, + "\" xlink:href=\"data:image/png;base64,", image_data, + "\"/>\n") def _circle(self, r, cx, cy): return "%s%s%s%s%s%f%s%f%s%f%s" % ("\n") + "\" height=\"", h, "\" x=\"", x, "\" y=\"", y, "\" />\n") def background(self, fill): return "%s%s%s%s%s%f%s%f%s%f%s%f%s" % ("\n") def _check_min_max(self): @@ -749,13 +768,13 @@ class SVG: self._x = x self._y = y self._check_min_max() - return "L %.1f %.1f " % (x, y) + return "L %.1f %.1f " % (x, y) def _rline_to(self, dx, dy): if dx == 0 and dy == 0: return "" else: - return self.line_to(self._x+dx, self._y+dy) + return self.line_to(self._x + dx, self._y + dy) def arc_to(self, x, y, r, a=90, l=0, s=1): self._check_min_max() @@ -772,51 +791,53 @@ class SVG: if self._radius == 0: return "" else: - x = self._x + sign_x*self._radius - y = self._y + sign_y*self._radius + x = self._x + sign_x * self._radius + y = self._y + sign_y * self._radius return self.arc_to(x, y, self._radius, a, l, s) def _inverse_corner(self, sign_x, sign_y, a=90, l=0, s=1, start=True, end=True): - r2 = self._stroke_width+self._radius/2.0 + r2 = self._stroke_width + self._radius / 2.0 if start: - if sign_x*sign_y == -1: - svg_str =self._rline_to(sign_x*(r2-self._stroke_width), 0) + if sign_x * sign_y == -1: + svg_str = self._rline_to(sign_x * (r2 - self._stroke_width), 0) else: - svg_str =self._rline_to(0, sign_y*+(r2-self._stroke_width)) - x = self._x + sign_x*r2 - y = self._y + sign_y*r2 + svg_str = self._rline_to(0, sign_y * (r2 - self._stroke_width)) + x = self._x + sign_x * r2 + y = self._y + sign_y * r2 svg_str += self.arc_to(x, y, r2, a, l, s) if end: - if sign_x*sign_y == -1: - svg_str +=self._rline_to(0, sign_y*(r2-self._stroke_width)) + if sign_x * sign_y == -1: + svg_str += self._rline_to(0, + sign_y * (r2 - self._stroke_width)) else: - svg_str +=self._rline_to(sign_x*(r2-self._stroke_width), 0) + svg_str += self._rline_to(sign_x * (r2 - self._stroke_width), + 0) return svg_str def _corner(self, sign_x, sign_y, a=90, l=0, s=1, start=True, end=True): svg_str = "" if sign_x == 1 and sign_y == -1: - self._hide_x = self._x + self._radius/2 + self._stroke_width - self._hide_y = self._y - self._radius/2 + self._stroke_width - self._show_x = self._x + self._radius/2 + self._stroke_width + self._hide_x = self._x + self._radius / 2 + self._stroke_width + self._hide_y = self._y - self._radius / 2 + self._stroke_width + self._show_x = self._x + self._radius / 2 + self._stroke_width if sign_x == -1 and sign_y == 1: - self._show_y = self._y + self._radius/2 - self._stroke_width + self._show_y = self._y + self._radius / 2 - self._stroke_width if self._radius > 0: - r2 = self._radius/2.0 + r2 = self._radius / 2.0 if start: - if sign_x*sign_y == 1: - svg_str +=self._rline_to(sign_x*r2, 0) + if sign_x * sign_y == 1: + svg_str += self._rline_to(sign_x * r2, 0) else: - svg_str +=self._rline_to(0, sign_y*r2) - x = self._x + sign_x*r2 - y = self._y + sign_y*r2 + svg_str += self._rline_to(0, sign_y * r2) + x = self._x + sign_x * r2 + y = self._y + sign_y * r2 svg_str += self.arc_to(x, y, r2, a, l, s) if end: - if sign_x*sign_y == 1: - svg_str +=self._rline_to(0, sign_y*r2) + if sign_x * sign_y == 1: + svg_str += self._rline_to(0, sign_y * r2) else: - svg_str +=self._rline_to(sign_x*r2, 0) + svg_str += self._rline_to(sign_x * r2, 0) return svg_str def new_path(self, x, y): @@ -841,12 +862,13 @@ class SVG: scale = 2.0 else: scale = self._scale - scale2 = scale/2 - svg += self._circle(self._dot_radius*scale2, self._hide_x*scale, - self._hide_y*scale) + scale2 = scale / 2 + svg += self._circle(self._dot_radius * scale2, self._hide_x * scale, + self._hide_y * scale) self._fill, self._stroke = HIDE_WHITE, HIDE_WHITE - svg += self._rect(10*scale2, 2*scale2, self._hide_x*scale-5*scale2, - self._hide_y*scale-scale+scale2) + svg += self._rect(10 * scale2, 2 * scale2, + self._hide_x * scale - 5 * scale2, + self._hide_y * scale - scale + scale2) self._fill, self._stroke = _saved_fill, _saved_stroke return svg @@ -858,29 +880,31 @@ class SVG: scale = 2.0 else: scale = self._scale - scale2 = scale/2 - svg += self._circle(self._dot_radius*scale2, self._show_x*scale, - self._show_y*scale) + scale2 = scale / 2 + svg += self._circle(self._dot_radius * scale2, self._show_x * scale, + self._show_y * scale) self._fill, self._stroke = SHOW_WHITE, SHOW_WHITE - svg += self._rect(10*scale2, 2*scale2, self._show_x*scale-5*scale2, - self._show_y*scale-scale+scale2) - svg += self._rect(2*scale2, 10*scale2, self._show_x*scale-scale+scale2, - self._show_y*scale-5*scale2) + svg += self._rect(10 * scale2, + 2 * scale2, self._show_x * scale - 5 * scale2, + self._show_y * scale - scale + scale2) + svg += self._rect(2 * scale2, 10 * scale2, + self._show_x * scale - scale + scale2, + self._show_y * scale - 5 * scale2) self._fill, self._stroke = _saved_fill, _saved_stroke return svg def _do_slot(self): if self._slot is True: - self.docks.append((int(self._x*self._scale), - int(self._y*self._scale))) + self.docks.append((int(self._x * self._scale), + int(self._y * self._scale))) return "%s%s%s" % ( self._rline_to(0, self._slot_y), self._rline_to(self._slot_x, 0), self._rline_to(0, -self._slot_y)) elif self._cap is True: return "%s%s" % ( - self._rline_to(self._slot_x/2.0, -self._slot_y*2.0), - self._rline_to(self._slot_x/2.0, self._slot_y*2.0)) + self._rline_to(self._slot_x / 2.0, -self._slot_y * 2.0), + self._rline_to(self._slot_x / 2.0, self._slot_y * 2.0)) else: return self._rline_to(self._slot_x, 0) @@ -889,83 +913,85 @@ class SVG: return self._rline_to(-self._slot_x, 0) else: return "%s%s" % ( - self._rline_to(-self._slot_x/2.0, self._slot_y*2.0), - self._rline_to(-self._slot_x/2.0, -self._slot_y*2.0)) + self._rline_to(-self._slot_x / 2.0, self._slot_y * 2.0), + self._rline_to(-self._slot_x / 2.0, -self._slot_y * 2.0)) def _do_tab(self): s = "%s%s%s%s%s" % ( self._rline_to(-self._stroke_width, 0), self._rline_to(0, self._slot_y), - self._rline_to(-self._slot_x+2*self._stroke_width, 0), + self._rline_to(-self._slot_x + 2 * self._stroke_width, 0), self._rline_to(0, -self._slot_y), self._rline_to(-self._stroke_width, 0)) - self.docks.append((int(self._x*self._scale), - int((self._y+self._stroke_width)*self._scale))) + self.docks.append((int(self._x * self._scale), + int((self._y + self._stroke_width) * self._scale))) return s def _do_innie(self): - self.docks.append((int((self._x+self._stroke_width)*self._scale), - int((self._y+self._innie_y2)*self._scale))) + self.docks.append((int((self._x + self._stroke_width) * self._scale), + int((self._y + self._innie_y2) * self._scale))) if self.margins[2] == 0: - self.margins[1] = int((self._y-self._innie_y1)*self._scale) - self.margins[2] = int((self._x-self._innie_x1-self._innie_x2-\ - self._stroke_width*2)*self._scale) + self.margins[1] = int((self._y - self._innie_y1) * self._scale) + self.margins[2] = int((self._x - self._innie_x1 - \ + self._innie_x2 - self._stroke_width * 2) * self._scale) self.margins[3] =\ - int((self._y+self._innie_y2+self._innie_y1)*self._scale) + int((self._y + self._innie_y2 + self._innie_y1) * self._scale) return "%s%s%s%s%s%s%s" % ( self._rline_to(-self._innie_x1, 0), self._rline_to(0, -self._innie_y1), self._rline_to(-self._innie_x2, 0), - self._rline_to(0, self._innie_y2+2*self._innie_y1), + self._rline_to(0, self._innie_y2 + 2 * self._innie_y1), self._rline_to(self._innie_x2, 0), - self._rline_to(0, -self._innie_y1), + self._rline_to(0, -self._innie_y1), self._rline_to(self._innie_x1, 0)) def _do_reverse_innie(self): - self.docks.append((int((self._x+self._stroke_width)*self._scale), - int((self._y)*self._scale))) + self.docks.append((int((self._x + self._stroke_width) * self._scale), + int((self._y) * self._scale))) return "%s%s%s%s%s%s%s" % ( self._rline_to(-self._innie_x1, 0), self._rline_to(0, self._innie_y1), self._rline_to(-self._innie_x2, 0), - self._rline_to(0, -self._innie_y2-2*self._innie_y1), + self._rline_to(0, -self._innie_y2 - 2 * self._innie_y1), self._rline_to(self._innie_x2, 0), - self._rline_to(0, self._innie_y1), + self._rline_to(0, self._innie_y1), self._rline_to(self._innie_x1, 0)) def _do_outie(self): if self._outie is not True: return self._rline_to(0, -self._innie_y2) - self.docks.append((int(self._x*self._scale), int(self._y*self._scale))) + self.docks.append((int(self._x * self._scale), + int(self._y * self._scale))) return "%s%s%s%s%s%s%s%s%s" % ( self._rline_to(0, -self._stroke_width), - self._rline_to(-self._innie_x1-2*self._stroke_width, 0), + self._rline_to(-self._innie_x1 - 2 * self._stroke_width, 0), self._rline_to(0, self._innie_y1), - self._rline_to(-self._innie_x2+2*self._stroke_width, 0), + self._rline_to(-self._innie_x2 + 2 * self._stroke_width, 0), self._rline_to(0, - -self._innie_y2-2*self._innie_y1+2*self._stroke_width), - self._rline_to(self._innie_x2-2*self._stroke_width, 0), + -self._innie_y2 - 2 * self._innie_y1 + 2 * self._stroke_width), + self._rline_to(self._innie_x2 - 2 * self._stroke_width, 0), self._rline_to(0, self._innie_y1), - self._rline_to(self._innie_x1+2*self._stroke_width, 0), + self._rline_to(self._innie_x1 + 2 * self._stroke_width, 0), self._rline_to(0, -self._stroke_width)) def _do_porch(self, flag=True): if flag: return "%s%s%s" % ( - self._rline_to(0, self._porch_y+self._innie_y1), - self._rline_to(self._porch_x-self._radius, 0), + self._rline_to(0, self._porch_y + self._innie_y1), + self._rline_to(self._porch_x - self._radius, 0), self._corner(1, 1)) else: return "%s%s%s" % ( - self._rline_to(0, - self._porch_y-self._innie_y1+self._stroke_width), - self._rline_to(self._porch_x-self._radius, 0), + self._rline_to(0, self._porch_y - self._innie_y1 + \ + self._stroke_width), + self._rline_to(self._porch_x - self._radius, 0), self._corner(1, 1)) def _start_boolean(self, xoffset, yoffset): svg = self.new_path(xoffset, yoffset) self._radius -= self._stroke_width - self.docks.append((int(self._x*self._scale), int(self._y*self._scale))) + self.docks.append((int(self._x * self._scale), + int(self._y * self._scale))) svg += self._rarc_to(1, -1) self._radius += self._stroke_width svg += self._rline_to(self._stroke_width, 0) @@ -974,15 +1000,15 @@ class SVG: def _do_boolean(self): self.docks.append( - (int((self._x-self._radius+self._stroke_width)*self._scale), - int((self._y+self._radius)*self._scale))) + (int((self._x - self._radius + self._stroke_width) * self._scale), + int((self._y + self._radius) * self._scale))) self.margins[2] =\ - int((self._x-self._radius-self._stroke_width)*self._scale) + int((self._x - self._radius - self._stroke_width) * self._scale) svg = self._rarc_to(-1, 1, 90, 0, 0) + self._rarc_to(1, 1, 90, 0, 0) return svg def _end_boolean(self): - svg = self._rline_to(-self._radius*1.5,0) + svg = self._rline_to(-self._radius * 1.5, 0) svg += self._rline_to(0, -self._stroke_width) svg += self._rline_to(-self._stroke_width, 0) self._radius -= self._stroke_width @@ -999,40 +1025,40 @@ class SVG: def calc_w_h(self, add_stroke_width=True): if add_stroke_width: - self._width = (self._max_x-self._min_x+self._stroke_width)*\ + self._width = (self._max_x - self._min_x + self._stroke_width) * \ self._scale else: - self._width = (self._max_x-self._min_x)*self._scale + self._width = (self._max_x - self._min_x) * self._scale if self.margins[2] == 0: - self.margins[2] = int((self._stroke_width+0.5)*self._scale) + self.margins[2] = int((self._stroke_width + 0.5) * self._scale) else: self.margins[2] = int(self._width - self.margins[2]) if add_stroke_width: - self._height = (self._max_y-self._min_y+self._stroke_width)*\ + self._height = (self._max_y - self._min_y + self._stroke_width) * \ self._scale else: - self._height = (self._max_y-self._min_y)*self._scale + self._height = (self._max_y - self._min_y) * self._scale if self.margins[3] == 0: if self._tab: - self.margins[3] =\ - int((self._slot_y+self._stroke_width+0.5)*self._scale) + self.margins[3] = int((self._slot_y + self._stroke_width + \ + 0.5) * self._scale) else: - self.margins[3] =\ - int((self._slot_y*2+self._stroke_width+0.5)*self._scale) + self.margins[3] = int((self._slot_y * 2 + \ + self._stroke_width + 0.5) * self._scale) else: self.margins[3] = int(self._height - self.margins[3]) def _calculate_x_y(self): - x = self._stroke_width/2.0 - y = self._stroke_width/2.0+self._radius - self.margins[0] = int(x+self._stroke_width+0.5) - self.margins[1] = int(self._stroke_width+0.5) + x = self._stroke_width / 2.0 + y = self._stroke_width / 2.0 + self._radius + self.margins[0] = int(x + self._stroke_width + 0.5) + self.margins[1] = int(self._stroke_width + 0.5) if self._outie is True: - x += self._innie_x1+self._innie_x2 - self.margins[0] += self._innie_x1+self._innie_x2 + x += self._innie_x1 + self._innie_x2 + self.margins[0] += self._innie_x1 + self._innie_x2 if self._cap is True: - y += self._slot_y*2.0 - self.margins[1] += self._slot_y*2.0 + y += self._slot_y * 2.0 + self.margins[1] += self._slot_y * 2.0 elif self._slot is True: self.margins[1] += self._slot_y self.margins[0] *= self._scale @@ -1043,17 +1069,19 @@ class SVG: # Command-line tools for testing # + def open_file(datapath, filename): return file(os.path.join(datapath, filename), "w") + def close_file(f): f.close() -def generator(datapath): +def generator(datapath): svg0 = SVG() f = open_file(datapath, "basic.svg") - svg0.set_innie([True,True]) + svg0.set_innie([True, True]) svg0.set_scale(2) svg0.set_tab(True) svg0.set_slot(True) @@ -1062,37 +1090,34 @@ def generator(datapath): f.write(svg_str) close_file(f) + def main(): return 0 + if __name__ == "__main__": generator(os.path.abspath('.')) main() -# -# Load pixbuf from SVG string -# def svg_str_to_pixbuf(svg_string): + """ Load pixbuf from SVG string """ pl = gtk.gdk.PixbufLoader('svg') pl.write(svg_string) pl.close() pixbuf = pl.get_pixbuf() return pixbuf -# -# Load pixmap from SVG string -# + def svg_str_to_pixmap(svg_string): + """ Load pixmap from SVG string """ (pixmap, mask) = svg_str_to_pixbuf(svg_string).render_pixmap_and_mask() return pixmap -# -# Read SVG string from a file -# + def svg_from_file(pathname): + """ Read SVG string from a file """ f = file(pathname, 'r') svg = f.read() f.close() return(svg) - -- cgit v0.9.1