SILENT KILLERPanel

Current Path: > > > lib > python3.6 > site-packages > up2date_client


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: ///lib/python3.6/site-packages/up2date_client

NameTypeSizeLast ModifiedActions
__pycache__ Directory - -
__init__.py File 0 bytes May 29 2025 13:37:22.
capabilities.py File 7452 bytes May 29 2025 13:37:22.
clientCaps.py File 2208 bytes May 29 2025 13:37:22.
clpwd.py File 3643 bytes May 29 2025 13:37:22.
config.py File 14803 bytes May 29 2025 13:37:22.
debUtils.py File 2830 bytes May 29 2025 13:37:22.
getMethod.py File 4302 bytes May 29 2025 13:37:22.
haltree.py File 4642 bytes May 29 2025 13:37:22.
hardware.py File 32675 bytes May 29 2025 13:37:22.
hardware_gudev.py File 13216 bytes May 29 2025 13:37:22.
hardware_hal.py File 11604 bytes May 29 2025 13:37:22.
hardware_udev.py File 13300 bytes May 29 2025 13:37:22.
pkgUtils.py File 295 bytes May 29 2025 13:37:22.
pkgplatform.py File 309 bytes May 29 2025 13:47:19.
pmPlugin.py File 2859 bytes May 29 2025 13:37:22.
rhnChannel.py File 5031 bytes May 29 2025 13:37:22.
rhnHardware.py File 328 bytes May 29 2025 13:37:22.
rhnPackageInfo.py File 2396 bytes May 29 2025 13:37:22.
rhncli.py File 9335 bytes May 29 2025 13:37:22.
rhnreg.py File 32101 bytes May 29 2025 13:37:22.
rhnreg_constants.py File 18569 bytes May 29 2025 13:37:22.
rhnserver.py File 9531 bytes May 29 2025 13:37:22.
rpcServer.py File 11999 bytes May 29 2025 13:37:22.
rpmUtils.py File 5321 bytes May 29 2025 13:37:22.
transaction.py File 4193 bytes May 29 2025 13:37:22.
tui.py File 44749 bytes May 29 2025 13:37:22.
up2dateAuth.py File 10944 bytes May 29 2025 13:37:22.
up2dateErrors.py File 10502 bytes May 29 2025 13:37:22.
up2dateLog.py File 2108 bytes May 29 2025 13:37:22.
up2dateUtils.py File 5180 bytes May 29 2025 13:47:19.

Reading File: ///lib/python3.6/site-packages/up2date_client/debUtils.py

# Client code for Update Agent
# Copyright (c) 2011--2016 Red Hat, Inc.  Distributed under GPLv2.
#
# Author: Simon Lukasik
#         Lukas Durfina
#

import os
import apt
import gettext
t = gettext.translation('rhn-client-tools', fallback=True)
# Python 3 translations don't have a ugettext method
if not hasattr(t, 'ugettext'):
    t.ugettext = t.gettext
_ = t.ugettext


# FIXME: After Debian bug 187019 is resolved
def verifyPackages(packages):
    cache = apt.Cache()
    missing_packages = []
    for package in packages:
        pkg = cache[package[0]]
        if pkg == None or not pkg.is_installed:
            missing_packages.append(package)

    return [], missing_packages

def parseVRE(version):
    epoch = ''
    release = 'X'
    if version.find(':') != -1:
        epoch, version = version.split(':')
    if version.find('-') != -1:
        tmp = version.split('-')
        version = '-'.join(tmp[:-1])
        release = tmp[-1]
    return version, release, epoch

def installTime(pkg_name, pkg_arch):
    dir = '/var/lib/dpkg/info'
    files = [ '%s.list' % pkg_name,
              '%s:%s.list' % (pkg_name, pkg_arch) ]
    # In edge cases, pkg_name can include the arch but the .list file does not
    if ':' in pkg_name:
        files.append('%s.list' % (pkg_name[:pkg_name.index(':')]))
    for f in files:
        path = os.path.join(dir,f)
        if os.path.isfile(path):
            return os.path.getmtime(path)
    return 0

#FIXME: Using Apt cache might not be an ultimate solution.
# It could be better to parse /var/lib/dpkg/status manually.
# Apt cache might not contain all the packages.
def getInstalledPackageList(msgCallback = None, progressCallback = None,
                            getArch=None, getInfo = None):
    """ Return list of packages. Package is dict with following keys:
        name, epoch, version, release and optionaly arch.
    """
    if msgCallback != None:
        msgCallback(_("Getting list of packages installed on the system"))
    cache = apt.Cache()

    total = 0
    for pkg in cache:
        if pkg.installed != None:
            total += 1

    count = 0
    pkg_list = []
    for pkg in cache:
        if pkg.installed == None:
            continue
        version, release, epoch = parseVRE(pkg.installed.version)
        package = {
            'name': pkg.name,
            'epoch': epoch,
            'version': version,
            'release': release,
            'arch': pkg.installed.architecture + '-deb',
            'installtime': installTime(pkg.name, pkg.installed.architecture)
            }
        pkg_list.append(package)

        if progressCallback != None:
            progressCallback(count, total)
        count = count + 1

    pkg_list.sort(key=lambda package: package['version'])
    return pkg_list

def setDebugVerbosity():
    pass

SILENT KILLER Tool