summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-06-20 09:47:16 +0000
committerCoprDistGit <infra@openeuler.org>2023-06-20 09:47:16 +0000
commit66a3b18bb58f9d2032b60fe45364a2384e5b0196 (patch)
tree562286f2a41b52c14778cb86d441d394e948d68c
parent6773430d3f77e91a9e1b3769a1d769c7e055773f (diff)
automatic import of python-CycLogopeneuler20.03
-rw-r--r--.gitignore1
-rw-r--r--python-cyclog.spec414
-rw-r--r--sources1
3 files changed, 416 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..185b942 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/CycLog-1.1.4.tar.gz
diff --git a/python-cyclog.spec b/python-cyclog.spec
new file mode 100644
index 0000000..3f7c47c
--- /dev/null
+++ b/python-cyclog.spec
@@ -0,0 +1,414 @@
+%global _empty_manifest_terminate_build 0
+Name: python-CycLog
+Version: 1.1.4
+Release: 1
+Summary: A python module to handle cyclic logs.
+License: The Unlicense (Unlicense)
+URL: https://github.com/jonatan1609/CycleLog
+Source0: https://mirrors.aliyun.com/pypi/web/packages/d0/8b/fc01ee2d22ff8885938d55681bc6d75dd35d4ac456d405cc8ad1e29fc027/CycLog-1.1.4.tar.gz
+BuildArch: noarch
+
+
+%description
+# CycleLog
+
+This library will let you log into a cyclic file easily.
+
+#### What is a cycle log?
+- A cycle log is a log file which does not keep more than N lines, once the log reaches N lines the logger will delete older lines from the beginning,
+so you can only have latest logs which you need to figure out the error, to reproduce last steps, and such.
+
+
+### basic example:
+```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log"
+)
+for i in range(10):
+ logger.log(i)
+```
+
+which will be logged:
+
+```
+[27/01/2021 - 19:36] : 0
+[27/01/2021 - 19:36] : 1
+[27/01/2021 - 19:36] : 2
+[27/01/2021 - 19:36] : 3
+[27/01/2021 - 19:36] : 4
+[27/01/2021 - 19:36] : 5
+[27/01/2021 - 19:36] : 6
+[27/01/2021 - 19:36] : 7
+[27/01/2021 - 19:36] : 8
+[27/01/2021 - 19:36] : 9
+
+```
+
+Since the default max lines is 500, we got the entire log. let's try to change it to 5:
+
+```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log",
+ max_lines=5
+)
+for i in range(10):
+ logger.log(i)
+```
+
+And now we only get the last 5 lines.
+```
+[27/01/2021 - 19:38] : 5
+[27/01/2021 - 19:38] : 6
+[27/01/2021 - 19:38] : 7
+[27/01/2021 - 19:38] : 8
+[27/01/2021 - 19:38] : 9
+
+```
+
+In principle, you can give any object that has `__str__` method, `logger.log`
+converts implicitly any object to string.
+
+
+### Few more settings:
+
+> `include_date: bool`, default: `True`
+>>determines whether to add time to log message or not.
+> **it affects the format message only in case of the format message is the default.**
+>>> for example, without date, a typical message will look:
+>>>> `[19:38] : 9`
+
+> `include_time: bool`, default: `True`
+>>determines whether to add date to log message or not.
+> **it affects the format message only in case of the format message is the default.**
+>>> for example, without time, a typical message will look:
+>>>> `[27/01/2021] : 9`
+
+
+>if both `include_time` and `include_date` will be False, a log will only show the message itself.
+>> `logger.log("hello")` will log `hello`, without date or time.
+
+> `max_lines: int`, default: `500`.
+>>Determines the maximum of lines in a file.
+
+>`message_format: str`, default: `"[{date} - {time}] : {message}"`
+>> you can set it to your own message and then you
+can add keyword arguments to `logger.log`, for example:
+
+ ```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log",
+ max_lines=5,
+ message_format=CycleLogger.MESSAGE_FORMAT + " [from {name} - {n}]"
+)
+for i in range(10):
+ logger.log(i, name="Jonatan", n=i)
+```
+will be
+```[27/01/2021 - 19:50] : 5 [from Jonatan - 5]
+[27/01/2021 - 19:50] : 6 [from Jonatan - 6]
+[27/01/2021 - 19:50] : 7 [from Jonatan - 7]
+[27/01/2021 - 19:50] : 8 [from Jonatan - 8]
+[27/01/2021 - 19:50] : 9 [from Jonatan - 9]
+```
+>`date_format: str`, default: `"%d/%m/%Y"`
+>> Determines how the date will look.
+
+>`time_format: str`, default: `"%H:%M"`
+>> Determines how the time will look.
+
+>`file_mode: str`, default: `a+`
+>> A mode to open the file in, the mode must be writable and readable.
+> you can see a list of modes and explanation: https://docs.python.org/3/library/functions.html#open
+
+%package -n python3-CycLog
+Summary: A python module to handle cyclic logs.
+Provides: python-CycLog
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-CycLog
+# CycleLog
+
+This library will let you log into a cyclic file easily.
+
+#### What is a cycle log?
+- A cycle log is a log file which does not keep more than N lines, once the log reaches N lines the logger will delete older lines from the beginning,
+so you can only have latest logs which you need to figure out the error, to reproduce last steps, and such.
+
+
+### basic example:
+```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log"
+)
+for i in range(10):
+ logger.log(i)
+```
+
+which will be logged:
+
+```
+[27/01/2021 - 19:36] : 0
+[27/01/2021 - 19:36] : 1
+[27/01/2021 - 19:36] : 2
+[27/01/2021 - 19:36] : 3
+[27/01/2021 - 19:36] : 4
+[27/01/2021 - 19:36] : 5
+[27/01/2021 - 19:36] : 6
+[27/01/2021 - 19:36] : 7
+[27/01/2021 - 19:36] : 8
+[27/01/2021 - 19:36] : 9
+
+```
+
+Since the default max lines is 500, we got the entire log. let's try to change it to 5:
+
+```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log",
+ max_lines=5
+)
+for i in range(10):
+ logger.log(i)
+```
+
+And now we only get the last 5 lines.
+```
+[27/01/2021 - 19:38] : 5
+[27/01/2021 - 19:38] : 6
+[27/01/2021 - 19:38] : 7
+[27/01/2021 - 19:38] : 8
+[27/01/2021 - 19:38] : 9
+
+```
+
+In principle, you can give any object that has `__str__` method, `logger.log`
+converts implicitly any object to string.
+
+
+### Few more settings:
+
+> `include_date: bool`, default: `True`
+>>determines whether to add time to log message or not.
+> **it affects the format message only in case of the format message is the default.**
+>>> for example, without date, a typical message will look:
+>>>> `[19:38] : 9`
+
+> `include_time: bool`, default: `True`
+>>determines whether to add date to log message or not.
+> **it affects the format message only in case of the format message is the default.**
+>>> for example, without time, a typical message will look:
+>>>> `[27/01/2021] : 9`
+
+
+>if both `include_time` and `include_date` will be False, a log will only show the message itself.
+>> `logger.log("hello")` will log `hello`, without date or time.
+
+> `max_lines: int`, default: `500`.
+>>Determines the maximum of lines in a file.
+
+>`message_format: str`, default: `"[{date} - {time}] : {message}"`
+>> you can set it to your own message and then you
+can add keyword arguments to `logger.log`, for example:
+
+ ```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log",
+ max_lines=5,
+ message_format=CycleLogger.MESSAGE_FORMAT + " [from {name} - {n}]"
+)
+for i in range(10):
+ logger.log(i, name="Jonatan", n=i)
+```
+will be
+```[27/01/2021 - 19:50] : 5 [from Jonatan - 5]
+[27/01/2021 - 19:50] : 6 [from Jonatan - 6]
+[27/01/2021 - 19:50] : 7 [from Jonatan - 7]
+[27/01/2021 - 19:50] : 8 [from Jonatan - 8]
+[27/01/2021 - 19:50] : 9 [from Jonatan - 9]
+```
+>`date_format: str`, default: `"%d/%m/%Y"`
+>> Determines how the date will look.
+
+>`time_format: str`, default: `"%H:%M"`
+>> Determines how the time will look.
+
+>`file_mode: str`, default: `a+`
+>> A mode to open the file in, the mode must be writable and readable.
+> you can see a list of modes and explanation: https://docs.python.org/3/library/functions.html#open
+
+%package help
+Summary: Development documents and examples for CycLog
+Provides: python3-CycLog-doc
+%description help
+# CycleLog
+
+This library will let you log into a cyclic file easily.
+
+#### What is a cycle log?
+- A cycle log is a log file which does not keep more than N lines, once the log reaches N lines the logger will delete older lines from the beginning,
+so you can only have latest logs which you need to figure out the error, to reproduce last steps, and such.
+
+
+### basic example:
+```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log"
+)
+for i in range(10):
+ logger.log(i)
+```
+
+which will be logged:
+
+```
+[27/01/2021 - 19:36] : 0
+[27/01/2021 - 19:36] : 1
+[27/01/2021 - 19:36] : 2
+[27/01/2021 - 19:36] : 3
+[27/01/2021 - 19:36] : 4
+[27/01/2021 - 19:36] : 5
+[27/01/2021 - 19:36] : 6
+[27/01/2021 - 19:36] : 7
+[27/01/2021 - 19:36] : 8
+[27/01/2021 - 19:36] : 9
+
+```
+
+Since the default max lines is 500, we got the entire log. let's try to change it to 5:
+
+```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log",
+ max_lines=5
+)
+for i in range(10):
+ logger.log(i)
+```
+
+And now we only get the last 5 lines.
+```
+[27/01/2021 - 19:38] : 5
+[27/01/2021 - 19:38] : 6
+[27/01/2021 - 19:38] : 7
+[27/01/2021 - 19:38] : 8
+[27/01/2021 - 19:38] : 9
+
+```
+
+In principle, you can give any object that has `__str__` method, `logger.log`
+converts implicitly any object to string.
+
+
+### Few more settings:
+
+> `include_date: bool`, default: `True`
+>>determines whether to add time to log message or not.
+> **it affects the format message only in case of the format message is the default.**
+>>> for example, without date, a typical message will look:
+>>>> `[19:38] : 9`
+
+> `include_time: bool`, default: `True`
+>>determines whether to add date to log message or not.
+> **it affects the format message only in case of the format message is the default.**
+>>> for example, without time, a typical message will look:
+>>>> `[27/01/2021] : 9`
+
+
+>if both `include_time` and `include_date` will be False, a log will only show the message itself.
+>> `logger.log("hello")` will log `hello`, without date or time.
+
+> `max_lines: int`, default: `500`.
+>>Determines the maximum of lines in a file.
+
+>`message_format: str`, default: `"[{date} - {time}] : {message}"`
+>> you can set it to your own message and then you
+can add keyword arguments to `logger.log`, for example:
+
+ ```python
+from CycLog import CycleLogger
+
+logger = CycleLogger(
+ file_name="your_project.log",
+ max_lines=5,
+ message_format=CycleLogger.MESSAGE_FORMAT + " [from {name} - {n}]"
+)
+for i in range(10):
+ logger.log(i, name="Jonatan", n=i)
+```
+will be
+```[27/01/2021 - 19:50] : 5 [from Jonatan - 5]
+[27/01/2021 - 19:50] : 6 [from Jonatan - 6]
+[27/01/2021 - 19:50] : 7 [from Jonatan - 7]
+[27/01/2021 - 19:50] : 8 [from Jonatan - 8]
+[27/01/2021 - 19:50] : 9 [from Jonatan - 9]
+```
+>`date_format: str`, default: `"%d/%m/%Y"`
+>> Determines how the date will look.
+
+>`time_format: str`, default: `"%H:%M"`
+>> Determines how the time will look.
+
+>`file_mode: str`, default: `a+`
+>> A mode to open the file in, the mode must be writable and readable.
+> you can see a list of modes and explanation: https://docs.python.org/3/library/functions.html#open
+
+%prep
+%autosetup -n CycLog-1.1.4
+
+%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-CycLog -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 1.1.4-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..1658b3f
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+46b2ce806e8957b6e90730eaa42c1280 CycLog-1.1.4.tar.gz