3 ft` @ s d dl mZ d dl mZ d dlmZ d dlmZ d dlmZ d dl Z d dlZ d dlZ d dl Z d dlZd dlZd dlZdZejdZG d d d e jjZG dd deZdS ) )absolute_import)unicode_literals)hexlify)unlink_f)_Nz/usr/bin/applydeltarpmdnfc sX e Zd Z fddZdd Z fddZdd Zed d Zedd Z d d Z ZS )DeltaPayloadc s" t t| j|| || _|| _d S )N)superr __init__ delta_infodelta)selfr r pkgprogress) __class__ /usr/lib/python3.6/drpm.pyr ) s zDeltaPayload.__init__c C s t jj| jjS )N)ospathbasenamer location)r r r r __str__. s zDeltaPayload.__str__c s2 t t| j||| |tjjjkr.| jj| d S )N) r r _end_cblibdnfrepoZPackageTargetCBZTransferStatus_ERRORr enqueue)r ZcbdataZ lr_statusmsg)r r r r 1 s zDeltaPayload._end_cbc C sh | j }|j\}}tj|}t|j }tjjj |}|tjjj krRtjt d| |j|||j|jdS )Nzunsupported checksum type: %s)Zrelative_urlZ checksum_typeZchecksumZexpectedsizeZbase_url)r chksumhawkeyZchksum_namer decoder r Z PackageTargetZchecksumTypeZChecksumType_UNKNOWNloggerZwarningr r downloadsizeZbaseurl)r r ZctypeZcsumr Z ctype_coder r r _target_params6 s zDeltaPayload._target_paramsc C s | j jS )N)r r! )r r r r download_sizeH s zDeltaPayload.download_sizec C s | j jS )N)r r! )r r r r _full_sizeL s zDeltaPayload._full_sizec C s$ | j j}tjj| jjjtjj|S )N) r r r r joinr r Zpkgdirr )r r r r r localPkgP s zDeltaPayload.localPkg)__name__ __module____qualname__r r r r" propertyr# r$ r&