whoami7 - Manager
:
/
lib
/
python3
/
dist-packages
/
DistUpgrade
/
__pycache__
/
Upload File:
files >> //lib/python3/dist-packages/DistUpgrade/__pycache__/DistUpgradeAptCdrom.cpython-38.pyc
U ٪zc�1 � @ s� d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl m Z G dd� de�Z G dd� de�ZdS )� N)�gettextc @ s e Zd ZdZdS )� AptCdromErrorz% base exception for apt cdrom errors N)�__name__� __module__�__qualname__�__doc__� r r �A/usr/lib/python3/dist-packages/DistUpgrade/DistUpgradeAptCdrom.pyr # s r c @ s� e Zd ZdZdd� Zdd� Zdd� Zdd � Zd d� Zdd � Z dd� Z dd� Zd"dd�Zd#dd�Z dd� Zd$dd�Zdd� Zd%dd�Zdd � Zejd!k r�eZdS )&�AptCdromz represents a apt cdrom object c C s0 || _ || _t� | _t� | _t� | _t�� d S )N)�view� cdrompath�set�packages� signatures�i18n�apt_pkgZinit_config)�selfr �pathr r r �__init__+ s zAptCdrom.__init__c C sB t j�tj�d�tj�d��}t j�|| �r>t� || |� dS )z\ restore the backup copy of the cdroms.list file (*not* sources.list)! � Dir::State�Dir::State::cdromsN) �osr �joinr �config�find_dir�find�exists�shutil�copy)r � backup_ext� cdromstater r r �restore_backup4 s �zAptCdrom.restore_backupc C sr | � � }| �|| j�}tj�d�}t|��}|�� }W 5 Q R X |�|d| �}t|d��}|� |� W 5 Q R X dS )z comment out the cdrom entry �Dir::Etc::sourcelistz# %s�wN) � _readDiskName�_generateSourcesListLiner r r � find_file�open�read�replace�write)r �diskname�pentry�sourceslist�f�contentr r r �comment_out_cdrom_entry? s z AptCdrom.comment_out_cdrom_entryc C s< t � }t � }t � }tj| jdd�D �]\}}}|�d�sB|�d�rP|dd�= q"q"d|kr\q"q"d|krz|�tj�|d�� q"d|kr�|�tj�|d�� q"d |ks�d |kr�t� d| � q"d|kr�|�tj�|d�� q"d |k�rt� tj�|d ��D ]}|�tj�|d |�� q�q"tj�|�d dkr"|dd�= q"|||fS )z| scan the CD for interessting files and return them as: (packagesfiles, signaturefiles, i18nfiles) T)�topdownzdebian-installerz dist-upgraderNz.aptignrZPackageszPackages.gzZSourcesz Sources.gzz+Sources entry found in %s but not supportedzRelease.gpgr � Zpool)r r �walkr �endswith�addr r �logging�error�listdir�split)r r r r �root�dirs�filesr. r r r �_scanCDJ s6 � � zAptCdrom._scanCDc C sl t j�d�}t �� }|�tjj�� �}| � � }t |d��*}|�d||f � |�d||f � W 5 Q R X dS )z update apts cdrom.list r �az CD::%s "%s"; zCD::%s::Label "%s"; N)r r r&