Ejemplo n.º 1
0
 def cleanup(self):
     for handler in self.cleanup_handlers[:]:
         try:
             handler()
         except Exception as exc:
             error("%s" % exc)
         finally:
             self.cleanup_handlers.remove(handler)
Ejemplo n.º 2
0
 def cleanup(self):
     for handler in self.cleanup_handlers[:]:
         try:
             handler()
         except Exception as exc:
             error("%s" % exc)
         finally:
             self.cleanup_handlers.remove(handler)
Ejemplo n.º 3
0
    def writediag(self, parsed_diag, outpath=None):
        if outpath:
            self.options.output = outpath

        try:
            self.create_fontmap()
            self.setup()
            return self.build_diagram(parsed_diag)
        except SystemExit as e:
            return e
        except UnicodeEncodeError:
            error("UnicodeEncodeError caught (check your font settings)")
            return -1
        finally:
            self.cleanup()
Ejemplo n.º 4
0
    def run(self, args):
        try:
            self.parse_options(args)
            self.create_fontmap()

            parsed = self.parse_diagram()
            return self.build_diagram(parsed)
        except SystemExit as e:
            return e
        except UnicodeEncodeError as e:
            error("UnicodeEncodeError caught (check your font settings)")
            return -1
        except Exception as e:
            if self.options and self.options.debug:
                traceback.print_exc()
            else:
                error("%s" % e)
            return -1
        finally:
            plugins.fire_general_event('cleanup')
Ejemplo n.º 5
0
    def run(self, args):
        try:
            self.parse_options(args)
            self.create_fontmap()
            self.setup()

            parsed = self.parse_diagram()
            return self.build_diagram(parsed)
        except SystemExit as e:
            return e
        except UnicodeEncodeError:
            error("UnicodeEncodeError caught (check your font settings)")
            return -1
        except Exception as e:
            if self.options and self.options.debug:
                traceback.print_exc()
            else:
                error("%s" % e)
            return -1
        finally:
            self.cleanup()