%global _empty_manifest_terminate_build 0 Name: python-version-parser Version: 1.0.1 Release: 1 Summary: This package can parse and compare semantic versioning. License: MIT License URL: https://github.com/eieste/VersionParser Source0: https://mirrors.nju.edu.cn/pypi/web/packages/b9/18/61a661be6225176a05ce1cad4f1bcfc9cba57744a9faacf550c5a9e68070/version_parser-1.0.1.tar.gz BuildArch: noarch %description # Version Parser ## JavaScript Version [https://www.npmjs.com/package/version-parser](https://www.npmjs.com/package/version-parser) [![npm version](https://badge.fury.io/js/version-parser.svg)](https://badge.fury.io/js/version-parser) ## Python Version [![Build Status](https://travis-ci.org/eieste/VersionParser.svg?branch=master)](https://travis-ci.org/eieste/VersionParser) [![PyPI version](https://badge.fury.io/py/version-parser.svg)](https://badge.fury.io/py/version-parser) The version parser is able to parse versions and figure out which of them are build in one of the following three formats: Major-Version, Minor-Version and Build-Version. Possible input types are: | Version | Typ | |----------|-------------------| | v1.2.3 | Version | | V1.2.3 | Version | | v_1_2_3 | FILENAME | | v1_2_3 | FILENAME | | V_1_2_3 | FILENAME | | V1_2_3 | FILENAME | | 1_2_3 | FILENAME | | VM1m2b3 | CLASSNAME_BUILD | | VM1m2p3 | CLASSNAME_PATCH | | vM1m2b3 | CLASSNAME_BUILD | | vM1m2p3 | CLASSNAME_PATCH | | 1.2.3 | STRIPPED_VERSION | | 2312 | NUMBER | ## Install ```python pip install version-parser ``` ## Usage Create object with the version as a String as initial parameter. ```python from version_parser import Version v1 = Version("v2.3.4") ``` To compare two version objects/numbers, simply put the versions as Strings into seperate objects and compare them using the logical operators. ```python from version_parser.version import Version v1 = Version("v2.3.4") v2 = Version("v2.3.2") print(v1 < v2) >> False print(v1 > v2) >> True print(v1 == v2) >> False ``` The last digets behind the last dot should be the Patch or Build Version Number. Differences in this area should be compatible to each other. ```python from version_parser.version import Version v1 = Version("v2.3.4") v2 = Version("v2.3.5") print(v1 == v2) >> False print(v1.compatible_version_with(v2)) >> True ``` You can also get only the Major, Minor or Build Version by using: ````python from version_parser import Version v = Version("v2.3.4") v.get_major_version() 2 v.get_minor_version() 3 v.get_build_version() 4 ```` It's possible to convert the version format, too: ````python from version_parser import Version, VersionType v = Version("v2.3.4") # VersionType = Version print(v.get_type()) >> VersionType.Version print(v.get_typed_version(VersionType.FILENAME)) >> v_2_3_4 ```` Any version can be represented by an Integer. > The sections of major, minor, build/patched version should have a maximum of three digets. ````python from version_parser import Version v = Version("v2.3.4") print(v.get_number()) >> 2003004 ```` ## VersionTypes ### VersionType.FILENAME ```python "v___" ``` ### VersionType.CLASSNAME ```python "VMmb" ``` ### VersionType.VERSION ```python "v.." ``` ### VersionType.STRIPPED_VERSION ```python ".." ``` ### VersionType.NUMBER > each section is filled zeros up to three digets ```python "" ``` ### VersionType.CLASSNAME_BUILD > same like CLASSNAME_BUILD ### VersionType.CLASSNAME_PATCH ```python "VMmp" ^ PATCH ``` %package -n python3-version-parser Summary: This package can parse and compare semantic versioning. Provides: python-version-parser BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-version-parser # Version Parser ## JavaScript Version [https://www.npmjs.com/package/version-parser](https://www.npmjs.com/package/version-parser) [![npm version](https://badge.fury.io/js/version-parser.svg)](https://badge.fury.io/js/version-parser) ## Python Version [![Build Status](https://travis-ci.org/eieste/VersionParser.svg?branch=master)](https://travis-ci.org/eieste/VersionParser) [![PyPI version](https://badge.fury.io/py/version-parser.svg)](https://badge.fury.io/py/version-parser) The version parser is able to parse versions and figure out which of them are build in one of the following three formats: Major-Version, Minor-Version and Build-Version. Possible input types are: | Version | Typ | |----------|-------------------| | v1.2.3 | Version | | V1.2.3 | Version | | v_1_2_3 | FILENAME | | v1_2_3 | FILENAME | | V_1_2_3 | FILENAME | | V1_2_3 | FILENAME | | 1_2_3 | FILENAME | | VM1m2b3 | CLASSNAME_BUILD | | VM1m2p3 | CLASSNAME_PATCH | | vM1m2b3 | CLASSNAME_BUILD | | vM1m2p3 | CLASSNAME_PATCH | | 1.2.3 | STRIPPED_VERSION | | 2312 | NUMBER | ## Install ```python pip install version-parser ``` ## Usage Create object with the version as a String as initial parameter. ```python from version_parser import Version v1 = Version("v2.3.4") ``` To compare two version objects/numbers, simply put the versions as Strings into seperate objects and compare them using the logical operators. ```python from version_parser.version import Version v1 = Version("v2.3.4") v2 = Version("v2.3.2") print(v1 < v2) >> False print(v1 > v2) >> True print(v1 == v2) >> False ``` The last digets behind the last dot should be the Patch or Build Version Number. Differences in this area should be compatible to each other. ```python from version_parser.version import Version v1 = Version("v2.3.4") v2 = Version("v2.3.5") print(v1 == v2) >> False print(v1.compatible_version_with(v2)) >> True ``` You can also get only the Major, Minor or Build Version by using: ````python from version_parser import Version v = Version("v2.3.4") v.get_major_version() 2 v.get_minor_version() 3 v.get_build_version() 4 ```` It's possible to convert the version format, too: ````python from version_parser import Version, VersionType v = Version("v2.3.4") # VersionType = Version print(v.get_type()) >> VersionType.Version print(v.get_typed_version(VersionType.FILENAME)) >> v_2_3_4 ```` Any version can be represented by an Integer. > The sections of major, minor, build/patched version should have a maximum of three digets. ````python from version_parser import Version v = Version("v2.3.4") print(v.get_number()) >> 2003004 ```` ## VersionTypes ### VersionType.FILENAME ```python "v___" ``` ### VersionType.CLASSNAME ```python "VMmb" ``` ### VersionType.VERSION ```python "v.." ``` ### VersionType.STRIPPED_VERSION ```python ".." ``` ### VersionType.NUMBER > each section is filled zeros up to three digets ```python "" ``` ### VersionType.CLASSNAME_BUILD > same like CLASSNAME_BUILD ### VersionType.CLASSNAME_PATCH ```python "VMmp" ^ PATCH ``` %package help Summary: Development documents and examples for version-parser Provides: python3-version-parser-doc %description help # Version Parser ## JavaScript Version [https://www.npmjs.com/package/version-parser](https://www.npmjs.com/package/version-parser) [![npm version](https://badge.fury.io/js/version-parser.svg)](https://badge.fury.io/js/version-parser) ## Python Version [![Build Status](https://travis-ci.org/eieste/VersionParser.svg?branch=master)](https://travis-ci.org/eieste/VersionParser) [![PyPI version](https://badge.fury.io/py/version-parser.svg)](https://badge.fury.io/py/version-parser) The version parser is able to parse versions and figure out which of them are build in one of the following three formats: Major-Version, Minor-Version and Build-Version. Possible input types are: | Version | Typ | |----------|-------------------| | v1.2.3 | Version | | V1.2.3 | Version | | v_1_2_3 | FILENAME | | v1_2_3 | FILENAME | | V_1_2_3 | FILENAME | | V1_2_3 | FILENAME | | 1_2_3 | FILENAME | | VM1m2b3 | CLASSNAME_BUILD | | VM1m2p3 | CLASSNAME_PATCH | | vM1m2b3 | CLASSNAME_BUILD | | vM1m2p3 | CLASSNAME_PATCH | | 1.2.3 | STRIPPED_VERSION | | 2312 | NUMBER | ## Install ```python pip install version-parser ``` ## Usage Create object with the version as a String as initial parameter. ```python from version_parser import Version v1 = Version("v2.3.4") ``` To compare two version objects/numbers, simply put the versions as Strings into seperate objects and compare them using the logical operators. ```python from version_parser.version import Version v1 = Version("v2.3.4") v2 = Version("v2.3.2") print(v1 < v2) >> False print(v1 > v2) >> True print(v1 == v2) >> False ``` The last digets behind the last dot should be the Patch or Build Version Number. Differences in this area should be compatible to each other. ```python from version_parser.version import Version v1 = Version("v2.3.4") v2 = Version("v2.3.5") print(v1 == v2) >> False print(v1.compatible_version_with(v2)) >> True ``` You can also get only the Major, Minor or Build Version by using: ````python from version_parser import Version v = Version("v2.3.4") v.get_major_version() 2 v.get_minor_version() 3 v.get_build_version() 4 ```` It's possible to convert the version format, too: ````python from version_parser import Version, VersionType v = Version("v2.3.4") # VersionType = Version print(v.get_type()) >> VersionType.Version print(v.get_typed_version(VersionType.FILENAME)) >> v_2_3_4 ```` Any version can be represented by an Integer. > The sections of major, minor, build/patched version should have a maximum of three digets. ````python from version_parser import Version v = Version("v2.3.4") print(v.get_number()) >> 2003004 ```` ## VersionTypes ### VersionType.FILENAME ```python "v___" ``` ### VersionType.CLASSNAME ```python "VMmb" ``` ### VersionType.VERSION ```python "v.." ``` ### VersionType.STRIPPED_VERSION ```python ".." ``` ### VersionType.NUMBER > each section is filled zeros up to three digets ```python "" ``` ### VersionType.CLASSNAME_BUILD > same like CLASSNAME_BUILD ### VersionType.CLASSNAME_PATCH ```python "VMmp" ^ PATCH ``` %prep %autosetup -n version-parser-1.0.1 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-version-parser -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri May 05 2023 Python_Bot - 1.0.1-1 - Package Spec generated