summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitignore1
-rw-r--r--python-htmllistparse.spec117
-rw-r--r--sources1
3 files changed, 119 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index e69de29..478ca3d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/htmllistparse-0.6.0.tar.gz
diff --git a/python-htmllistparse.spec b/python-htmllistparse.spec
new file mode 100644
index 0000000..e25975b
--- /dev/null
+++ b/python-htmllistparse.spec
@@ -0,0 +1,117 @@
+%global _empty_manifest_terminate_build 0
+Name: python-htmllistparse
+Version: 0.6.0
+Release: 1
+Summary: Python parser for Apache/nginx-style HTML directory listing.
+License: MIT
+URL: https://github.com/gumblex/htmllisting-parser
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/89/8a/5a19ad816836eb5163401a21d2ae3cc1435df01f7d181dba3a4804c992f0/htmllistparse-0.6.0.tar.gz
+BuildArch: noarch
+
+
+%description
+Python parser for Apache/nginx-style HTML directory listing
+ import htmllistparse
+ cwd, listing = htmllistparse.fetch_listing(some_url, timeout=30)
+ # or you can get the url and make a BeautifulSoup yourself, then use
+ # cwd, listing = htmllistparse.parse(soup)
+where ``cwd`` is the current directory, ``listing`` is a list of ``FileEntry`` named tuples:
+* ``name``: File name, ``str``. Have a trailing / if it's a directory.
+* ``modified``: Last modification time, ``time.struct_time`` or ``None``. Timezone is not known.
+* ``size``: File size, ``int`` or ``None``. May be estimated from the prefix, such as "K", "M".
+* ``description``: File description, file type, or any other things found. ``str`` as HTML, or ``None``.
+Supports:
+* Vanilla Apache/nginx/lighttpd/darkhttpd autoindex
+* Most ``<pre>``-style index
+* Many other ``<table>``-style index
+* ``<ul>``-style
+ Please wrap the functions in a general ``try... except`` block. It may throw exceptions unexpectedly.
+
+%package -n python3-htmllistparse
+Summary: Python parser for Apache/nginx-style HTML directory listing.
+Provides: python-htmllistparse
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-htmllistparse
+Python parser for Apache/nginx-style HTML directory listing
+ import htmllistparse
+ cwd, listing = htmllistparse.fetch_listing(some_url, timeout=30)
+ # or you can get the url and make a BeautifulSoup yourself, then use
+ # cwd, listing = htmllistparse.parse(soup)
+where ``cwd`` is the current directory, ``listing`` is a list of ``FileEntry`` named tuples:
+* ``name``: File name, ``str``. Have a trailing / if it's a directory.
+* ``modified``: Last modification time, ``time.struct_time`` or ``None``. Timezone is not known.
+* ``size``: File size, ``int`` or ``None``. May be estimated from the prefix, such as "K", "M".
+* ``description``: File description, file type, or any other things found. ``str`` as HTML, or ``None``.
+Supports:
+* Vanilla Apache/nginx/lighttpd/darkhttpd autoindex
+* Most ``<pre>``-style index
+* Many other ``<table>``-style index
+* ``<ul>``-style
+ Please wrap the functions in a general ``try... except`` block. It may throw exceptions unexpectedly.
+
+%package help
+Summary: Development documents and examples for htmllistparse
+Provides: python3-htmllistparse-doc
+%description help
+Python parser for Apache/nginx-style HTML directory listing
+ import htmllistparse
+ cwd, listing = htmllistparse.fetch_listing(some_url, timeout=30)
+ # or you can get the url and make a BeautifulSoup yourself, then use
+ # cwd, listing = htmllistparse.parse(soup)
+where ``cwd`` is the current directory, ``listing`` is a list of ``FileEntry`` named tuples:
+* ``name``: File name, ``str``. Have a trailing / if it's a directory.
+* ``modified``: Last modification time, ``time.struct_time`` or ``None``. Timezone is not known.
+* ``size``: File size, ``int`` or ``None``. May be estimated from the prefix, such as "K", "M".
+* ``description``: File description, file type, or any other things found. ``str`` as HTML, or ``None``.
+Supports:
+* Vanilla Apache/nginx/lighttpd/darkhttpd autoindex
+* Most ``<pre>``-style index
+* Many other ``<table>``-style index
+* ``<ul>``-style
+ Please wrap the functions in a general ``try... except`` block. It may throw exceptions unexpectedly.
+
+%prep
+%autosetup -n htmllistparse-0.6.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-htmllistparse -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Wed Apr 12 2023 Python_Bot <Python_Bot@openeuler.org> - 0.6.0-1
+- Package Spec generated
diff --git a/sources b/sources
new file mode 100644
index 0000000..b728df8
--- /dev/null
+++ b/sources
@@ -0,0 +1 @@
+fc1912842d0ab3d60064ae9e8073b2b7 htmllistparse-0.6.0.tar.gz