Viewing: ssh.cpython-36.pyc
3 �d[e9 � @ sr d Z ddlZddlZddlZddlmZ ddlmZ ddlZejrFe Z dgZejd�Z ejd�ZG dd� d�ZdS ) z SSH utilities. � N)�sha1)�sha256�SSHPublicKeyzj^[\t ]*(?P<keytype>[^\x00\n\r]+?) [\t ]*(?P<key>[^\x00\n\r]+?)(?:[\t ]+(?P<comment>[^\x00\n\r]*?)[\t ]*)?$z?(?P<name>[-0-9A-Za-z]+)(?:="(?P<value>(?:\\"|[^\x00\n\r"])*)")?c @ s� e Zd ZdZd$Zd%dd �Zd d� Zdd � Zdd� Zdd� Z dd� Z dd� Zdd� Zdd� Z dd� Zdd� Zdd� Zd d!� Zd"d#� ZdS )&r z SSH public key object. �_key�_keytype�_comment�_optionsN�utf-8c C s� t |t�r.|j| _|j| _|j| _|j| _d S t |ttf�sNtdt |�j ��t |t�rr|d d� dkrr|j|�}| j|�p�| j |�p�| j|�}|s�td��|d k r�|| _|d k r�|| _d S )Nz)argument must be bytes or unicode, got %s� s znot a valid SSH public key)� isinstancer r r r r �bytes�unicode� TypeError�type�__name__�decode� _parse_raw� _parse_base64�_parse_openssh� ValueError)�self�key�comment�options�encodingZvalid� r �/usr/lib/python3.6/ssh.py�__init__1 s"