File: //proc/self/root/usr/lib/python3.6/site-packages/qrcode/__pycache__/main.cpython-36.pyc
3
eb�V�4 � @ s` d dl mZmZmZ d dlmZ d dlZd dlmZ d
dd�Z dd� Z
d d
� ZG dd� d�ZdS )� )� constants�
exceptions�util)� BaseImageN)�bisect_leftc K s t f |�}|j| � |j� S )N)�QRCode�add_data�
make_image)�data�kwargsZqr� r �/usr/lib/python3.6/main.py�make s
r c C s | dk s| dkrt d| ��d S )N� �( z*Invalid version (was %s, expected 1 to 40))�
ValueError)�versionr r r
�_check_version s r c C s t | �dkrtd| ��d S )Nr z1Invalid box size (was %s, expected larger than 0))�intr )�sizer r r
�_check_box_size s r c @ s� e Zd Zdejdddfdd�Zdd� Zd)d d
�Zd*dd
�Zdd� Z dd� Z
d+dd�Zdd� Zd,dd�Z
d-dd�Zd.dd�Zdd� Zdd � Zd!d"� Zd#d$� Zd%d&� Zd'd(� ZdS )/r N�
� c C s\ t |� |ot|�| _t|�| _t|�| _t|�| _|| _|d k rPt|t�sPt �| j
� d S )N)r r r �error_correction�box_size�border�
image_factory�
issubclassr �AssertionError�clear)�selfr r r r r r r r
�__init__ s
zQRCode.__init__c C s d| _ d| _d| _g | _dS )z*
Reset the internal data.
Nr )�modules�
modules_count�
data_cache� data_list)r r r r
r , s zQRCode.clear� c C sN t |tj�r| jj|� n*|r2| jjtj|�� n| jjtj|�� d| _dS )a
Add data to this QR Code.
:param optimize: Data will be split into multiple chunks to optimize
the QR size by finding to more compressed modes of at least this
length. Set to ``0`` to avoid optimizing at all.
N)�
isinstancer ZQRDatar% �append�extendZoptimal_data_chunksr$ )r r
�optimizer r r
r 5 s zQRCode.add_dataTc C s0 |s| j dkr| j| j d� | jd| j� � dS )z�
Compile the data into a QR Code array.
:param fit: If ``True`` (or if a size has not been provided), find the
best fit for the data to avoid data overflow errors.
N)�startF)r �best_fit�makeImpl�best_mask_pattern)r Zfitr r r
r F s zQRCode.makec C s t | j� | jd d | _d g| j | _xFt| j�D ]8}d g| j | j|<