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&