Server IP : 209.38.156.173 / Your IP : 216.73.216.122 [ Web Server : Apache/2.4.52 (Ubuntu) System : Linux lakekumayuhotel 5.15.0-136-generic #147-Ubuntu SMP Sat Mar 15 15:53:30 UTC 2025 x86_64 User : root ( 0) PHP Version : 8.1.2-1ubuntu2.22 Disable Function : NONE Domains : 2 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/UpdateManager/Core/__pycache__/ |
Upload File : |
o z��c�G � @ s4 d dl mZ d dlmZ d dlmZ d dlmZmZmZ d dl m Z d dlZd dlZe� � d dlZd dlZd dlZd dlZd dlZd dlZd dlZzd dlmZmZmZmZmZ d dlmZ W n ey} d dlmZmZmZmZmZ d dlmZ Y nw d d l m Z G d d� de!�Z"dd � Z#dd� Z$dKdd�Z%dd� Z&dLdd�Z'dd� Z(dd� Z)dd� Z*dd� Z+d d!� Z,d"d#� Z-G d$d%� d%e�Z.dKd&d'�Z/dKd(d)�Z0d*d+� Z1d,d-� Z2d.d/� Z3d0d1� Z4dKd2d3�Z5d4d5� Z6dKd6d7�Z7dKd8d9�Z8d:d;� Z9d<d=� Z:d>d?� Z;d@dA� Z<dBdC� Z=dDdE� Z>dFdG� Z?e@dHk�re9ddIdJ� dS dS )M� )�print_function)�gettext)�ngettext)�S_IMODE�ST_MODE�S_IXUSR)�ceilN)�ProxyHandler�Request�build_opener�install_opener�urlopen)�urlsplit)�copyc @ s* e Zd ZdZd dd�Zdd� Zdd� Zd S )� ExecutionTimez� Helper that can be used in with statements to have a simple measure of the timing of a particular block of code, e.g. with ExecutionTime("db flush"): db.flush() � c C s || _ d S �N)�info)�selfr � r �:/usr/lib/python3/dist-packages/UpdateManager/Core/utils.py�__init__G s zExecutionTime.__init__c C s t � � | _d S r )�time�now�r r r r � __enter__J s zExecutionTime.__enter__c C s t d| jt�� | j f � d S )Nz%s: %s)�printr r r )r �type�value�stackr r r �__exit__M s zExecutionTime.__exit__N)r )�__name__� __module__�__qualname__�__doc__r r r r r r r r @ s r c C sJ t | �}t|j�}|jr|j�|jd�|_|jr!|j�|jd�|_t|�S )Nzhidden-uzhidden-p)r r �uri�username�replace�password�str)�entry�tmp� url_partsr r r �)get_string_with_no_auth_from_source_entryQ s r- c C sD d} zddl }|�� }|�d�} W | S ty! t�d� Y | S w )z+ return True if Unity is currently running Fr Nzcom.canonical.Unityz&could not check for Unity dbus service)�dbus� SessionBus�name_has_owner� Exception�logging� exception)� unity_runningr. �busr r r �is_unity_running[ s ��r6 c C s� |st �� }|dkrId| }t|��}|�� }W d � n1 s!w Y |�d�d �d�d }|| kr8dS t|�d�d �� d �}|dks dS ) Nr z /proc/%s/stat�(� �)T� F)�os�getpid�open�read� partition� rpartition�int�split)�processname�pid� stat_file�stat_f�stat�commandr r r �is_child_of_process_nameg s �� rI c C s0 t j�d�rt j�d�sdS t �d�t �d�kS )z, returns True if we are inside a chroot z/procz/proc/1T�/z/proc/1/root)r; �path�existsrG r r r r � inside_chrootw s rM �F r c C sL d}| � � D ]}t|�|�d� t|� |kr|d| 7 }||d 7 }q|S )z� helpers inspired after textwrap - unfortunately we can not use textwrap directly because it break packagenames with "-" in them into new lines r � � )rB �len�rfind)�t�width�subsequent_indent�out�sr r r �wrap� s rX c K s8 d}| � d�}|D ]}t|fi |��} || d 7 }q |S )Nr rO )rB rX )rW �kwargs�msg�paras�parr r r �twrap� s r] c C sd g } t j�d�s g S tjdgtjdd�}|�� d �d�}|d= |D ] }|r/| �|�� d � q"| S )z= return list of loaded modules (or [] if lsmod is not found) z/sbin/lsmodT��stdout�universal_newlinesr rO ) r; rK rL � subprocess�Popen�PIPE�communicaterB �append)�modules�p�lines�liner r r �lsmod� s ��rj c C sF t j�| �sdS tt �| �t �}|t@ tks!t �| |tB � dS dS )zB check if a given binary has the executable bit and if not, add itN)r; rK rL r rG r r �chmod)rK �moder r r �check_and_fix_xbit� s �rm c C s� ddi} dt jvrdS t jd �� }|dd� | v r"| |dd� S d|v rA|�d�d �d�d }d |v r=|�d �d }|d S |dd� d S )z: helper to get the country mirror from the current locale �cr �LANGN� �_�.r r: �@r8 )r; �environ�lowerrB )�lang_mirror�lang�countryr r r �country_mirror� s ry c C � t j�d�} | rt�d| � | S ddlm}m} |g d�|dd�}|�� }|dkr4t j �d| � d S |j� � �� } |j�� | S ) z2 return the codename of the current runing distro �META_RELEASE_FAKE_CODENAMEzQusing fake release name '%s' (because of META_RELEASE_FAKE_CODENAME environment) r �rb rc )�lsb_releasez-c�-sTr^ �"lsb_release returned exitcode: %i �unknown distribution�r; rt �getr2 �warningra rb rc �wait�sys�stderr�writer_ �readline�strip�close)�distrb rc rg �resr r r �get_dist� �"