o
    *ήc                     @   s4   d dl mZ d dlZddlmZ G dd deZdS )    )absolute_importN   )Typec                       s0   e Zd ZdZ fddZdd Zdd Z  ZS )IsoBmffz,
    Implements the ISO-BMFF base type.
    c                    s   t t| j||d d S )N)mime	extension)superr   __init__)selfr   r   	__class__ =/tmp/pip-target-vg8gfxp4/lib/python/filetype/types/isobmff.pyr	      s   

zIsoBmff.__init__c                 C   sJ   t |dk s|dd dkrdS t |tt|dd ddk r#dS dS )	N         s   ftypFr   hexT)lenintcodecsencode)r
   bufr   r   r   _is_isobmff   s
   "zIsoBmff._is_isobmffc                 C   s   t t|dd dd}|dd jdd}t t|dd dd}g }td|dD ]}||||d  jdd q,|||fS )	Nr   r   r   r   r      ignore)errors)r   r   r   decoderangeappend)r
   r   ftyp_lenmajor_brandminor_versioncompatible_brandsir   r   r   	_get_ftyp   s    
zIsoBmff._get_ftyp)__name__
__module____qualname____doc__r	   r   r$   __classcell__r   r   r   r   r      s
    r   )
__future__r   r   baser   r   r   r   r   r   <module>   s   