Example #1
0
    def update_parent_count(self, values = None):
        """
            This function will show count itens in main window.

        """
        if not values:
            values = self.store.get_count()

        self.controller.show_selected_count( (\
                                                      values['count'], utils.humanize_file_size(values['total_size']) \
                                                    , values['selected'], utils.humanize_file_size(values['selected_size']) \
                                                    , values['custom'], utils.humanize_file_size(values['custom_size'])))
Example #2
0
    def load_package(self, filename, path=""):
        """
                Extract package information from deb file.
            """
        local = None
        sections = None
        try:
            if path == "":
                self._location = constants.LOCAL_APT_FOLDER
                # FIXME: where is pkg and pkg.candidate may be None.
                filename = os.path.basename(pkg.candidate.record["Filename"])
                self._deb_file = os.path.basename(filename)
                self._full_path = os.path.join(self._location, filename)

            else:
                self._location = path
                self._deb_file = os.path.basename(filename)
                self._full_path = os.path.join(self._location, filename)

            self._package_size = os.path.getsize(self._full_path)
            self._package_size_text = humanize_file_size(self._package_size)

            # now try to get additional packages information from itself
            local = dumbExtractControl(self._full_path)  # apt_inst.debExtractControl(open(self._full_path))
            # get pacakges sections
            sections = apt_pkg.TagSection(local)

            self._package = self._get_package_section(sections, "Package")
            self._section = self._get_package_section(sections, "Section")
            self._architecture = self._get_package_section(sections, "Architecture")
            self._version = self._get_package_section(sections, "Version")
            self._maintainer = self._get_package_section(sections, "Mantainer")
            self._priority = self._get_package_section(sections, "Priority")
            self._description = self._get_package_section(sections, "Description")
            self._name_version = self._package + self._version

            idx = self._description.find("\n")

            self._long_description = self._description[idx + 1 :]
            self._short_description = self._description[:idx]

            # get packages whom the current packages depends of
            for key in ["Depends", "PreDepends"]:
                if sections.has_key(key):
                    self.depends = self._parse_package_depends(apt_pkg.parse_depends(sections[key]))

            self._custom_package = False
            self._bad_package = False
            self._selected = False
            self._installed = False
            self._old = False
            return True

        except Exception, err:
            print str(err)
            self._package = filename
            self._section = ""
            self._architecture = ""
            self._version = 0
            self._package_size = 0
            self._package_size_text = humanize_file_size(self._package_size)
            self._maintainer = ""
            self._priority = ""
            self._description = constants.MESSAGE_0050
            self._long_description = constants.MESSAGE_0050
            self._short_description = constants.MESSAGE_0051
            self.depends = []
            self._custom_package = False
            self._bad_package = True
            self._selected = False
            self._installed = False
            self._name_version = ""
            self._old = False
            return False