3 �Pf� � @ sp d dl mZ d dlmZ d dlmZ d dlmZ d dlm Z d dl m Z dZG dd � d e�Z G d d� de �ZdS ) � )�division)�deque)� timedelta)�ceil)�stderr)�timez1.2c @ sr e Zd ZeZdZdd� Zdd� Zedd� �Z edd � �Z ed d� �Zdd � Zdd� Z dd� Zddd�Zdd� ZdS )�Infinite� c O sJ d| _ t� | _| j| _t| jd�| _x |j� D ]\}}t| ||� q.W d S )Nr )�maxlen) �indexr �start_ts�_tsr � sma_window�_dt�items�setattr)�self�args�kwargs�key�val� r �/usr/lib/python3.6/__init__.py�__init__ s zInfinite.__init__c C s |j d�rd S t| |d �S )N�_)� startswith�getattr)r r r r r �__getitem__' s zInfinite.__getitem__c C s | j rt| j �t| j � S dS )Nr )r �sum�len)r r r r �avg, s zInfinite.avgc C s t t� | j �S )N)�intr r )r r r r �elapsed0 s zInfinite.elapsedc C s t | jd�S )N)�seconds)r r" )r r r r � elapsed_td4 s zInfinite.elapsed_tdc C s d S )Nr )r r r r �update8 s zInfinite.updatec C s d S )Nr )r r r r �start; s zInfinite.startc C s d S )Nr )r r r r �finish> s zInfinite.finish� c C sF |dkr.t � }|| j | }| jj|� || _| j| | _| j� d S )Nr )r r r �appendr r% )r �nZnowZdtr r r �nextA s z Infinite.nextc c s( x|D ]}|V | j � qW | j� d S )N)r+ r' )r �it�xr r r �iterK s z Infinite.iterN)r( )�__name__� __module__�__qualname__r �filer r r �propertyr r" r$ r% r&