コード例 #1
0
ファイル: MSUAppDelegate.py プロジェクト: DINKIN/munki
    def buildOptionalInstallsData(self):
        table = []
        selfservedata = munki.readSelfServiceManifest()
        selfserve_installs = selfservedata.get('managed_installs', [])
        selfserve_uninstalls = selfservedata.get('managed_uninstalls', [])

        for item in self._optionalInstalls:
            row = {}
            row['enabled'] = objc.YES
            # current install state
            row['installed'] = item.get("installed", objc.NO)
            # user desired state
            row['managed'] = (item['name'] in selfserve_installs)
            row['original_managed'] = (item['name'] in selfserve_installs)
            row['itemname'] = item['name']
            row['name'] = item.get("display_name") or item['name']
            row['version'] = munki.trimVersionString(
                                            item.get("version_to_install"))
            row['description'] = item.get("description", "")
            if item.get("installer_item_size"):
                row['size'] = munki.humanReadable(
                                                item.get("installer_item_size"))
            elif item.get("installed_size"):
                row['size'] = munki.humanReadable(item.get("installed_size"))
            else:
                row['size'] = ""

            if row['installed']:
                if item.get("needs_update"):
                    status = NSLocalizedString(u"Update available", None)
                elif item.get("will_be_removed"):
                    status = NSLocalizedString(u"Will be removed", None)
                elif not item.get('uninstallable'):
                    status = NSLocalizedString(u"Not removable", None)
                    row['enabled'] = objc.NO
                else:
                    row['size'] = "-"
                    status = NSLocalizedString(u"Installed", None)
            else:
                status = "Not installed"
                if item.get("will_be_installed"):
                    status = NSLocalizedString(u"Will be installed", None)
                elif 'licensed_seats_available' in item:
                    if not item['licensed_seats_available']:
                        status = NSLocalizedString(
                            u"No available license seats", None)
                        row['enabled'] = objc.NO
                elif item.get("note"):
                    # some reason we can't install
                    status = item.get("note")
                    row['enabled'] = objc.NO
            row['status'] = status
            row['original_status'] = status
            row_dict = NSMutableDictionary.dictionaryWithDictionary_(row)
            table.append(row_dict)

        self.optional_view_controller.setOptionallist_(table)
        self.optional_view_controller.tableView.deselectAll_(self)
コード例 #2
0
ファイル: MSUAppDelegate.py プロジェクト: cooljeanius/munki
    def buildOptionalInstallsData(self):
        table = []
        selfservedata = munki.readSelfServiceManifest()
        selfserve_installs = selfservedata.get('managed_installs', [])
        selfserve_uninstalls = selfservedata.get('managed_uninstalls', [])

        for item in self._optionalInstalls:
            row = {}
            row['enabled'] = objc.YES
            # current install state
            row['installed'] = item.get("installed", objc.NO)
            # user desired state
            row['managed'] = (item['name'] in selfserve_installs)
            row['original_managed'] = (item['name'] in selfserve_installs)
            row['itemname'] = item['name']
            row['name'] = item.get("display_name") or item['name']
            row['version'] = munki.trimVersionString(
                item.get("version_to_install"))
            row['description'] = item.get("description", "")
            if item.get("installer_item_size"):
                row['size'] = munki.humanReadable(
                    item.get("installer_item_size"))
            elif item.get("installed_size"):
                row['size'] = munki.humanReadable(item.get("installed_size"))
            else:
                row['size'] = ""

            if row['installed']:
                if item.get("needs_update"):
                    status = NSLocalizedString(u"Update available", None)
                else:
                    row['size'] = "-"
                    status = NSLocalizedString(u"Installed", None)
                if item.get("will_be_removed"):
                    status = NSLocalizedString(u"Will be removed", None)
                elif not item.get('uninstallable'):
                    status = NSLocalizedString(u"Not removable", None)
                    row['enabled'] = objc.NO
            else:
                status = "Not installed"
                if item.get("will_be_installed"):
                    status = NSLocalizedString(u"Will be installed", None)
                elif item.get("note"):
                    # some reason we can't install
                    status = item.get("note")
                    row['enabled'] = objc.NO
            row['status'] = status
            row['original_status'] = status
            row_dict = NSMutableDictionary.dictionaryWithDictionary_(row)
            table.append(row_dict)

        self.optional_view_controller.setOptionallist_(table)
        self.optional_view_controller.tableView.deselectAll_(self)
コード例 #3
0
ファイル: MSUAppDelegate.py プロジェクト: cooljeanius/munki
    def buildUpdateTableData(self):
        table = []
        self.restart_required = False
        self.logout_required = False
        for item in self._listofupdates:
            row = {}
            if item.get("force_install_after_date"):
                row['image'] = self._exclamationImage
            elif item.get("RestartAction") == "RequireRestart" or item.get(
                    "RestartAction") == "RecommendRestart":
                row['image'] = self._restartImage
                self.restart_required = True
            elif item.get("RestartAction") == "RequireLogout" or item.get(
                    "RestartAction") == "RecommendLogout":
                row['image'] = self._logoutImage
                self.logout_required = True
            else:
                row['image'] = self._emptyImage
            row['name'] = item.get("display_name") or item.get("name", "")
            row['version'] = munki.trimVersionString(
                item.get("version_to_install"))
            if item.get("installer_item_size"):
                row['size'] = munki.humanReadable(
                    item.get("installer_item_size"))
            elif item.get("installed_size"):
                row['size'] = munki.humanReadable(item.get("installed_size"))
            else:
                row['size'] = ""
            row['description'] = item.get("description", "")
            row_dict = NSDictionary.dictionaryWithDictionary_(row)
            table.append(row_dict)

        self.update_view_controller.setUpdatelist_(table)
        self.update_view_controller.tableView.deselectAll_(self)
        if self.restart_required:
            self.update_view_controller.restartInfoFld.setStringValue_(
                NSLocalizedString(u"Restart will be required.", None))
            self.update_view_controller.restartImageFld.setImage_(
                self._restartImage)
        elif self.logout_required:
            self.update_view_controller.restartInfoFld.setStringValue_(
                NSLocalizedString(u"Logout will be required.", None))
            self.update_view_controller.restartImageFld.setImage_(
                self._logoutImage)
コード例 #4
0
    def buildUpdateTableData(self):
        table = []
        self.restart_required = False
        self.logout_required = False
        for item in self._listofupdates:
            row = {}
            row['image'] = self._emptyImage
            if (item.get("RestartAction") == "RequireRestart" 
                or item.get("RestartAction") == "RecommendRestart"):
                row['image'] = self._restartImage
                self.restart_required = True
            elif (item.get("RestartAction") == "RequireLogout" 
                  or item.get("RestartAction") == "RecommendLogout"):
                row['image'] = self._logoutImage
                self.logout_required = True
            if item.get("force_install_after_date"):
                row['image'] = self._exclamationImage
            row['name'] = item.get("display_name") or item.get("name","")
            row['version'] = munki.trimVersionString(
                                            item.get("version_to_install"))
            if item.get("installer_item_size"):
                row['size'] = munki.humanReadable(
                                            item.get("installer_item_size"))
            elif item.get("installed_size"):
                row['size'] = munki.humanReadable(item.get("installed_size"))
            else:
                row['size'] = ""
            row['description'] = item.get("description","")
            row_dict = NSDictionary.dictionaryWithDictionary_(row)
            table.append(row_dict)

        self.update_view_controller.setUpdatelist_(table)
        self.update_view_controller.tableView.deselectAll_(self)
        if self.restart_required:
            self.update_view_controller.restartInfoFld.setStringValue_(
                NSLocalizedString(u"Restart will be required.", None))
            self.update_view_controller.restartImageFld.setImage_(
                                                            self._restartImage)
        elif self.logout_required:
            self.update_view_controller.restartInfoFld.setStringValue_(
                NSLocalizedString(u"Logout will be required.", None))
            self.update_view_controller.restartImageFld.setImage_(
                                                            self._logoutImage)