Exemplo n.º 1
0
    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)
Exemplo n.º 2
0
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"
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
 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)