Metadata-Version: 2.0
Name: papyrus-ogcproxy
Version: 0.2
Summary: papyrus_ogcproxy
Home-page: http://github.com/elemoine/papyrus_ogcproxy
Author: Eric Lemoine
Author-email: eric.lemoine@gmail.com
License: UNKNOWN
Keywords: web geospatial papyrus OGC pyramid pylons
Platform: UNKNOWN
Classifier: Programming Language :: Python
Classifier: Framework :: Pylons
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Requires-Dist: WebError
Requires-Dist: httplib2
Requires-Dist: pyramid

papyrus_ogcproxy
=================

papyrus_ogcproxy provides an easy and convenient method for embeding
an OGC proxy in Pyramid applications.

The source code of papyrus_ogcproxy is straightforward, so if
papyrus_ogcproxy doesn't do what you want, open its source code, get
inspiration, and write your own code.

Install
-------

papyrus_ogcproxy can be installed with ``easy_install``::

    $ easy_install papyrus_ogcproxy

Often you'll want to make papyrus_ogcproxy a dependency of your Pyramid
application, which is done by adding ``papyrus_ogcproxy`` to the
``install_requires`` list defined in the Pyramid application's ``setup.py``
file.

Set up
------

Using papyrus_ogcproxy to set up an OGC proxy in a Pyramid application is easy.

Edit the application's main file, ``__init__.py``, and register
papyrus_ogcproxy using the ``Configurator.include`` method::

    def main(global_config, **settings):

        config = Configurator(settings=settings)

        import papyrus_ogcproxy
        config.include(papyrus_ogcproxy)

That's it! The OGC proxy is available at ``/ogcproxy``.

Here is a test URL:
http://localhost:6543/ogcproxy?url=http%3A%2F%2Fmap1.vis.earthdata.nasa.gov/wmts-geo/wmts.cgi%3FSERVICE%3DWMTS%26REQUEST%3DGetCapabilities

Using a proxy for the proxy
---------------------------

If the requests made by the OGC proxy should be made through a proxy, the additional
package ``pysocks`` is required. After the installation of this package, configure
the proxy::


    from papyrus_ogcproxy import views as ogcproxy_views
    from httplib2 import ProxyInfo
    import socks
    ogcproxy_views.proxy_info = ProxyInfo(socks.SOCKS5, 'localhost', 1080)

With this configuration the OGC proxy will make requests through the proxy
``localhost:1080``. For information please refer to the
documentation of `PySocks <https://github.com/Anorov/PySocks>`_ and
`httplib2 <http://httplib2.googlecode.com/hg/doc/html/libhttplib2.html#httplib2.ProxyInfo>`_.


Set up a development environment
--------------------------------

To set up a development environment with virtualenv, run the following
commands::

    $ virtualenv venv
    $ venv/bin/python setup.py develop
    $ venv/bin/pip install -r requirements-dev.txt

Run the tests
-------------

To run the tests::

    $ venv/bin/nosetests --with-coverage

One test assumes that a proxy server is running at ``localhost:1080``. To start
a proxy run::

    $ ssh -N -D 0.0.0.0:1080 localhost


0.2
---

* Do not verify certificate from the remote server. 
  https://github.com/elemoine/papyrus_ogcproxy/pull/4 from @sbrunner.
  (We may want to revisit this later.)

0.1
---

* First version


