Файловый менеджер - Редактировать - /home/digitalm/venv/lib/python3.7/site-packages/openpyxl/worksheet/__pycache__/datavalidation.cpython-37.pyc
Назад
B �5�g � @ s� d dl mZ d dlmZ d dlmZ d dlmZ d dlm Z m Z mZmZm Z mZmZ d dlmZ d dlmZmZmZ dd d �Zdd� Zd dlmZ G dd� de�ZG dd� de�ZdS )� )�defaultdict)�chain)� itemgetter)�Serialisable)�Bool�NoneSet�String�Sequence�Alias�Integer�Convertible)� NestedText)�rows_from_range�coordinate_to_tuple�get_column_letter� c C s� t |�}dd� | D �}tt �}x*t|td�d�D ]\}}|| �|� q0W xR|�� D ]F\}} t|�}d}t| �dkrxd}|�|t | �|t | ��}|�|� qTW d�|�S )ax Collapse a collection of cell co-ordinates down into an optimal range or collection of ranges. E.g. Cells A1, A2, A3, B1, B2 and B3 should have the data-validation object applied, attempt to collapse down to a single range, A1:B3. Currently only collapsing contiguous vertical ranges (i.e. above example results in A1:A3 B1:B3). c s s | ]}t |�V qd S )N)r )�.0�cellr r �W/home/digitalm-up/venv/lib/python3.7/site-packages/openpyxl/worksheet/datavalidation.py� <genexpr>( s z*collapse_cell_addresses.<locals>.<genexpr>� )�keyz {0}{1}:{2}{3}z{0}{1}� )�listr �sortedr �append�itemsr �len�format�min�max�join) �cellsZinput_ranges�rangesZ raw_coordsZgrouped_coords�row�col�fmt�rr r r �collapse_cell_addresses s r( c C s, dd� | � � D �}dd� |D �}tt|� �S )z� Expand cell ranges to a sequence of addresses. Reverse of collapse_cell_addresses Eg. converts "A1:A2 B1:B2" to (A1, A2, B1, B2) c s s | ]}t |�V qd S )N)r )r �rsr r r r B s z%expand_cell_ranges.<locals>.<genexpr>c s s | ]}t |� V qd S )N)r )r r$ r r r r C s )�split�setr )Zrange_string�rowsr"