From c3185f51295ebf6ab9d63942a824cc9ddd091e53 Mon Sep 17 00:00:00 2001 From: Florian Festi Date: Fri, 30 Aug 2019 12:27:13 +0200 Subject: [PATCH] Rename to Rack19HalfWidth to better fit with other Rack boxes Move to Box group Support more than one row of equipement Move defaults to arguments to conform with general coding style --- .../{h19rack.py => rack19halfwidth.py} | 34 ++++++++----------- 1 file changed, 15 insertions(+), 19 deletions(-) rename boxes/generators/{h19rack.py => rack19halfwidth.py} (73%) diff --git a/boxes/generators/h19rack.py b/boxes/generators/rack19halfwidth.py similarity index 73% rename from boxes/generators/h19rack.py rename to boxes/generators/rack19halfwidth.py index 9a7c59b..3012091 100644 --- a/boxes/generators/h19rack.py +++ b/boxes/generators/rack19halfwidth.py @@ -3,32 +3,25 @@ from boxes import Boxes from boxes.edges import Edge -class H19Rack(Boxes): - """Half 19inch rack unit for musical equipment.""" - ru_count = 1 - holes = "xxmpwx" - z = 20 - deepz = 124 - earside = 'r' +class Rack19HalfWidth(Boxes): + """Half width 19inch rack unit for musical equipment.""" - # provided by default via boxes - x, y, = 0, 0 - thickness = 3 + ui_group = "Box" def __init__(self): super().__init__() self.argparser.add_argument( - '--ru_count', action='store', type=float, default=self.ru_count, + '--ru_count', action='store', type=float, default=1, help='number of rack units') self.argparser.add_argument( - '--holes', action='store', type=str, default=self.holes, - help='holes, x=xlr, m=midi, p=9v-power, w=6.5mm-wire') + '--holes', action='store', type=str, default="xxmpwx", + help='mounting patterns: x=xlr, m=midi, p=9v-power, w=6.5mm-wire, space=next row') self.argparser.add_argument( - '--z', action='store', type=float, default=self.z, + '--z', action='store', type=float, default=20, help='depth of the shorter (rackear) side') self.argparser.add_argument( - '--deepz', action="store", type=float, default=self.deepz, - help='depath of the longer (screwed to another half sized thing) side') + '--deepz', action="store", type=float, default=124, + help='depth of the longer (screwed to another half sized thing) side') def render(self): """Render box.""" @@ -59,9 +52,12 @@ class H19Rack(Boxes): def util_holes(self): """Add holes.""" - self.moveTo(10, self.y / 2 + self.thickness) - for hole in self.holes: - self.hole_map.get(hole, lambda _: None)(self) + self.moveTo(10, (44.45 - 4.45)/2) + for line in self.holes.split(): + with self.saved_context(): + for hole in line: + self.hole_map.get(hole, lambda _: None)(self) + self.moveTo(0, 44.45) def hole_xlr(self): """Hole for a xlr port."""