%PDF- %PDF-
| Direktori : /lib/python3.9/site-packages/cockpit/__pycache__/ |
| Current File : //lib/python3.9/site-packages/cockpit/__pycache__/packages.cpython-39.pyc |
a
��j�\ � @ s" d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl Z d dl
Z
d dlZd dlm
Z
d dlmZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ ddlmZ ddl m!Z! ddl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z. e�/e0�Z1e�2� e3ee3 d �d
d��Z4e3e3d�d
d�Z5e�2� e3d�dd��Z6ede$e%�Z7e7e7d�dd�Z8G dd� de�Z9G dd� d�Z:G dd� de;e$�Z<G dd� d�Z=G dd� de=�Z>G d d!� d!e=�Z?G d"d#� d#e=�Z@G d$d%� d%e;e$�ZAG d&d'� d'�ZBG d(d)� d)�ZCG d*d+� d+ejDd,d-�ZEdS ).� N)�Path)
�BinaryIO�Callable�ClassVar�Dict� Generator�Iterable�List�
NamedTuple�Optional�Pattern�Sequence�Tuple�TypeVar)�bus� )�config)�__version__)� JsonError�
JsonObject� JsonValue�get_bool�get_dict�get_enum�get_int�get_objv�get_str�get_strv�json_merge_patch�typechecked)�accept_language�returnc
C s t �d| � g }| �d�D ]�}|�� �� }t �d|� |�d�\}}}zt|pPd�}W n tyl Y qY n0 |rt �d||� |�||f� |� d�\}}}qnq|j
dd � d
d� t �d|� g }|D ]&\}} |d
kr� q�||vr�|�|� q�t �d|� t|�S )aL Parse the Accept-Language header, if it exists.
Returns an ordered list of languages, with fallbacks inserted, and
truncated to the position where 'en' would have otherwise appeared, if
applicable.
https://tools.ietf.org/html/rfc7231#section-5.3.5
https://datatracker.ietf.org/doc/html/rfc4647#section-3.4
zparse_accept_language(%r)�,z
entry %rz;q=g �?z adding %r q=%r�-c S s | d S )Nr � )Zpairr$ r$ �4/usr/lib/python3.9/site-packages/cockpit/packages.py�<lambda>Y � z'parse_accept_language.<locals>.<lambda>T��key�reversez sorted list is %r�enz results list is %r)�logger�debug�split�strip�lower� partition�float�
ValueError�append�
rpartition�sort�tuple)
r Zlocales_with_q�entry�locale�_Zqstr�qZ_region�resultsZ_qr$ r$ r% �parse_accept_language; s0
r= )�versionr! c C s d� dd� | �d�D ��S )z7Convert a version string to a form that can be compared�.c s s | ]}|� d �V qdS )� N)�zfill)�.0�partr$ r$ r% � <genexpr>o r'