summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCoprDistGit <infra@openeuler.org>2023-03-09 13:02:32 +0000
committerCoprDistGit <infra@openeuler.org>2023-03-09 13:02:32 +0000
commit554a17b23e37127d945ff2cffbe7c007cf3c1794 (patch)
treec6a6491ccaa68eb263f1f6f02dae3ac896cdc5a1
parentef317a5074a1bd378600c902226c6880d2137683 (diff)
automatic import of python-inotify_simple
-rw-r--r--.gitignore1
-rw-r--r--python-inotify_simple.spec414
-rw-r--r--sources1
3 files changed, 416 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..0f1605c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/inotify_simple-1.3.5.tar.gz
diff --git a/python-inotify_simple.spec b/python-inotify_simple.spec
new file mode 100644
index 0000000..540bc51
--- /dev/null
+++ b/python-inotify_simple.spec
@@ -0,0 +1,414 @@
+%global _empty_manifest_terminate_build 0
+Name: python-inotify-simple
+Version: 1.3.5
+Release: 1
+Summary: A simple wrapper around inotify. No fancy bells and whistles, just a literal wrapper with ctypes. Under 100 lines of code!
+License: BSD
+URL: https://github.com/chrisjbillington/inotify_simple
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/51/41/59ca6011f5463d5e5eefcfed2e7fe470922d3a958b7f3aad95eda208d7d3/inotify_simple-1.3.5.tar.gz
+BuildArch: noarch
+
+
+%description
+# inotify_simple 1.3
+
+`inotify_simple` is a simple Python wrapper around
+[inotify](http://man7.org/linux/man-pages/man7/inotify.7.html).
+No fancy bells and whistles, just a literal wrapper with ctypes. Only \~100
+lines of code!
+
+`inotify_init1()` is wrapped as a file-like object, `INotify()`, holding the inotify
+file descriptor. `INotify().read()` reads available data from the file descriptor and
+returns events as `namedtuple` objects after unpacking them with the `struct` module.
+`inotify_add_watch()` and `inotify_rm_watch()` are wrapped with no changes at all,
+taking and returning watch descriptor integers that calling code is expected to keep
+track of itself, just as one would use `inotify` from C. Works with Python 2.7 and
+Python >= 3.2.
+
+[View on PyPI](http://pypi.python.org/pypi/inotify_simple) |
+[Fork me on github](https://github.com/chrisjbillington/inotify_simple) |
+[Read the docs](http://inotify_simple.readthedocs.org)
+
+
+## Installation
+
+to install `inotify_simple`, run:
+
+```
+$ pip3 install inotify_simple
+```
+
+or to install from source:
+
+```
+$ python3 setup.py install
+```
+
+Note: If on Python < 3.4, you'll need the backported [enum34
+module](https://pypi.python.org/pypi/enum34).
+
+## Introduction
+
+There are many inotify python wrappers out there. [I found them all
+unsatisfactory](https://xkcd.com/927/). Most are far too high-level for my
+tastes, and the supposed convenience they provide actually limits one from
+using inotify in ways other than those the author imagined. Others are C
+extensions, requiring compilation for different platforms and Python versions,
+rather than a pure python module using ctypes. This one is pretty low-level
+and really just does what inotify itself does and nothing more. So hopefully
+if I've written it right, it will remain functional well into the future with
+no changes, recompilation or attention on my part.
+
+## Example usage
+
+```python
+import os
+from inotify_simple import INotify, flags
+
+os.mkdir('/tmp/inotify_test')
+
+inotify = INotify()
+watch_flags = flags.CREATE | flags.DELETE | flags.MODIFY | flags.DELETE_SELF
+wd = inotify.add_watch('/tmp/inotify_test', watch_flags)
+
+# Now create, delete and modify some files in the directory being monitored:
+os.chdir('/tmp/inotify_test')
+# CREATE event for a directory:
+os.system('mkdir foo')
+# CREATE event for a file:
+os.system('echo hello > test.txt')
+# MODIFY event for the file:
+os.system('echo world >> test.txt')
+# DELETE event for the file
+os.system('rm test.txt')
+# DELETE event for the directory
+os.system('rmdir foo')
+os.chdir('/tmp')
+# DELETE_SELF on the original directory. # Also generates an IGNORED event
+# indicating the watch was removed.
+os.system('rmdir inotify_test')
+
+# And see the corresponding events:
+for event in inotify.read():
+ print(event)
+ for flag in flags.from_mask(event.mask):
+ print(' ' + str(flag))
+```
+
+This outputs the following:
+```
+Event(wd=1, mask=1073742080, cookie=0, name=u'foo')
+ flags.CREATE
+ flags.ISDIR
+Event(wd=1, mask=256, cookie=0, name=u'test.txt')
+ flags.CREATE
+Event(wd=1, mask=2, cookie=0, name=u'test.txt')
+ flags.MODIFY
+Event(wd=1, mask=512, cookie=0, name=u'test.txt')
+ flags.DELETE
+Event(wd=1, mask=1073742336, cookie=0, name=u'foo')
+ flags.DELETE
+ flags.ISDIR
+Event(wd=1, mask=1024, cookie=0, name=u'')
+ flags.DELETE_SELF
+Event(wd=1, mask=32768, cookie=0, name=u'')
+ flags.IGNORED
+```
+
+Note that the flags, since they are defined with an `enum.IntEnum`, print as
+what they are called rather than their integer values. However they are still
+just integers and so can be bitwise-ANDed and ORed etc with masks etc. The
+`flags.from_mask()` method bitwise-ANDs a mask with all possible flags and
+returns a list of matches. This is for convenience and useful for debugging
+which events are coming through, but performance critical code should
+generally bitwise-AND masks with flags of interest itself so as to not do
+unnecessary checks.
+
+[See here](http://inotify_simple.readthedocs.org) for more.
+
+%package -n python3-inotify-simple
+Summary: A simple wrapper around inotify. No fancy bells and whistles, just a literal wrapper with ctypes. Under 100 lines of code!
+Provides: python-inotify-simple
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-inotify-simple
+# inotify_simple 1.3
+
+`inotify_simple` is a simple Python wrapper around
+[inotify](http://man7.org/linux/man-pages/man7/inotify.7.html).
+No fancy bells and whistles, just a literal wrapper with ctypes. Only \~100
+lines of code!
+
+`inotify_init1()` is wrapped as a file-like object, `INotify()`, holding the inotify
+file descriptor. `INotify().read()` reads available data from the file descriptor and
+returns events as `namedtuple` objects after unpacking them with the `struct` module.
+`inotify_add_watch()` and `inotify_rm_watch()` are wrapped with no changes at all,
+taking and returning watch descriptor integers that calling code is expected to keep
+track of itself, just as one would use `inotify` from C. Works with Python 2.7 and
+Python >= 3.2.
+
+[View on PyPI](http://pypi.python.org/pypi/inotify_simple) |
+[Fork me on github](https://github.com/chrisjbillington/inotify_simple) |
+[Read the docs](http://inotify_simple.readthedocs.org)
+
+
+## Installation
+
+to install `inotify_simple`, run:
+
+```
+$ pip3 install inotify_simple
+```
+
+or to install from source:
+
+```
+$ python3 setup.py install
+```
+
+Note: If on Python < 3.4, you'll need the backported [enum34
+module](https://pypi.python.org/pypi/enum34).
+
+## Introduction
+
+There are many inotify python wrappers out there. [I found them all
+unsatisfactory](https://xkcd.com/927/). Most are far too high-level for my
+tastes, and the supposed convenience they provide actually limits one from
+using inotify in ways other than those the author imagined. Others are C
+extensions, requiring compilation for different platforms and Python versions,
+rather than a pure python module using ctypes. This one is pretty low-level
+and really just does what inotify itself does and nothing more. So hopefully
+if I've written it right, it will remain functional well into the future with
+no changes, recompilation or attention on my part.
+
+## Example usage
+
+```python
+import os
+from inotify_simple import INotify, flags
+
+os.mkdir('/tmp/inotify_test')
+
+inotify = INotify()
+watch_flags = flags.CREATE | flags.DELETE | flags.MODIFY | flags.DELETE_SELF
+wd = inotify.add_watch('/tmp/inotify_test', watch_flags)
+
+# Now create, delete and modify some files in the directory being monitored:
+os.chdir('/tmp/inotify_test')
+# CREATE event for a directory:
+os.system('mkdir foo')
+# CREATE event for a file:
+os.system('echo hello > test.txt')
+# MODIFY event for the file:
+os.system('echo world >> test.txt')
+# DELETE event for the file
+os.system('rm test.txt')
+# DELETE event for the directory
+os.system('rmdir foo')
+os.chdir('/tmp')
+# DELETE_SELF on the original directory. # Also generates an IGNORED event
+# indicating the watch was removed.
+os.system('rmdir inotify_test')
+
+# And see the corresponding events:
+for event in inotify.read():
+ print(event)
+ for flag in flags.from_mask(event.mask):
+ print(' ' + str(flag))
+```
+
+This outputs the following:
+```
+Event(wd=1, mask=1073742080, cookie=0, name=u'foo')
+ flags.CREATE
+ flags.ISDIR
+Event(wd=1, mask=256, cookie=0, name=u'test.txt')
+ flags.CREATE
+Event(wd=1, mask=2, cookie=0, name=u'test.txt')
+ flags.MODIFY
+Event(wd=1, mask=512, cookie=0, name=u'test.txt')
+ flags.DELETE
+Event(wd=1, mask=1073742336, cookie=0, name=u'foo')
+ flags.DELETE
+ flags.ISDIR
+Event(wd=1, mask=1024, cookie=0, name=u'')
+ flags.DELETE_SELF
+Event(wd=1, mask=32768, cookie=0, name=u'')
+ flags.IGNORED
+```
+
+Note that the flags, since they are defined with an `enum.IntEnum`, print as
+what they are called rather than their integer values. However they are still
+just integers and so can be bitwise-ANDed and ORed etc with masks etc. The
+`flags.from_mask()` method bitwise-ANDs a mask with all possible flags and
+returns a list of matches. This is for convenience and useful for debugging
+which events are coming through, but performance critical code should
+generally bitwise-AND masks with flags of interest itself so as to not do
+unnecessary checks.
+
+[See here](http://inotify_simple.readthedocs.org) for more.
+
+%package help
+Summary: Development documents and examples for inotify-simple
+Provides: python3-inotify-simple-doc
+%description help
+# inotify_simple 1.3
+
+`inotify_simple` is a simple Python wrapper around
+[inotify](http://man7.org/linux/man-pages/man7/inotify.7.html).
+No fancy bells and whistles, just a literal wrapper with ctypes. Only \~100
+lines of code!
+
+`inotify_init1()` is wrapped as a file-like object, `INotify()`, holding the inotify
+file descriptor. `INotify().read()` reads available data from the file descriptor and
+returns events as `namedtuple` objects after unpacking them with the `struct` module.
+`inotify_add_watch()` and `inotify_rm_watch()` are wrapped with no changes at all,
+taking and returning watch descriptor integers that calling code is expected to keep
+track of itself, just as one would use `inotify` from C. Works with Python 2.7 and
+Python >= 3.2.
+
+[View on PyPI](http://pypi.python.org/pypi/inotify_simple) |
+[Fork me on github](https://github.com/chrisjbillington/inotify_simple) |
+[Read the docs](http://inotify_simple.readthedocs.org)
+
+
+## Installation
+
+to install `inotify_simple`, run:
+
+```
+$ pip3 install inotify_simple
+```
+
+or to install from source:
+
+```
+$ python3 setup.py install
+```
+
+Note: If on Python < 3.4, you'll need the backported [enum34
+module](https://pypi.python.org/pypi/enum34).
+
+## Introduction
+
+There are many inotify python wrappers out there. [I found them all
+unsatisfactory](https://xkcd.com/927/). Most are far too high-level for my
+tastes, and the supposed convenience they provide actually limits one from
+using inotify in ways other than those the author imagined. Others are C
+extensions, requiring compilation for different platforms and Python versions,
+rather than a pure python module using ctypes. This one is pretty low-level
+and really just does what inotify itself does and nothing more. So hopefully
+if I've written it right, it will remain functional well into the future with
+no changes, recompilation or attention on my part.
+
+## Example usage
+
+```python
+import os
+from inotify_simple import INotify, flags
+
+os.mkdir('/tmp/inotify_test')
+
+inotify = INotify()
+watch_flags = flags.CREATE | flags.DELETE | flags.MODIFY | flags.DELETE_SELF
+wd = inotify.add_watch('/tmp/inotify_test', watch_flags)
+
+# Now create, delete and modify some files in the directory being monitored:
+os.chdir('/tmp/inotify_test')
+# CREATE event for a directory:
+os.system('mkdir foo')
+# CREATE event for a file:
+os.system('echo hello > test.txt')
+# MODIFY event for the file:
+os.system('echo world >> test.txt')
+# DELETE event for the file
+os.system('rm test.txt')
+# DELETE event for the directory
+os.system('rmdir foo')
+os.chdir('/tmp')
+# DELETE_SELF on the original directory. # Also generates an IGNORED event
+# indicating the watch was removed.
+os.system('rmdir inotify_test')
+
+# And see the corresponding events:
+for event in inotify.read():
+ print(event)
+ for flag in flags.from_mask(event.mask):
+ print(' ' + str(flag))
+```
+
+This outputs the following:
+```
+Event(wd=1, mask=1073742080, cookie=0, name=u'foo')
+ flags.CREATE
+ flags.ISDIR
+Event(wd=1, mask=256, cookie=0, name=u'test.txt')
+ flags.CREATE
+Event(wd=1, mask=2, cookie=0, name=u'test.txt')
+ flags.MODIFY
+Event(wd=1, mask=512, cookie=0, name=u'test.txt')
+ flags.DELETE
+Event(wd=1, mask=1073742336, cookie=0, name=u'foo')
+ flags.DELETE
+ flags.ISDIR
+Event(wd=1, mask=1024, cookie=0, name=u'')
+ flags.DELETE_SELF
+Event(wd=1, mask=32768, cookie=0, name=u'')
+ flags.IGNORED
+```
+
+Note that the flags, since they are defined with an `enum.IntEnum`, print as
+what they are called rather than their integer values. However they are still
+just integers and so can be bitwise-ANDed and ORed etc with masks etc. The
+`flags.from_mask()` method bitwise-ANDs a mask with all possible flags and
+returns a list of matches. This is for convenience and useful for debugging
+which events are coming through, but performance critical code should
+generally bitwise-AND masks with flags of interest itself so as to not do
+unnecessary checks.
+
+[See here](http://inotify_simple.readthedocs.org) for more.
+
+%prep
+%autosetup -n inotify-simple-1.3.5
+
+%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-inotify-simple -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Thu Mar 09 2023 Python_Bot <Python_Bot@openeuler.org> - 1.3.5-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..729e439
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+b7ca2ffa816dea85ef5023cde4e72b8b inotify_simple-1.3.5.tar.gz