__meta__.pyc
1 o 2 t�c� � @ s� d Z ddlmZ ddlZe�d�Zddddddddd �Zd 3 d 4 d 5 d 6 dddd d �Zdddd�ZG dd� dedg d���Z de 7 de fdd�Ze dddddd�Ze� � ZdS )zMeta related things.� )� 8 namedtupleNz�(?x) 9 (?P<major>\d+)(?:\.(?P<minor>\d+))?(?:\.(?P<micro>\d+))? 10 (?:(?P<type>a|b|rc)(?P<pre>\d+))? 11 (?:\.post(?P<post>\d+))? 12 (?:\.dev(?P<dev>\d+))? 13 � �a�b�rc)�.devz 14 .dev-alphaz .dev-beta�.dev-candidate�alpha�beta� candidate�finalz 2 - Pre-Alphaz 3 - Alphaz4 - Betaz5 - Production/Stabler r 15 r )r r r c s� e Zd ZdZ ddededededed ed 16 edd f� fdd � Zdefdd�Zdefdd�Z defdd�Z 17 defdd�Zdefdd�Z� Z S )�Versional 18 Get the version (PEP 440). 19 20 A biased approach to the PEP 440 semantic version. 21 22 Provides a tuple structure which is sorted for comparisons `v1 > v2` etc. 23 (major, minor, micro, release type, pre-release build, post-release build, development release build) 24 Release types are named in is such a way they are comparable with ease. 25 Accessors to check if a development, pre-release, or post-release build. Also provides accessor to get 26 development status for setup files. 27 28 How it works (currently): 29 30 - You must specify a release type as either `final`, `alpha`, `beta`, or `candidate`. 31 - To define a development release, you can use either `.dev`, `.dev-alpha`, `.dev-beta`, or `.dev-candidate`. 32 The dot is used to ensure all development specifiers are sorted before `alpha`. 33 You can specify a `dev` number for development builds, but do not have to as implicit development releases 34 are allowed. 35 - You must specify a `pre` value greater than zero if using a prerelease as this project (not PEP 440) does not 36 allow implicit prereleases. 37 - You can optionally set `post` to a value greater than zero to make the build a post release. While post releases 38 are technically allowed in prereleases, it is strongly discouraged, so we are rejecting them. It should be 39 noted that we do not allow `post0` even though PEP 440 does not restrict this. This project specifically 40 does not allow implicit post releases. 41 - It should be noted that we do not support epochs `1!` or local versions `+some-custom.version-1`. 42 43 Acceptable version releases: 44 45 ``` 46 Version(1, 0, 0, "final") 1.0 47 Version(1, 2, 0, "final") 1.2 48 Version(1, 2, 3, "final") 1.2.3 49 Version(1, 2, 0, ".dev-alpha", pre=4) 1.2a4 50 Version(1, 2, 0, ".dev-beta", pre=4) 1.2b4 51 Version(1, 2, 0, ".dev-candidate", pre=4) 1.2rc4 52 Version(1, 2, 0, "final", post=1) 1.2.post1 53 Version(1, 2, 3, ".dev") 1.2.3.dev0 54 Version(1, 2, 3, ".dev", dev=1) 1.2.3.dev1 55 ``` 56 57 r r �major�minor�micro�release�pre�post�dev�returnc 58 s� |||||fD ]}t |t�r|dkstd��q|tvr"td�|���d| k r,dk rCn n|dkr6td��|r<td��|rBtd��n#|d k rZ|d 59 krS|dkrStd��|rYtd��n|r`td��|rftd��tt| ��| |||||||�S ) zValidate version info.r z6All version parts except 'release' should be integers.z!'{}' is not a valid release type.r r z"Implicit pre-releases not allowed.z%Version is not a development release.z0Post-releases are not allowed with pre-releases.r r z!Implicit pre-release not allowed.zVersion is not a pre-release.)� 60 isinstance�int� 61 ValueError�REL_MAP�format�superr �__new__) �clsr r r r r r r �value�� __class__� ��C:\Users\Jacks.GUTTSPC\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\soupsieve\__meta__.pyr R s2 ���zVersion.__new__c C � t | jdk�S )zIs prerelease.r )�boolr ��selfr! r! r"