�
ƪb�g � �� � d Z ddlZddlmZ ddlZddlmZmZmZm Z m
Z
ddlmZm
Z
mZ ddlmZ dZdddddd d
dddd
�
ZdgZdZd� Zd� Zdededdddfd�Z dd�Zedddfd�Zedddfd�Zd� Zd� Zd� Zy)af
babel.messages.extract
~~~~~~~~~~~~~~~~~~~~~~
Basic infrastructure for extracting localizable messages from source files.
This module defines an extensible system for collecting localizable message
strings from a variety of sources. A native extractor for Python source
files is builtin, extractors for other sources can be added using very
simple plugins.
The main entry points into the extraction functionality are the functions
`extract_from_dir` and `extract_from_file`.
:copyright: (c) 2013-2022 by the Babel Team.
:license: BSD, see LICENSE for more details.
� N)�relpath)�generate_tokens�COMMENT�NAME�OP�STRING)�parse_encoding�parse_future_flags� pathmatch)�dedentzbabel.extractors)� � )r )r � )�r
�cr )r r r )
�_�gettext�ngettext�ugettext� ungettext�dgettext� dngettext�N_�pgettext� npgettext)z**.py�pythonz�%s: warning: Empty msgid. It is reserved by GNU gettext: gettext("") returns the header entry with meta information, not the empty string.c �. �� �fd�}t || � | dd y)z�Helper function for `extract` that strips comment tags from strings
in a list of comment lines. This functions operates in-place.
c �t �� �D ]1 }| j |� s�| t |� d j � c S | S �N)�
startswith�len�strip)�line�tag�tagss ��8/usr/lib/python3/dist-packages/babel/messages/extract.py�_stripz#_strip_comment_tags.<locals>._strip6 s> |