관리-도구
편집 파일: ext.cpython-36.pyc
3 �Re� � @ s� d dl mZ d dlZd dlZd dlZejd dkZerDeefZ dZ n6eZ yejjZ W n$ e k rx ejejd ��Z Y nX G dd� dedd��ZG dd� de�ZdS ) � )� namedtupleN� c s e Zd ZdZ� fdd�Z� ZS )�ExtTypez'ExtType represents ext type in msgpack.c sX t |t�std��t |t�s$td��d| ko6dkn sDtd��tt| �j| ||�S )Nzcode must be intzdata must be bytesr � zcode must be 0~127)� isinstance�int� TypeError�bytes� ValueError�superr �__new__)�cls�code�data)� __class__� ��/builddir/build/BUILDROOT/alt-python36-pip-20.2.4-5.el8.x86_64/opt/alt/python36/lib/python3.6/site-packages/pip/_vendor/msgpack/ext.pyr s zExtType.__new__)�__name__� __module__�__qualname__�__doc__r � __classcell__r r )r r r s r z code datac @ s� e Zd ZdZddgZd dd�Zdd� Zd d � Zdd� Zd d� Z e dd� �Zdd� Ze dd� �Z dd� Ze dd� �Zdd� Zdd� Ze dd� �ZdS )!� TimestampaR Timestamp represents the Timestamp extension type in msgpack. When built with Cython, msgpack uses C methods to pack and unpack `Timestamp`. When using pure-Python msgpack, :func:`to_bytes` and :func:`from_bytes` are used to pack and unpack `Timestamp`. This class is immutable: Do not override seconds and nanoseconds. �seconds�nanosecondsr c C sT t |t�std��t |t�s$td��d| ko6dk n sDtd��|| _|| _dS ) a� Initialize a Timestamp object. :param int seconds: Number of seconds since the UNIX epoch (00:00:00 UTC Jan 1 1970, minus leap seconds). May be negative. :param int nanoseconds: Number of nanoseconds to add to `seconds` to get fractional time. Maximum is 999_999_999. Default is 0. Note: Negative times (before the UNIX epoch) are represented as negative seconds + positive ns. zseconds must be an intergerznanoseconds must be an integerr � � z?nanoseconds must be a non-negative integer less than 999999999.Ni ʚ;)r � int_typesr r r r )�selfr r r r r �__init__- s zTimestamp.__init__c C s dj | j| j�S )z#String representation of Timestamp.z'Timestamp(seconds={0}, nanoseconds={1}))�formatr r )r r r r �__repr__E s zTimestamp.__repr__c C s* t |�| jkr&| j|jko$| j|jkS dS )z0Check for equality with another Timestamp objectF)�typer r r )r �otherr r r �__eq__K s zTimestamp.__eq__c C s | j |� S )z(not-equals method (see :func:`__eq__()`))r$ )r r# r r r �__ne__S s zTimestamp.__ne__c C s t | j| jf�S )N)�hashr r )r r r r �__hash__W s zTimestamp.__hash__c C s� t | �dkr"tjd| �d }d}nTt | �dkrPtjd| �d }|d@ }|d? }n&t | �dkrntjd | �\}}ntd ��t||�S )a Unpack bytes into a `Timestamp` object. Used for pure-Python msgpack unpacking. :param b: Payload from msgpack ext message with code -1 :type b: bytes :returns: Timestamp object unpacked from msgpack ext payload :rtype: Timestamp � z!Lr � z!Ql �� �"