def __init__(self): QMainWindow.__init__(self) self.setWindowIcon(get_icon(os.path.join(APP_RESOURCES, 'icons', 'python.png'))) self.setupUi(self) # Redirect output to GUI's QTextEdit sys.stdout = OutLog(self.outputTextEdit, sys.stdout) sys.stderr = OutLog(self.outputTextEdit, sys.stderr, QColor(255,0,0) ) settings = QSettings() size = settings.value("MainWindow/Size", QVariant(QSize(600, 500))).toSize() self.resize(size) position = settings.value("MainWindow/Position", QVariant(QPoint(0, 0))).toPoint() self.move(position) self.restoreState( settings.value("MainWindow/State").toByteArray()) self.logger = Logger('Zupport.GUIloader') self.logger.debugging = settings.value("Logging/debugging").toBool() # Set up a ZupportManager to deal with the plugins self.manager = Manager(self) self.plugins = {} # Set up the extents menu self.extent = ExtentContainer() self.menuExtent = QMenu("Extent") resolutions = self.extent.resolutions self.extenactiongroup = QActionGroup(self.menuExtent) noneaction = QAction("None", self.menuExtent) self.extenactiongroup.addAction(noneaction) self.menuExtent.addAction(noneaction) for resolution in resolutions: resolution_text = str(resolution) submenu = self.menuExtent.addMenu(resolution_text) self.menuExtent.addMenu(submenu) for area in self.extent.get_names(resolution): subaction = QAction(str(area) + ": %s" % resolution_text, submenu) subaction.setCheckable(True) self.extenactiongroup.addAction(subaction) submenu.addAction(subaction) noneaction.isChecked() self.menuSettings.addMenu(self.menuExtent) self.actionDebugging_messages.setChecked(self.logger.debugging) self.setWindowTitle("Zupport GUI") self.load_tools() self.toolTreeWidget.itemSelectionChanged.connect(self.update_ui) self.actionDebugging_messages.toggled.connect(self._set_debugging) self.menuExtent.triggered.connect(self.update_ui) self.actionLoad_tool.triggered.connect(self.show_tool_gui) self.toolTreeWidget.doubleClicked.connect(self.show_tool_gui)
def legacy_arcgisscripting(licensetype=None, verbose=True): logger = Logger("zupport.utilities") try: import win32com.client except ImportError: logger.error('Could not import win32com.client.') return gp = win32com.client.Dispatch("esriGeoprocessing.GpDispatch.1") if licensetype is not None: Licensed = gp.SetProduct(licensetype) if not (Licensed in ["NotLicensed", "Failed"]): return gp #Either the licensetype was not set, or it failed #Try to get the highest possible license types = ["ArcInfo", "ArcEditor", "ArcView"] for license in types: Licensed = gp.CheckProduct(license) if not (Licensed in ["NotLicensed", "Failed"]): Licensed = gp.SetProduct(license) logger.debug("Geoprocessor started with license: %s (%s)" % (license, Licensed)) return gp else: logger.debug("License %s is %s" % (license, Licensed)) gp.AddError("No License available for geoprocessor") raise ValueError, "No License available for geoprocessor"
def __init__(self, parameters, service, *args, **kwargs): Tool.__init__(self, parameters, service, *args, **kwargs) self.name = self.__class__.__name__ # Identifier is a combination of the name and the class counter self.id = (self.name, PairFileiterator.id) self.log = Logger("Zupport.%s" % (self.__class__.__name__), debugging=True) self.service = service self.log.debug(msgInitSuccess)
def __init__(self, toolname, parameters, *args, **kwargs): # HACK - by default there seems to be object persistent between the # creation of different ToolLoader objects self._items = [] datatypes.DataSet.__init__(self, title=toolname, comment='', *args, **kwargs) self.logger = Logger('Zupport.GUIloader.ToolLoader', debugging=True) self.logger.debug("Creating GUI for tool %s" % toolname) self.parameters = parameters for parameter in parameters: self.add_dataitem(parameter)