12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env python3
- ############################################################################
- #
- # MODULE: d.redraw
- # AUTHOR(S): Martin Landa <landa.martin gmail.com>
- # PURPOSE: Redraws the content of currently selected monitor
- # COPYRIGHT: (C) 2011-2015 by the GRASS Development Team
- #
- # This program is free software under the GNU General
- # Public License (>=v2). Read the file COPYING that
- # comes with GRASS for details.
- #
- #############################################################################
- # %module
- # % description: Redraws the content of currently selected monitor.
- # % keyword: display
- # % keyword: graphics
- # % keyword: monitors
- # %end
- import os
- import sys
- from grass.script import core as grass
- from grass.script.utils import split
- def main():
- mon = grass.gisenv().get("MONITOR", None)
- if not mon:
- grass.fatal(
- _("No graphics device selected. Use d.mon to select graphics device.")
- )
- monCmd = grass.parse_command("d.mon", flags="g").get("cmd", None)
- if not monCmd or not os.path.isfile(monCmd):
- grass.fatal(_("Unable to open file '%s'") % monCmd)
- try:
- fd = open(monCmd, "r")
- cmdList = fd.readlines()
- grass.run_command("d.erase")
- for cmd in cmdList:
- if cmd.startswith("#"):
- continue
- grass.call(split(cmd))
- except IOError as e:
- grass.fatal(
- _("Unable to open file '%s' for reading. Details: %s") % (monCmd, e)
- )
- fd.close()
- # restore cmd file
- try:
- fd = open(monCmd, "w")
- fd.writelines(cmdList)
- except IOError as e:
- grass.fatal(
- _("Unable to open file '%s' for writing. Details: %s") % (monCmd, e)
- )
- return 0
- if __name__ == "__main__":
- options, flags = grass.parser()
- sys.exit(main())
|