import dcc.config import dcc.doom_base import wand.color import wand.image class Thumb(dcc.doom_base.WadMap): def get_parser(self, prog_name): parser = super().get_parser(prog_name) parser.add_argument("--index", action="store_true") return parser def take_action(self, parsed_args): base = self.base_thumb_path() text = self.text_thumb_path() mdoom = self.m_doom_path() with ( wand.image.Image(filename=base) as bi, wand.color.Color("transparent") as tc ): with wand.image.Image(filename=text) as ti: ti.border(tc, 5, 5) bi.composite(ti, gravity="south_west") with wand.image.Image(filename=mdoom) as mdi: mdi.border(tc, 5, 5) bi.composite(mdi, gravity="north_west") if parsed_args.index: with wand.image.Image( filename=self.fabricate.joinpath("doomed_index.png") ) as di: di.border(tc, 1, 1) bi.composite(di, gravity="north_east") bi.save(filename=self.thumb_path())