XylotrechusZ
a
��Re� � @ s� d dl mZ d dlZd dlZd dlZejd dkZerDeefZ dZ
n4eZ zejjZ
W n" e
yv e�e�d ��Z
Y n0 G dd� dedd��ZG dd� de�ZdS ) � )�
namedtupleN� c s e Zd ZdZ� fdd�Z� ZS )�ExtTypez'ExtType represents ext type in msgpack.c sV t |t�std��t |t�s$td��d| kr8dksBn td��tt| ��| ||�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-python39-pip-21.3.1-2.el8.x86_64/opt/alt/python39/lib/python3.9/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 sR t |t�std��t |t�s$td��d| kr8dk sBn td��|| _|| _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.N)r � int_typesr r
r r )�selfr r r r r �__init__- s
�zTimestamp.__init__c C s d� | 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 |�| ju r&| 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 | � |� S )z(not-equals method (see :func:`__eq__()`))r&