%global _empty_manifest_terminate_build 0 Name: python-parser201 Version: 1.4.0 Release: 1 Summary: Extract individual fields from lines in Apache access logs License: MIT URL: https://github.com/geozeke/parser201 Source0: https://mirrors.aliyun.com/pypi/web/packages/63/2d/e684d57583dfc0611f98e6ab696842eccbb63943fc3d49c089aa4db6a47c/parser201-1.4.0.tar.gz BuildArch: noarch %description ![GitHub](https://img.shields.io/github/license/geozeke/parser201) ![PyPI](https://img.shields.io/pypi/v/parser201) ![PyPI - Status](https://img.shields.io/pypi/status/parser201) ![GitHub last commit](https://img.shields.io/github/last-commit/geozeke/parser201) ![GitHub issues](https://img.shields.io/github/issues/geozeke/parser201) ![PyPI - Downloads](https://img.shields.io/pypi/dm/parser201) ![GitHub repo size](https://img.shields.io/github/repo-size/geozeke/parser201) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/parser201)
## Features The centerpiece of the parser201 module is the LogParser class. The class initializer takes a single line from an Apache access log file and extracts the individual fields into attributes within an object. ## Installation ```text pip3 install parser201 ``` ## Usage The most common use-case for parser201 is importing individual lines from an Apache access log file and creating LogParser objects, like this: ```python from parser201 import LogParser with open('access.log', 'r') as f: for line in f: lp = LogParser(line) # Use lp as desired: add to List, Dictionary, etc. ``` ## Documentation See: [parser201 Documentation](https://geozeke.github.io/parser201). ## Version History * 1.4.0 (2023-04-30) * Strengthened regular expression parsing to handle log lines that contain a wider array of malicious attacks. * Added support for access logs that contain both IPv4 and IPv6 addresses. * Minimum supported Python version is now 3.8 (^3.8). * Miscellaneous optimizations.

* 1.3.1 (2022-10-22) * Migrated dependency/build management to [poetry](https://python-poetry.org/).

* 1.3.0 (2022-08-13) * Implemented `__eq__` magic method for the `LogParser` class. You can now perform equality checks on two `LogParser` objects. * Added test cases for `__eq__` * Migrated task runner to `make` * Documentation cleanup * Code linting and cleanup

* 1.2.0 (2022-07-17) * Implemented `__eq__` magic methods in the `FMT` and `TZ` classes. * Documentation cleanup. * Testing improvements and pyproject.toml adjustments for better pytest compatability. * Code linting and cleanup.

* 1.1.5 (2022-01-17) * Code linting and cleanup.

* 1.1.4 (2021-12-23) * Documentation cleanup.

* 1.1.3 (2021-12-19) * Make file tuning. * Documentation cleanup. * Added site logo to README.md.

* 1.1.0 (2021-11-13) * Implemented selectable timestamp conversion options {*original*, *local*, [*UTC*](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)}. * Implemented selectable formatting options for timestamp attribute {*string*, *date_obj*}. * Migrated API reference to GitHub pages. * Code cleanup.

* 1.0.2 (2021-11-05) * Documentation cleanup.

* 1.0.0 (2021-11-04) * Stable production release. * Migrated to a new development framework. * Implemented more robust and compartmentalized test cases. * Code tuning.

* 0.2.0 (2021-10-31) * Changed behavior to gracefully fail for any malformed input line. If an input line cannot be successfully parsed, all attributes of the returned object are set to `None` and no messages are printed. * Added additional pytest cases to verify failure behavior.

* 0.1.9 (2021-09-15) * Code cleanup for pep8 compliance. * Cleaned up Makefiles and scripts to remove references to python (meaning python2) and replace it with python3.

* 0.1.7 (2021-06-05) * Re-tooled testing scripts to use parameterized test data, and conduct more robust testing.

* 0.1.6 (2020-12-19) * Addressed exception handling for initializer input not being a valid string data type. * Documentation cleanup.

* 0.1.5 (2020-10-26) * Enabled automatic deployment of tagged releases to pypi from travis using encrypted token. * Converted references to the master branch in the git repository to main across the documentation set. * Documentation cleanup.

* 0.1.4 (2020-10-24) * Initial pypi release. * Fixed test file filtering issue in .gitignore. * Dependency fix for travis tests.

* 0.1.1 (2020-10-22) * Follow-on testing on test.pypi.org.

* 0.1.0 (2020-10-18) * Initial testing on test.pypi.org. %package -n python3-parser201 Summary: Extract individual fields from lines in Apache access logs Provides: python-parser201 BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-parser201 ![GitHub](https://img.shields.io/github/license/geozeke/parser201) ![PyPI](https://img.shields.io/pypi/v/parser201) ![PyPI - Status](https://img.shields.io/pypi/status/parser201) ![GitHub last commit](https://img.shields.io/github/last-commit/geozeke/parser201) ![GitHub issues](https://img.shields.io/github/issues/geozeke/parser201) ![PyPI - Downloads](https://img.shields.io/pypi/dm/parser201) ![GitHub repo size](https://img.shields.io/github/repo-size/geozeke/parser201) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/parser201)
## Features The centerpiece of the parser201 module is the LogParser class. The class initializer takes a single line from an Apache access log file and extracts the individual fields into attributes within an object. ## Installation ```text pip3 install parser201 ``` ## Usage The most common use-case for parser201 is importing individual lines from an Apache access log file and creating LogParser objects, like this: ```python from parser201 import LogParser with open('access.log', 'r') as f: for line in f: lp = LogParser(line) # Use lp as desired: add to List, Dictionary, etc. ``` ## Documentation See: [parser201 Documentation](https://geozeke.github.io/parser201). ## Version History * 1.4.0 (2023-04-30) * Strengthened regular expression parsing to handle log lines that contain a wider array of malicious attacks. * Added support for access logs that contain both IPv4 and IPv6 addresses. * Minimum supported Python version is now 3.8 (^3.8). * Miscellaneous optimizations.

* 1.3.1 (2022-10-22) * Migrated dependency/build management to [poetry](https://python-poetry.org/).

* 1.3.0 (2022-08-13) * Implemented `__eq__` magic method for the `LogParser` class. You can now perform equality checks on two `LogParser` objects. * Added test cases for `__eq__` * Migrated task runner to `make` * Documentation cleanup * Code linting and cleanup

* 1.2.0 (2022-07-17) * Implemented `__eq__` magic methods in the `FMT` and `TZ` classes. * Documentation cleanup. * Testing improvements and pyproject.toml adjustments for better pytest compatability. * Code linting and cleanup.

* 1.1.5 (2022-01-17) * Code linting and cleanup.

* 1.1.4 (2021-12-23) * Documentation cleanup.

* 1.1.3 (2021-12-19) * Make file tuning. * Documentation cleanup. * Added site logo to README.md.

* 1.1.0 (2021-11-13) * Implemented selectable timestamp conversion options {*original*, *local*, [*UTC*](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)}. * Implemented selectable formatting options for timestamp attribute {*string*, *date_obj*}. * Migrated API reference to GitHub pages. * Code cleanup.

* 1.0.2 (2021-11-05) * Documentation cleanup.

* 1.0.0 (2021-11-04) * Stable production release. * Migrated to a new development framework. * Implemented more robust and compartmentalized test cases. * Code tuning.

* 0.2.0 (2021-10-31) * Changed behavior to gracefully fail for any malformed input line. If an input line cannot be successfully parsed, all attributes of the returned object are set to `None` and no messages are printed. * Added additional pytest cases to verify failure behavior.

* 0.1.9 (2021-09-15) * Code cleanup for pep8 compliance. * Cleaned up Makefiles and scripts to remove references to python (meaning python2) and replace it with python3.

* 0.1.7 (2021-06-05) * Re-tooled testing scripts to use parameterized test data, and conduct more robust testing.

* 0.1.6 (2020-12-19) * Addressed exception handling for initializer input not being a valid string data type. * Documentation cleanup.

* 0.1.5 (2020-10-26) * Enabled automatic deployment of tagged releases to pypi from travis using encrypted token. * Converted references to the master branch in the git repository to main across the documentation set. * Documentation cleanup.

* 0.1.4 (2020-10-24) * Initial pypi release. * Fixed test file filtering issue in .gitignore. * Dependency fix for travis tests.

* 0.1.1 (2020-10-22) * Follow-on testing on test.pypi.org.

* 0.1.0 (2020-10-18) * Initial testing on test.pypi.org. %package help Summary: Development documents and examples for parser201 Provides: python3-parser201-doc %description help ![GitHub](https://img.shields.io/github/license/geozeke/parser201) ![PyPI](https://img.shields.io/pypi/v/parser201) ![PyPI - Status](https://img.shields.io/pypi/status/parser201) ![GitHub last commit](https://img.shields.io/github/last-commit/geozeke/parser201) ![GitHub issues](https://img.shields.io/github/issues/geozeke/parser201) ![PyPI - Downloads](https://img.shields.io/pypi/dm/parser201) ![GitHub repo size](https://img.shields.io/github/repo-size/geozeke/parser201) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/parser201)
## Features The centerpiece of the parser201 module is the LogParser class. The class initializer takes a single line from an Apache access log file and extracts the individual fields into attributes within an object. ## Installation ```text pip3 install parser201 ``` ## Usage The most common use-case for parser201 is importing individual lines from an Apache access log file and creating LogParser objects, like this: ```python from parser201 import LogParser with open('access.log', 'r') as f: for line in f: lp = LogParser(line) # Use lp as desired: add to List, Dictionary, etc. ``` ## Documentation See: [parser201 Documentation](https://geozeke.github.io/parser201). ## Version History * 1.4.0 (2023-04-30) * Strengthened regular expression parsing to handle log lines that contain a wider array of malicious attacks. * Added support for access logs that contain both IPv4 and IPv6 addresses. * Minimum supported Python version is now 3.8 (^3.8). * Miscellaneous optimizations.

* 1.3.1 (2022-10-22) * Migrated dependency/build management to [poetry](https://python-poetry.org/).

* 1.3.0 (2022-08-13) * Implemented `__eq__` magic method for the `LogParser` class. You can now perform equality checks on two `LogParser` objects. * Added test cases for `__eq__` * Migrated task runner to `make` * Documentation cleanup * Code linting and cleanup

* 1.2.0 (2022-07-17) * Implemented `__eq__` magic methods in the `FMT` and `TZ` classes. * Documentation cleanup. * Testing improvements and pyproject.toml adjustments for better pytest compatability. * Code linting and cleanup.

* 1.1.5 (2022-01-17) * Code linting and cleanup.

* 1.1.4 (2021-12-23) * Documentation cleanup.

* 1.1.3 (2021-12-19) * Make file tuning. * Documentation cleanup. * Added site logo to README.md.

* 1.1.0 (2021-11-13) * Implemented selectable timestamp conversion options {*original*, *local*, [*UTC*](https://en.wikipedia.org/wiki/Coordinated_Universal_Time)}. * Implemented selectable formatting options for timestamp attribute {*string*, *date_obj*}. * Migrated API reference to GitHub pages. * Code cleanup.

* 1.0.2 (2021-11-05) * Documentation cleanup.

* 1.0.0 (2021-11-04) * Stable production release. * Migrated to a new development framework. * Implemented more robust and compartmentalized test cases. * Code tuning.

* 0.2.0 (2021-10-31) * Changed behavior to gracefully fail for any malformed input line. If an input line cannot be successfully parsed, all attributes of the returned object are set to `None` and no messages are printed. * Added additional pytest cases to verify failure behavior.

* 0.1.9 (2021-09-15) * Code cleanup for pep8 compliance. * Cleaned up Makefiles and scripts to remove references to python (meaning python2) and replace it with python3.

* 0.1.7 (2021-06-05) * Re-tooled testing scripts to use parameterized test data, and conduct more robust testing.

* 0.1.6 (2020-12-19) * Addressed exception handling for initializer input not being a valid string data type. * Documentation cleanup.

* 0.1.5 (2020-10-26) * Enabled automatic deployment of tagged releases to pypi from travis using encrypted token. * Converted references to the master branch in the git repository to main across the documentation set. * Documentation cleanup.

* 0.1.4 (2020-10-24) * Initial pypi release. * Fixed test file filtering issue in .gitignore. * Dependency fix for travis tests.

* 0.1.1 (2020-10-22) * Follow-on testing on test.pypi.org.

* 0.1.0 (2020-10-18) * Initial testing on test.pypi.org. %prep %autosetup -n parser201-1.4.0 %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-parser201 -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Fri Jun 09 2023 Python_Bot - 1.4.0-1 - Package Spec generated