summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-parser201.spec432
-rw-r--r--sources1
3 files changed, 434 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..c773aa0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/parser201-1.4.0.tar.gz
diff --git a/python-parser201.spec b/python-parser201.spec
new file mode 100644
index 0000000..70db472
--- /dev/null
+++ b/python-parser201.spec
@@ -0,0 +1,432 @@
+%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.nju.edu.cn/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)
+
+<br>
+
+<img src="https://github.com/geozeke/parser201/blob/main/docs/logo.png?raw=true" width="120"/>
+
+## 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.<br><br>
+* 1.3.1 (2022-10-22)
+ * Migrated dependency/build management to
+ [poetry](https://python-poetry.org/).<br><br>
+* 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<br><br>
+* 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.<br><br>
+* 1.1.5 (2022-01-17)
+ * Code linting and cleanup.<br><br>
+* 1.1.4 (2021-12-23)
+ * Documentation cleanup.<br><br>
+* 1.1.3 (2021-12-19)
+ * Make file tuning.
+ * Documentation cleanup.
+ * Added site logo to README.md.<br><br>
+* 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.<br><br>
+* 1.0.2 (2021-11-05)
+ * Documentation cleanup.<br><br>
+* 1.0.0 (2021-11-04)
+ * Stable production release.
+ * Migrated to a new development framework.
+ * Implemented more robust and compartmentalized test cases.
+ * Code tuning.<br><br>
+* 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.<br><br>
+* 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.<br><br>
+* 0.1.7 (2021-06-05)
+ * Re-tooled testing scripts to use parameterized test data, and conduct more
+ robust testing.<br><br>
+* 0.1.6 (2020-12-19)
+ * Addressed exception handling for initializer input not being a valid string
+ data type.
+ * Documentation cleanup.<br><br>
+* 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.<br><br>
+* 0.1.4 (2020-10-24)
+ * Initial pypi release.
+ * Fixed test file filtering issue in .gitignore.
+ * Dependency fix for travis tests.<br><br>
+* 0.1.1 (2020-10-22)
+ * Follow-on testing on test.pypi.org.<br><br>
+* 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)
+
+<br>
+
+<img src="https://github.com/geozeke/parser201/blob/main/docs/logo.png?raw=true" width="120"/>
+
+## 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.<br><br>
+* 1.3.1 (2022-10-22)
+ * Migrated dependency/build management to
+ [poetry](https://python-poetry.org/).<br><br>
+* 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<br><br>
+* 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.<br><br>
+* 1.1.5 (2022-01-17)
+ * Code linting and cleanup.<br><br>
+* 1.1.4 (2021-12-23)
+ * Documentation cleanup.<br><br>
+* 1.1.3 (2021-12-19)
+ * Make file tuning.
+ * Documentation cleanup.
+ * Added site logo to README.md.<br><br>
+* 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.<br><br>
+* 1.0.2 (2021-11-05)
+ * Documentation cleanup.<br><br>
+* 1.0.0 (2021-11-04)
+ * Stable production release.
+ * Migrated to a new development framework.
+ * Implemented more robust and compartmentalized test cases.
+ * Code tuning.<br><br>
+* 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.<br><br>
+* 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.<br><br>
+* 0.1.7 (2021-06-05)
+ * Re-tooled testing scripts to use parameterized test data, and conduct more
+ robust testing.<br><br>
+* 0.1.6 (2020-12-19)
+ * Addressed exception handling for initializer input not being a valid string
+ data type.
+ * Documentation cleanup.<br><br>
+* 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.<br><br>
+* 0.1.4 (2020-10-24)
+ * Initial pypi release.
+ * Fixed test file filtering issue in .gitignore.
+ * Dependency fix for travis tests.<br><br>
+* 0.1.1 (2020-10-22)
+ * Follow-on testing on test.pypi.org.<br><br>
+* 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)
+
+<br>
+
+<img src="https://github.com/geozeke/parser201/blob/main/docs/logo.png?raw=true" width="120"/>
+
+## 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.<br><br>
+* 1.3.1 (2022-10-22)
+ * Migrated dependency/build management to
+ [poetry](https://python-poetry.org/).<br><br>
+* 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<br><br>
+* 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.<br><br>
+* 1.1.5 (2022-01-17)
+ * Code linting and cleanup.<br><br>
+* 1.1.4 (2021-12-23)
+ * Documentation cleanup.<br><br>
+* 1.1.3 (2021-12-19)
+ * Make file tuning.
+ * Documentation cleanup.
+ * Added site logo to README.md.<br><br>
+* 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.<br><br>
+* 1.0.2 (2021-11-05)
+ * Documentation cleanup.<br><br>
+* 1.0.0 (2021-11-04)
+ * Stable production release.
+ * Migrated to a new development framework.
+ * Implemented more robust and compartmentalized test cases.
+ * Code tuning.<br><br>
+* 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.<br><br>
+* 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.<br><br>
+* 0.1.7 (2021-06-05)
+ * Re-tooled testing scripts to use parameterized test data, and conduct more
+ robust testing.<br><br>
+* 0.1.6 (2020-12-19)
+ * Addressed exception handling for initializer input not being a valid string
+ data type.
+ * Documentation cleanup.<br><br>
+* 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.<br><br>
+* 0.1.4 (2020-10-24)
+ * Initial pypi release.
+ * Fixed test file filtering issue in .gitignore.
+ * Dependency fix for travis tests.<br><br>
+* 0.1.1 (2020-10-22)
+ * Follow-on testing on test.pypi.org.<br><br>
+* 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
+* Wed May 31 2023 Python_Bot <Python_Bot@openeuler.org> - 1.4.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..5d10049
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+0956eddd52ed0d64503c75a1ee978dfe parser201-1.4.0.tar.gz