Metadata-Version: 2.4
Name: htmllistparse
Version: 0.6.1
Summary: Python parser for Apache/nginx-style HTML directory listing.
Home-page: https://github.com/gumblex/htmllisting-parser
Author: Dingyuan Wang
Author-email: gumblex@aosc.io
License: MIT
Keywords: apache nginx listing fuse
Platform: any
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
License-File: LICENSE
Requires-Dist: beautifulsoup4
Requires-Dist: html5lib
Requires-Dist: requests
Requires-Dist: fusepy
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: platform
Dynamic: requires-dist
Dynamic: summary

htmllisting-parser
==================
Python parser for Apache/nginx-style HTML directory listing

.. code-block:: python

   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

.. note::
   Please wrap the functions in a general ``try... except`` block. It may throw exceptions unexpectedly.

ReHTTPFS
--------

Reinvented HTTP Filesystem.

* Mounts most HTTP file listings with FUSE.
* Gets directory tree and file stats with less overhead.
* Supports Range requests.
* Supports Keep-Alive.

::

   usage: rehttpfs.py [-h] [-o OPTIONS] [-t TIMEOUT] [-u USER_AGENT] [-v] [-d]
                      url mountpoint

   Mount HTML directory listings.

   positional arguments:
     url                   URL to mount
     mountpoint            filesystem mount point

   optional arguments:
     -h, --help            show this help message and exit
     -o OPTIONS            comma separated FUSE options
     -t TIMEOUT, --timeout TIMEOUT
                           HTTP request timeout
     -u USER_AGENT, --user-agent USER_AGENT
                           HTTP User-Agent
     -v, --verbose         enable debug logging
     -d, --daemon          run in background

