File: //usr/lib/python3/dist-packages/sos/upload/targets/__pycache__/redhat.cpython-310.pyc
o
([QhX) � @ s� d dl Z d dlZd dlmZ d dlmZmZ d dlmZ d dl m
Z
d dlmZ
zd dlZdZW n ey; dZY nw G d d
� d
e�ZdS )� N)�UploadTarget)�
convert_bytes�TIMEOUT_DEFAULT)�DeviceAuthorizationClass)�
RHELPolicy)�_sosTFc s� e Zd ZdZdZdZdZd'� fdd� ZdZd Z e Z
d
ZdZdZ
dd
� Z� fdd�Zdd� Zdd� Zdd� Zdd� Zd(dd�Zdd� Zdd� Zdd � Zd)� fd!d"� Zd#d$� Z� fd%d&�Z� ZS )*�RHELUploadTargetzVhttps://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/auth/devicezPhttps://sso.redhat.com/auth/realms/redhat-external/protocol/openid-connect/tokenzRed Hat Upload Target�redhatNc s t � j|||d� d S )N)�parser�args�cmdline)�super�__init__)�selfr
r r �� __class__� �;/usr/lib/python3/dist-packages/sos/upload/targets/redhat.pyr ! s zRHELUploadTarget.__init__zhttps://api.access.redhat.comzsftp://sftp.access.redhat.com�posti @c C s t | jd t�S )z.Return true if we are running in a RHEL system�policy)�
isinstance�commonsr �r r r r �check_distribution- s z#RHELUploadTarget.check_distributionc s t � �|� | jd j| _d S )N�cmdlineopts)r
�pre_workr �upload_directory)r �hook_commonsr r r r 1 s zRHELUploadTarget.pre_workc C sD | j d jr| j�td�� | j d js | j| _| j�d� d S d S )Nr zVThe option --upload-user has been deprecated in favour of device authorization in RHELz&No case id provided, uploading to SFTP)r �upload_user�ui_log�info�_�case_id�RH_SFTP_HOST�
upload_urlr r r r �prompt_for_upload_user7 s ��z'RHELUploadTarget.prompt_for_upload_userc C s$ | j d jr| j�td�� d S d S )Nr zVThe option --upload-pass has been deprecated in favour of device authorization in RHEL)r �upload_passr r r! r r r r �prompt_for_upload_passwordB s
��z+RHELUploadTarget.prompt_for_upload_passwordc
C s� d| j d j� d�}z7| jr| jW S | j d jr| j d jW S | j d jdkr+| jW S | j d js@| j d �| j d �s@| jW S W n ty\ } z| j�d|� �� W Y d }~nd }~ww | j � |� �S )Nz/support/v1/cases/r z/attachments�sftpr z=There was a problem while setting the remote upload target: )
r r"