semvec/pypi-packages huggingface dataset:
django-zipfile 0.4.0
A ZipFile subclass that accepts Django Templates
License: MIT

Django Zipfile
======================================

.. image:: https://travis-ci.org/fcurella/django-zipfile.svg?branch=master
    :target: https://travis-ci.org/fcurella/django-zipfile

A subclass of ``zipfile.Zipfile`` that works with Django templates.


Usage:

::

    from zipfile import ZIP_DEFLATED
    from django_zipfile import TemplateZipFile

    def myview(request, object_id):
        obj = get_object_or_404(MyModel, pk=object_id)
        context = {
            'object': obj
        }
        response = HttpResponse(mimetype='application/octet-stream')
        response['Content-Disposition'] = 'attachment; filename=myfile.zip'

        container = TemplateZipFile(response, mode='w', compression=ZIP_DEFLATED, template_root='myapp/myzipskeleton/')

        container.write_template('mimetype')
        container.write_template('META-INF/container.xml')
        container.write_template('chapter1.html', context=context)

        container.close()
        return response

You can also specify multiple roots for your templates:

::

    container = TemplateZipFile(response, mode='w', compression=ZIP_DEFLATED, template_root=['myapp/myzipskeleton/override/', 'myapp/myzipskeleton/default/'])

as well as multiple templates when you add files:

::

    container.write_template(['override.html', 'default.html'], filename="chapter1.html")

TemplateZipFile will look for templates in the specified order, first by root, then by template name. For example:

::

    myzipfile = TemplateZipFile(response, mode='w', compression=ZIP_DEFLATED, template_root=['override/', 'default/'])
    myzipfile.write_template(['two.txt', 'one.txt'], filename='myfile.txt')

    # Will use the first existing template from ['override/two.txt', 'override/one.txt', 'default/two.txt', 'default/one.txt']

If none of the templates can be found, ``write_template`` will raise a TemplateDoesNotExist error.

You can specify a file as optional with ``optional=True``

::

    myzipfile.write_template(['two.txt', 'one.txt'], filename='myfile.txt', optional=True)

Doing so will silently swallow the TemplateDoesNotExist exception.
weblib 0.1.30
Set of tools for web scraping projects
License: MIT

Weblib
======

.. image:: https://travis-ci.org/lorien/weblib.png?branch=master
    :target: https://travis-ci.org/lorien/weblib

.. image:: https://coveralls.io/repos/lorien/weblib/badge.svg?branch=master
    :target: https://coveralls.io/r/lorien/weblib?branch=master

.. image:: https://readthedocs.org/projects/weblib/badge/?version=latest
    :target: http://weblib.readthedocs.org/en/latest/


Weblib provides tools to solve typical tasks in web scraping:

* processing HTML
* handling text encodings
* controling repeating and parallel tasks
* parsing RSS/ATOM feeds
* preparing data for HTTP requests
* working with DOM tree
* working with text and numeral data
* list of common user agents
* cross-platform file locking
* operations with files and directories


Installation
============

Run:

.. code:: bash

    pip install -U weblib


Documentation
=============

Docs are incomplete. Most docs are auto-generated from modules/methods docstrings.
Check out docs here http://weblib.readthedocs.org/en/latest/