Файловый менеджер - Редактировать - /opt/imh-python/lib/python3.9/site-packages/vine/__pycache__/promises.cpython-39.pyc
Ðазад
a ^�h � @ sf d Z ddlZddlZddlmZ ddlmZmZ ddlm Z ddl mZ dgZe j G d d� d��ZdS ) zPromise implementation.� N)�deque)� WeakMethod�ref� )�Thenable)�reraise�promisec @ s~ e Zd ZdZeed�sdZddd�Zedd � �Z d d� Z dd � Zdd� Zdd� Z ddd�Zddd�Zddd�Zedd� �ZdS )r a~ Promise of future evaluation. This is a special implementation of promises in that it can be used both for "promise of a value" and lazy evaluation. The biggest upside for this is that everything in a promise can also be a promise, e.g. filters, callbacks and errbacks can all be promises. Usage examples: .. code-block:: python >>> p = promise() >>> p.then(promise(print, ('OK',))) # noqa >>> p.on_error = promise(print, ('ERROR',)) # noqa >>> p(20) OK, 20 >>> p.then(promise(print, ('hello',))) # noqa hello, 20 >>> p.throw(KeyError('foo')) ERROR, KeyError('foo') >>> p2 = promise() >>> p2.then(print) # noqa >>> p2.cancel() >>> p(30) Example: .. code-block:: python from vine import promise, wrap class Protocol: def __init__(self): self.buffer = [] def receive_message(self): return self.read_header().then( self.read_body).then( wrap(self.prepare_body)) def read(self, size, callback=None): callback = callback or promise() tell_eventloop_to_read(size, callback) return callback def read_header(self, callback=None): return self.read(4, callback) def read_body(self, header, callback=None): body_size, = unpack('>L', header) return self.read(body_size, callback) def prepare_body(self, value): self.buffer.append(value) �pypy_version_info)�fun�args�kwargs�ready�failed�value� ignore_result�reason� _svpending� _lvpending�on_error� cancelled�weak�__weakref__�__dict__NFc C s� || _ || _| j||d�| _|p"d| _|p,i | _d| _d| _d | _d | _ d | _ d | _|| _d| _ |d urr| �|� | jr�| jr�t|�s�J �d S )N�r r � F)r r �_get_fun_or_weakrefr r r r r r r r r r r �then�callable)�selfr r r �callbackr r r r r �}/root/rpmbuild/BUILDROOT/imh-python39-modules-3.9.7-92.el8.x86_64/opt/imh-python/lib/python3.9/site-packages/vine/promises.py�__init__T s"