| Current Path : /snap/certbot/current/lib64/python3.12/site-packages/pyparsing/__pycache__/ |
| Current File : //snap/certbot/current/lib64/python3.12/site-packages/pyparsing/__pycache__/common.cpython-312.pyc |
�
tI�i5C � �� � d dl � d dlmZmZmZ ddlmZ ddlZej dk\ Z G d� d� Z e
e � j � D � cg c] } e| e
� s�
| �� c} Zyc c} w ) � )�*)�
DelimitedList�any_open_tag�
any_close_tag� )�datetimeN)� �
c �
� e Zd ZdZed� � Zed� � Z ee� j d� j erend� � Z ee
� j d� j eed� � Z ed� j d � j erend
� � Z e� j erend� � dz e� j erend
� � z j d� Z ej) d� � ee e ed� j- � ez � z z j d� Z ej) e� ed� j d� j erend� � Z ed� j d� j erend� � Z eez ez j d� j7 � Z ed� j d� j erend� � Z ed� j d� j erend� � Z eee � j d� Z! ed � j d!� Z" ed"� j d#� Z#e#d$e#z d%z z j d&� Z$ ee#d$e#z d'z z � d(z ee#d$e#z d'z z � z j d)� Z%e%jM d*� � d+e"z j d,� Z' e(e$e'z e%z j d-� � j d-� Z) ed.� j d/� Z* edQd0e+fd1�� Z,edRd0e+fd2�� Z- ed3� j d4� Z. ed5� j d6� Z/ ed7� � Z0er. e.� j) e0� Z1 e/� j) e0� Z2 ed8� j d9� Z3 e4j, � e5j, � z Z6ed:e+d;ed<e7fd=�� Z8 e( e9 e:d>� e;� z ee<d>�?� z e e=d@� e> e;� d>z � z � z � � j7 � j dA� Z? e@ eeAj� � e?z dB�C� � j dD� ZC edE� � ZDedF� � ZE edG� j dH� ZF e eGdIe� � ZH e eGdJe� � ZI e eGdKe,� � ZJ e eGdLe-� � ZK e eGdMe8� � ZL e eGdNeD� � ZM e eGdOeE� � ZNyP)S�pyparsing_commona
Here are some common low-level expressions that may be useful in
jump-starting parser development:
- numeric forms (:class:`integers<integer>`, :class:`reals<real>`,
:class:`scientific notation<sci_real>`)
- common :class:`programming identifiers<identifier>`
- network addresses (:class:`MAC<mac_address>`,
:class:`IPv4<ipv4_address>`, :class:`IPv6<ipv6_address>`)
- ISO8601 :class:`dates<iso8601_date>` and
:class:`datetime<iso8601_datetime>`
- :class:`UUID<uuid>`
- :class:`comma-separated list<comma_separated_list>`
- :class:`url`
Parse actions:
- :class:`convert_to_integer`
- :class:`convert_to_float`
- :class:`convert_to_date`
- :class:`convert_to_datetime`
- :class:`strip_html_tags`
- :class:`upcase_tokens`
- :class:`downcase_tokens`
Examples:
.. testcode::
pyparsing_common.number.run_tests('''
# any int or real number, returned as the appropriate type
100
-100
+100
3.14159
6.02e23
1e-12
''')
.. testoutput::
:options: +NORMALIZE_WHITESPACE
# any int or real number, returned as the appropriate type
100
[100]
-100
[-100]
+100
[100]
3.14159
[3.14159]
6.02e23
[6.02e+23]
1e-12
[1e-12]
.. testcode::
pyparsing_common.fnumber.run_tests('''
# any int or real number, returned as float
100
-100
+100
3.14159
6.02e23
1e-12
''')
.. testoutput::
:options: +NORMALIZE_WHITESPACE
# any int or real number, returned as float
100
[100.0]
-100
[-100.0]
+100
[100.0]
3.14159
[3.14159]
6.02e23
[6.02e+23]
1e-12
[1e-12]
.. testcode::
pyparsing_common.hex_integer.run_tests('''
# hex numbers
100
FF
''')
.. testoutput::
:options: +NORMALIZE_WHITESPACE
# hex numbers
100
[256]
FF
[255]
.. testcode::
pyparsing_common.fraction.run_tests('''
# fractions
1/2
-3/4
''')
.. testoutput::
:options: +NORMALIZE_WHITESPACE
# fractions
1/2
[0.5]
-3/4
[-0.75]
.. testcode::
pyparsing_common.mixed_integer.run_tests('''
# mixed fractions
1
1/2
-3/4
1-3/4
''')
.. testoutput::
:options: +NORMALIZE_WHITESPACE
# mixed fractions
1
[1]
1/2
[0.5]
-3/4
[-0.75]
1-3/4
[1.75]
.. testcode::
import uuid
pyparsing_common.uuid.set_parse_action(token_map(uuid.UUID))
pyparsing_common.uuid.run_tests('''
# uuid
12345678-1234-5678-1234-567812345678
''')
.. testoutput::
:options: +NORMALIZE_WHITESPACE
# uuid
12345678-1234-5678-1234-567812345678
[UUID('12345678-1234-5678-1234-567812345678')]
c �>