summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOleg Pudeyev <oleg@bsdpower.com>2014-02-06 04:47:17 -0500
committerOleg Pudeyev <oleg@bsdpower.com>2014-02-06 04:55:59 -0500
commit1825fee0215ce5618b0344668778f1ee96b28529 (patch)
treeb85c351adb8f2e1c8c6239a4fec3affbb81a6955
parent6de24d568df8f29fe5eabb637f8fb7a2989f9450 (diff)
downloadpycurl-1825fee0215ce5618b0344668778f1ee96b28529.tar.gz
Stop keeping generated html documentation in the source tree
-rw-r--r--www/htdocs/ChangeLog1147
-rw-r--r--www/htdocs/doc/callbacks.html147
-rw-r--r--www/htdocs/doc/curlmultiobject.html135
-rw-r--r--www/htdocs/doc/curlobject.html136
-rw-r--r--www/htdocs/doc/curlshareobject.html53
-rw-r--r--www/htdocs/doc/files.html369
-rw-r--r--www/htdocs/doc/internals.html354
-rw-r--r--www/htdocs/doc/pycurl.html129
-rw-r--r--www/htdocs/doc/release-process.html374
-rw-r--r--www/htdocs/doc/unicode.html425
-rw-r--r--www/htdocs/release-notes.html366
11 files changed, 0 insertions, 3635 deletions
diff --git a/www/htdocs/ChangeLog b/www/htdocs/ChangeLog
deleted file mode 100644
index 3c90a29..0000000
--- a/www/htdocs/ChangeLog
+++ /dev/null
@@ -1,1147 +0,0 @@
-Version 7.19.3 [requires libcurl-7.19.0 or better] - 2014-01-09
----------------------------------------------------------------
-
- * Added CURLOPT_NOPROXY.
-
- * Added CURLINFO_LOCAL_PORT, CURLINFO_PRIMARY_PORT and
- CURLINFO_LOCAL_IP (patch by Adam Jacob Muller).
-
- * When running on Python 2.x, for compatibility with Python 3.x,
- Unicode strings containing ASCII code points only are now accepted
- in setopt() calls.
-
- * PycURL now requires that compile time SSL backend used by libcurl
- is the same as the one used at runtime. setup.py supports
- --with-ssl, --with-gnutls and --with-nss options like libcurl does,
- to specify which backend libcurl uses. On some systems PycURL can
- automatically figure out libcurl's backend.
- If the backend is not one for which PycURL provides crypto locks
- (i.e., any of the other backends supported by libcurl),
- no runtime SSL backend check is performed.
-
- * Default PycURL user agent string is now built at runtime, and will
- include the user agent string of libcurl loaded at runtime rather
- than the one present at compile time.
-
- * PycURL will now use WSAduplicateSocket rather than dup on Windows
- to duplicate sockets obtained from OPENSOCKETFUNCTION.
- Using dup may have caused crashes, OPENSOCKETFUNCTION should
- now be usable on Windows.
-
- * A new script, winbuild.py, was added to build PycURL on Windows
- against Python 2.6, 2.7, 3.2 and 3.3.
-
- * Added CURL_LOCK_DATA_SSL_SESSION (patch by Tom Pierce).
-
- * Added E_OPERATION_TIMEDOUT (patch by Romuald Brunet).
-
- * setup.py now handles --help argument and will print PycURL-specific
- configuration options in addition to distutils help.
-
- * Windows build configuration has been redone:
- PYCURL_USE_LIBCURL_DLL #define is gone, use --use-libcurl-dll
- argument to setup.py to build against a libcurl DLL.
- CURL_STATICLIB is now #defined only when --use-libcurl-dll is not
- given to setup.py, and PycURL is built against libcurl statically.
- --libcurl-lib-name option can be used to override libcurl import
- library name.
-
- * Added CURLAUTH_DIGEST_IE as pycurl.HTTPAUTH_DIGEST_IE.
-
- * Added CURLOPT_POSTREDIR option and CURL_REDIR_POST_301,
- CURL_REDIR_POST_302, CURL_REDIR_POST_303 and CURL_REDIR_POST_ALL
- constants. CURL_REDIR_POST_303 requires libcurl 7.26.0 or higher,
- all others require libcurl 7.19.1 or higher.
-
- * PycURL now supports Python 3.1 through 3.3. Python 3.0 might
- work but it appears to ship with broken distutils, making virtualenv
- not function on it.
-
- * PycURL multi objects now have the multi constants defined on them.
- Previously the constants were only available on pycurl module.
- The new behavior matches that of curl and share objects.
-
- * PycURL share objects can now be closed via the close() method.
-
- * PycURL will no longer call `curl-config --static-libs` if
- `curl-config --libs` succeeds and returns output.
- Systems on which neither `curl-config --libs` nor
- `curl-config --static-libs` do the right thing should provide
- a `curl-config` wrapper that is sane.
-
- * Added CURLFORM_BUFFER and CURLFORM_BUFFERPTR.
-
- * pycurl.version and user agent string now include both
- PycURL version and libcurl version as separate items.
-
- * Added CURLOPT_DNS_SERVERS.
-
- * PycURL can now be dynamically linked against libcurl on Windows
- if PYCURL_USE_LIBCURL_DLL is #defined during compilation.
-
- * Breaking change: opensocket callback now takes an additional
- (address, port) tuple argument. Existing callbacks will need to
- be modified to accept this new argument.
- https://github.com/pycurl/pycurl/pull/18
-
-Version 7.19.0.3 [requires libcurl-7.19.0 or better] - 2013-12-24
------------------------------------------------------------------
-
- * Re-release of 7.19.0.2 with minor changes to build Windows packages
- due to botched 7.19.0.2 files on PyPi.
- http://curl.haxx.se/mail/curlpython-2013-12/0021.html
-
-Version 7.19.0.2 [requires libcurl-7.19.0 or better] - 2013-10-08
------------------------------------------------------------------
-
- * Fixed a bug in a commit made in 2008 but not released until 7.19.0.1
- which caused CURLOPT_POSTFIELDS to not correctly increment reference
- count of the object being given as its argument, despite libcurl not
- copying the data provided by said object.
-
- * Added support for libcurl pause/unpause functionality,
- via curl_easy_pause call and returning READFUNC_PAUSE from
- read callback function.
-
-Version 7.19.0.1 [requires libcurl-7.19.0 or better] - 2013-09-23
------------------------------------------------------------------
-
- * Test matrix tool added to test against all supported Python and
- libcurl versions.
-
- * Python 2.4 is now the minimum required version.
-
- * Source code, bugs and patches are now kept on GitHub.
-
- * Added CURLINFO_CERTINFO and CURLOPT_CERTINFO.
-
- * Added CURLOPT_RESOLVE.
-
- * PycURL can now be used with Python binaries without thread
- support.
-
- * gcrypt is no longer initialized when a newer version of gnutls
- is used.
-
- * Marked NSS as supported.
-
- * Fixed relative URL request logic.
-
- * Fixed a memory leak in util_curl_init.
-
- * Added CURLOPT_USERNAME and CURLOPT_PASSWORD.
-
- * Fixed handling of big timeout values.
-
- * Added GLOBAL_ACK_EINTR.
-
- * setopt(..., None) can be used as unsetopt().
-
- * CURLOPT_RANGE can now be unset.
-
- * Write callback can return -1 to signal user abort.
-
- * Reorganized tests into an automated test suite.
-
- * Added CURLOPT_SEEKFUNCTION and CURLOPT_SEEKDATA.
-
- * Cleaned up website.
-
- * Fix pycurl.reset() (patch by <johansen at sun.com>).
-
- * Fix install routine in setup.py where
- certain platforms (Solaris, Mac OSX, etc)
- would search for a static copy of libcurl (dbp).
-
- * Fixed build on OpenSolaris 0906 and other platforms on which
- curl-config does not have a --static-libs option.
-
- * No longer keep string options copies in the
- Curl Python objects, since string options are
- now managed by libcurl.
-
-
-Version 7.19.0 [requires libcurl-7.19.0 or better]
---------------------------------------------------
-
- * Added CURLFILE, ADDRESS_SCOPE and ISSUERCERT options,
- as well as the APPCONNECT_TIME info.
-
- * Added PRIMARY_IP info (patch by
- Yuhui H <eyecat at gmail.com>).
-
- * Added support for curl_easy_reset through a
- new 'reset' method on curl objects
- (patch by Nick Pilon <npilon at oreilly.com>).
-
- * Added support for OPENSOCKET callbacks.
- See 'tests/test_opensocket.py' for example
- usage (patch by Thomas Hunger <teh at camvine.com>).
-
-
-Version 7.18.2
---------------
-
- * Added REDIRECT_URL info and M_MAXCONNECTS option
- (patch by Yuhui H <eyecat at gmail.com>).
-
- * Added socket_action() method to CurlMulti objects.
- See 'tests/test_multi_socket_select.py' for example
- usage (patch by Yuhui H <eyecat at gmail.com>).
-
- * Added AUTOREFERER option.
-
- * Allow resetting some list operations (HTTPHEADER,
- QUOTE, POSTQUOTE, PREQUOTE) by passing an empty
- list to setopt (patch by Jim Patterson).
-
-
-Version 7.18.1
---------------
-
- * Added POST301, SSH_HOST_PUBLIC_KEY_MD5,
- COPYPOSTFIELDS and PROXY_TRANSFER_MODE options.
-
- * Check for static libs in setup.py to better detect
- whether libcurl was linked with OpenSSL or GNUTLS.
-
- * PycURL is now dual licensed under the LGPL and
- a license similar to the cURL license (an MIT/X
- derivative).
-
-
-Version 7.16.4
---------------
-
- * Allow any callable object as the callback function.
- This change comes handy when you would like to use objects
- which are callable but are not functions or methods, for
- example those objects created by the functions in the functools
- module (patch by Daniel Pena Arteaga <dpena at ph.tum.de>).
-
- * Added NEW_DIRECTORY_PERMS and NEW_FILE_PERMS options.
-
-
-Version 7.16.2.1
-----------------
-
- * Added IOCMD_NOP and IOCMD_RESTARTREAD for ioctl callback
- handling (patch by Mark Eichin).
-
- * Use Py_ssize_t where appropriate for Python 2.5 and 64-bit
- compatibility. This fixes the problem reported by Aaron
- Hill, where the exception "pycurl.error: (2, '')" is thrown
- when calling setopt(pycurl.POSTFIELDS,...) on 64-bit
- platforms.
-
-
-Version 7.16.2
---------------
-
- * Added options HTTP_TRANSFER_DECODING, HTTP_CONTENT_DECODING,
- TIMEOUT_MS, CONNECTTIMEOUT_MS from libcurl 7.16.2.
-
- * Right-strip URLs read from files in the test scripts
- to avoid sending requests with '\n' at the end.
-
-
-Version 7.16.1
---------------
-
- * Added constants for all libcurl (error) return codes. They
- are named the same as the macro constants in curl.h but prefixed
- with E_ instead of CURLE. Return codes for the multi API are
- prefixed with M_ instead of CURLM.
-
- * Added CURLOPT_FTP_SSL_CCC, CURLOPT_SSH_PUBLIC_KEYFILE,
- CURLOPT_SSH_PRIVATE_KEYFILE, CURLOPT_SSH_AUTH_TYPES.
-
- * Removed CLOSEPOLICY and friends since this option is now
- deprecated in libcurl.
-
- * Set the _use_datetime attribute on the CURLTransport class
- to unbreak xmlrpc_curl.py on Python 2.5.
-
-
-Version 7.16.0 [no public release]
---------------
-
- * Added CURLOPT_SSL_SESSIONID_CACHE.
-
- * Removed SOURCE_* options since they are no longer
- supported by libcurl.
-
-
-Version 7.15.5.1
-----------------
-
- * Added test for basic ftp usage (tests/test_ftp.py).
-
- * Fix broken ssl mutex lock function when using
- GNU TLS (Debian bug #380156, fix by Bastian Kleineidam)
-
-
-Version 7.15.5
---------------
-
- * Added CURLOPT_FTP_ALTERNATIVE_TO_USER,
- CURLOPT_MAX_SEND_SPEED_LARGE,
- and CURLOPT_MAX_RECV_SPEED_LARGE.
-
-
-Version 7.15.4.2
-----------------
-
- * Use SSL locking callbacks, fixes random
- crashes for multithreaded SSL connections
- (patch by Jayne <corvine at gmail.com>).
-
-
-Version 7.15.4.1
-----------------
-
- * Fixed compilation problem with C compilers
- not allowing declarations in the middle of
- code blocks (patch by
- K.S.Sreeram <sreeram at tachyontech.net>).
-
- * Fixed bug in curl_multi_fdset wrapping,
- max_fd < 0 is not an error (patch by
- K.S.Sreeram <sreeram at tachyontech.net>).
-
-
-Version 7.15.4
---------------
-
- * Added support for libcurl shares, patch from
- Victor Lascurain <bittor at eleka.net>. See the
- file tests/test_share.py for example usage.
-
- * Added support for CURLINFO_FTP_ENTRY_PATH.
-
-
-Version 7.15.2
---------------
-
- * Added CURLOPT_CONNECT_ONLY, CURLINFO_LASTSOCKET,
- CURLOPT_LOCALPORT and CURLOPT_LOCALPORTRANGE.
-
-
-Version 7.15.1
---------------
-
-2006-01-31 Kjetil Jacobsen <kjetilja>
-
- * Fixed memory leak for getinfo calls that return a
- list as result. Patch by Paul Pacheco.
-
-
-Version 7.15.0
---------------
-
-2005-10-18 Kjetil Jacobsen <kjetilja>
-
- * Added CURLOPT_FTP_SKIP_PASV_IP.
-
-
-Version 7.14.1
---------------
-
-2005-09-05 Kjetil Jacobsen <kjetilja>
-
- * Added CURLOPT_IGNORE_CONTENT_LENGTH, CURLOPT_COOKIELIST as
- COOKIELIST and CURLINFO_COOKIELIST as INFO_COOKIELIST.
-
-
-Version 7.14.0
---------------
-
-2005-05-18 Kjetil Jacobsen <kjetilja>
-
- * Added missing information returned from the info() method
- in the high-level interface.
-
- * Added the FORM_FILENAME option to the CURLFORM API
- with HTTPPOST.
-
-
-Version 7.13.2
---------------
-
-2005-03-30 Kjetil Jacobsen <kjetilja>
-
- * Unbreak tests/test_gtk.py and require pygtk >= 2.0.
-
-2005-03-15 Kjetil Jacobsen <kjetilja>
-
- * Cleaned up several of the examples.
-
-2005-03-11 Kjetil Jacobsen <kjetilja>
-
- * WARNING: multi.select() now requires the previously optional
- timeout parameter. Updated the tests and examples to reflect
- this change. If the timeout is not set, select could block
- infinitely and cause problems for the internal timeout handling
- in the multi stack. The problem was identified by
- <unknownsoldier93 at yahoo.com>.
-
-
-Version 7.13.1
---------------
-
-2005-03-04 Kjetil Jacobsen <kjetilja>
-
- * Use METH_NOARGS where appropriate.
-
-2005-03-03 Kjetil Jacobsen <kjetilja>
-
- * Added support for CURLFORM API with HTTPPOST: Supports a
- a tuple with pairs of options and values instead of just
- supporting string contents. See tests/test_post2.py
- for example usage. Options are FORM_CONTENTS, FORM_FILE and
- FORM_CONTENTTYPE, corresponding to the CURLFORM_* options,
- and values are strings.
-
-2005-02-13 Markus F.X.J. Oberhumer <mfx>
-
- * Read callbacks (pycurl.READFUNCTION) can now return
- pycurl.READFUNC_ABORT to immediately abort the current transfer.
-
- * The INFILESIZE, MAXFILESIZE, POSTFIELDSIZE and RESUME_FROM
- options now automatically use the largefile version to handle
- files > 2GB.
-
- * Added missing pycurl.PORT constant.
-
-
-Version 7.13.0
---------------
-
-2005-02-10 Kjetil Jacobsen <kjetilja>
-
- * Added file_upload.py to examples, shows how to upload
- a file.
-
- * Added CURLOPT_IOCTLFUNCTION/DATA.
-
- * Added options from libcurl 7.13.0: FTP_ACCOUNT, SOURCE_URL,
- SOURCE_QUOTE.
-
- * Obsoleted options: SOURCE_HOST, SOURCE_PATH, SOURCE_PORT,
- PASV_HOST.
-
-
-Version 7.12.3
---------------
-
-2004-12-22 Markus F.X.J. Oberhumer <mfx>
-
- * Added CURLINFO_NUM_CONNECTS and CURLINFO_SSL_ENGINES.
-
- * Added some other missing constants.
-
- * Updated pycurl.version_info() to return a 12-tuple
- instead of a 9-tuple.
-
-
-Version 7.12.2
---------------
-
-2004-10-15 Kjetil Jacobsen <kjetilja>
-
- * Added CURLOPT_FTPSSLAUTH (and CURLFTPAUTH_*).
-
- * Added CURLINFO_OS_ERRNO.
-
-2004-08-17 Kjetil Jacobsen <kjetilja>
-
- * Use LONG_LONG instead of PY_LONG_LONG to make pycurl compile
- on Python versions < 2.3 (fix from Domenico Andreoli
- <cavok at libero.it>).
-
-
-Version 7.12.1
---------------
-
-2004-08-02 Kjetil Jacobsen <kjetilja>
-
- * Added INFOTYPE_SSL_DATA_IN/OUT.
-
-2004-07-16 Markus F.X.J. Oberhumer <mfx>
-
- * WARNING: removed deprecated PROXY_, TIMECOND_ and non-prefixed
- INFOTYPE constant names. See ChangeLog entry 2003-06-10.
-
-2004-06-21 Kjetil Jacobsen <kjetilja>
-
- * Added test program for HTTP post using the read callback (see
- tests/test_post3.py for details).
-
- * Use the new CURL_READFUNC_ABORT return code where appropriate
- to avoid hanging in perform() when read callbacks are used.
-
- * Added support for libcurl 7.12.1 CURLOPT features:
- SOURCE_HOST, SOURCE_USERPWD, SOURCE_PATH, SOURCE_PORT,
- PASV_HOST, SOURCE_PREQUOTE, SOURCE_POSTQUOTE.
-
-2004-06-08 Markus F.X.J. Oberhumer <mfx>
-
- * Setting CURLOPT_POSTFIELDS now allows binary data and
- automatically sets CURLOPT_POSTFIELDSIZE for you. If you really
- want a different size you have to manually set POSTFIELDSIZE
- after setting POSTFIELDS.
- (Based on a patch by Martin Muenstermann).
-
-2004-06-05 Markus F.X.J. Oberhumer <mfx>
-
- * Added stricter checks within the callback handlers.
-
- * Unify the behaviour of int and long parameters where appropriate.
-
-
-Version 7.12
-------------
-
-2004-05-18 Kjetil Jacobsen <kjetilja>
-
- * WARNING: To simplify code maintenance pycurl now requires
- libcurl 7.11.2 and Python 2.2 or newer to work.
-
- * GC support is now always enabled.
-
-
-Version 7.11.3
---------------
-
-2004-04-30 Kjetil Jacobsen <kjetilja>
-
- * Do not use the deprecated curl_formparse function.
- API CHANGE: HTTPPOST now takes a list of tuples where each
- tuple contains a form name and a form value, both strings
- (see test/test_post2.py for example usage).
-
- * Found a possible reference count bug in the multithreading
- code which may have contributed to the long-standing GC
- segfault which has haunted pycurl. Fingers crossed.
-
-
-Version 7.11.2
---------------
-
-2004-04-21 Kjetil Jacobsen <kjetilja>
-
- * Added support for libcurl 7.11.2 CURLOPT features:
- CURLOPT_TCP_NODELAY.
-
-2004-03-25 Kjetil Jacobsen <kjetilja>
-
- * Store Python longs in off_t with PyLong_AsLongLong instead
- of PyLong_AsLong. Should make the options which deal
- with large files behave a little better. Note that this
- requires the long long support in Python 2.2 or newer to
- work properly.
-
-
-Version 7.11.1
---------------
-
-2004-03-16 Kjetil Jacobsen <kjetilja>
-
- * WARNING: Removed support for the PASSWDFUNCTION callback, which
- is no longer supported by libcurl.
-
-2004-03-15 Kjetil Jacobsen <kjetilja>
-
- * Added support for libcurl 7.11.1 CURLOPT features:
- CURLOPT_POSTFIELDSIZE_LARGE.
-
-
-Version 7.11.0
---------------
-
-2004-02-11 Kjetil Jacobsen <kjetilja>
-
- * Added support for libcurl 7.11.0 CURLOPT features:
- INFILESIZE_LARGE, RESUME_FROM_LARGE, MAXFILESIZE_LARGE
- and FTP_SSL.
-
- * Circular garbage collection support can now be enabled or
- disabled by passing the '--use-gc=[1|0]' parameter to setup.py
- when building pycurl.
-
- * HTTP_VERSION options are known as CURL_HTTP_VERSION_NONE,
- CURL_HTTP_VERSION_1_0, CURL_HTTP_VERSION_1_1 and
- CURL_HTTP_VERSION_LAST.
-
-2003-11-16 Markus F.X.J. Oberhumer <mfx>
-
- * Added support for these new libcurl 7.11.0 features:
- CURLOPT_NETRC_FILE.
-
-
-Version 7.10.8
---------------
-
-2003-11-04 Markus F.X.J. Oberhumer <mfx>
-
- * Added support for these new libcurl 7.10.8 features:
- CURLOPT_FTP_RESPONSE_TIMEOUT, CURLOPT_IPRESOLVE,
- CURLOPT_MAXFILESIZE,
- CURLINFO_HTTPAUTH_AVAIL, CURLINFO_PROXYAUTH_AVAIL,
- CURL_IPRESOLVE_* constants.
-
- * Added support for these new libcurl 7.10.7 features:
- CURLOPT_FTP_CREATE_MISSING_DIRS, CURLOPT_PROXYAUTH,
- CURLINFO_HTTP_CONNECTCODE.
-
-
-2003-10-28 Kjetil Jacobsen <kjetilja>
-
- * Added missing CURLOPT_ENCODING option (patch by Martijn
- Boerwinkel <xim at xs4all.nl>)
-
-
-Version 7.10.6
---------------
-
-2003-07-29 Markus F.X.J. Oberhumer <mfx>
-
- * Started working on support for CURLOPT_SSL_CTX_FUNCTION and
- CURLOPT_SSL_CTX_DATA (libcurl-7.10.6) - not yet finished.
-
-2003-06-10 Markus F.X.J. Oberhumer <mfx>
-
- * Added support for CURLOPT_HTTPAUTH (libcurl-7.10.6), including
- the new HTTPAUTH_BASIC, HTTPAUTH_DIGEST, HTTPAUTH_GSSNEGOTIATE
- and HTTPAUTH_NTML constants.
-
- * Some constants were renamed for consistency:
-
- All curl_infotype constants are now prefixed with "INFOTYPE_",
- all curl_proxytype constants are prefixed with "PROXYTYPE_" instead
- of "PROXY_", and all curl_TimeCond constants are now prefixed
- with "TIMECONDITION_" instead of "TIMECOND_".
-
- (The old names are still available but will get removed
- in a future release.)
-
- * WARNING: Removed the deprecated pycurl.init() and pycurl.multi_init()
- names - use pycurl.Curl() and pycurl.CurlMulti() instead.
-
- * WARNING: Removed the deprecated Curl.cleanup() and
- CurlMulti.cleanup() methods - use Curl.close() and
- CurlMulti.close() instead.
-
-
-Version 7.10.5
---------------
-
-2003-05-15 Markus F.X.J. Oberhumer <mfx>
-
- * Added support for CURLOPT_FTP_USE_EPRT (libcurl-7.10.5).
-
- * Documentation updates.
-
-2003-05-07 Eric S. Raymond <esr>
-
- * Lifted all HTML docs to clean XHTML, verified by tidy.
-
-2003-05-02 Markus F.X.J. Oberhumer <mfx>
-
- * Fixed some `int' vs. `long' mismatches that affected 64-bit systems.
-
- * Fixed wrong pycurl.CAPATH constant.
-
-2003-05-01 Markus F.X.J. Oberhumer <mfx>
-
- * Added new method Curl.errstr() which returns the internal
- libcurl error buffer string of the handle.
-
-
-Version 7.10.4.2
-----------------
-
-2003-04-15 Markus F.X.J. Oberhumer <mfx>
-
- * Allow compilation against the libcurl-7.10.3 release - some
- recent Linux distributions (e.g. Mandrake 9.1) ship with 7.10.3,
- and apart from the new CURLOPT_UNRESTRICTED_AUTH option there is
- no need that we require libcurl-7.10.4.
-
-
-Version 7.10.4
---------------
-
-2003-04-01 Kjetil Jacobsen <kjetilja>
-
- * Markus added CURLOPT_UNRESTRICTED_AUTH (libcurl-7.10.4).
-
-2003-02-25 Kjetil Jacobsen <kjetilja>
-
- * Fixed some broken test code and removed the fileupload test
- since it didn't work properly.
-
-2003-01-28 Kjetil Jacobsen <kjetilja>
-
- * Some documentation updates by Markus and me.
-
-2003-01-22 Kjetil Jacobsen <kjetilja>
-
- * API CHANGE: the CurlMulti.info_read() method now returns
- a separate array with handles that failed. Each entry in this array
- is a tuple with (curl object, error number, error message).
- This addition makes it simpler to do error checking of individual
- curl objects when using the multi interface.
-
-
-Version 7.10.3
---------------
-
-2003-01-13 Kjetil Jacobsen <kjetilja>
-
- * PycURL memory usage has been reduced.
-
-2003-01-10 Kjetil Jacobsen <kjetilja>
-
- * Added 'examples/retriever-multi.py' which shows how to retrieve
- a set of URLs concurrently using the multi interface.
-
-2003-01-09 Kjetil Jacobsen <kjetilja>
-
- * Added support for CURLOPT_HTTP200ALIASES.
-
-2002-11-22 Kjetil Jacobsen <kjetilja>
-
- * Updated pycurl documentation in the 'doc' directory.
-
-2002-11-21 Kjetil Jacobsen <kjetilja>
-
- * Updated and improved 'examples/curl.py'.
-
- * Added 'tests/test_multi6.py' which shows how to use the
- info_read method with CurlMulti.
-
-2002-11-19 Kjetil Jacobsen <kjetilja>
-
- * Added new method CurlMulti.info_read().
-
-
-Version 7.10.2
---------------
-
-2002-11-14 Kjetil Jacobsen <kjetilja>
-
- * Free options set with setopt after cleanup is called, as cleanup
- assumes that options are still valid when invoked. This fixes the
- bug with COOKIEJAR reported by Bastiaan Naber
- <bastiaan at ricardis.tudelft.nl>.
-
-2002-11-06 Markus F.X.J. Oberhumer <mfx>
-
- * Install documentation under /usr/share/doc instead of /usr/doc.
- Also, start shipping the (unfinished) HTML docs and some
- basic test scripts.
-
-2002-10-30 Markus F.X.J. Oberhumer <mfx>
-
- * API CHANGE: For integral values, Curl.getinfo() now returns a
- Python-int instead of a Python-long.
-
-
-Version 7.10.1
---------------
-
-2002-10-03 Markus F.X.J. Oberhumer <mfx>
-
- * Added new module-level function version_info() from
- libcurl-7.10.
-
-
-Version 7.10
-------------
-
-2002-09-13 Kjetil Jacobsen <kjetilja>
-
- * Added commandline options to setup.py for specifying the path to
- 'curl-config' (non-windows) and the curl installation directory
- (windows). See the 'INSTALL' file for details.
-
- * Added CURLOPT_ENCODING, CURLOPT_NOSIGNAL and CURLOPT_BUFFERSIZE
- from libcurl-7.10 (by Markus Oberhumer).
-
-
-Version 7.9.8.4
----------------
-
-2002-08-28 Kjetil Jacobsen <kjetilja>
-
- * Added a simple web-browser example based on gtkhtml and pycurl.
- See the file 'examples/gtkhtml_demo.py' for details. The example
- requires a working installation of gnome-python with gtkhtml
- bindings enabled (pass --with-gtkhtml to gnome-python configure).
-
-2002-08-14 Kjetil Jacobsen <kjetilja>
-
- * Added new method 'select' on CurlMulti objects. Example usage
- in 'tests/test_multi5.py'. This method is just an optimization of
- the combined use of fdset and select.
-
-2002-08-12 Kjetil Jacobsen <kjetilja>
-
- * Added support for curl_multi_fdset. See the file
- 'tests/test_multi4.py' for example usage. Contributed by Conrad
- Steenberg <conrad at hep.caltech.edu>.
-
- * perform() on multi objects now returns a tuple (result, number
- of handles) like the libcurl interface does.
-
-2002-08-08 Kjetil Jacobsen <kjetilja>
-
- * Added the 'sfquery' script which retrieves a SourceForge XML
- export object for a given project. See the file 'examples/sfquery.py'
- for details and usage. 'sfquery' was contributed by Eric
- S. Raymond <esr at thyrsus.com>.
-
-2002-07-20 Markus F.X.J. Oberhumer <mfx>
-
- * API enhancements: added Curl() and CurlMulti() as aliases for
- init() and multi_init(), and added close() methods as aliases
- for the cleanup() methods. The new names much better match
- the actual intended use of the objects, and they also nicely
- correspond to Python's file object.
-
- * Also, all constants for Curl.setopt() and Curl.getinfo() are now
- visible from within Curl objects.
-
- All changes are fully backward-compatible.
-
-
-Version 7.9.8.3
----------------
-
-2002-07-16 Markus F.X.J. Oberhumer <mfx>
-
- * Under Python 2.2 or better, Curl and CurlMulti objects now
- automatically participate in cyclic garbarge collection
- (using the gc module).
-
-
-Version 7.9.8.2
----------------
-
-2002-07-05 Markus F.X.J. Oberhumer <mfx>
-
- * Curl and CurlMulti objects now support standard Python attributes.
- See tests/test_multi2.py for an example.
-
-2002-07-02 Kjetil Jacobsen <kjetilja>
-
- * Added support for the multi-interface.
-
-
-Version 7.9.8.1
----------------
-
-2002-06-25 Markus F.X.J. Oberhumer <mfx>
-
- * Fixed a couple of `int' vs. `size_t' mismatches in callbacks
- and Py_BuildValue() calls.
-
-2002-06-25 Kjetil Jacobsen <kjetilja>
-
- * Use 'double' type instead of 'size_t' for progress callbacks
- (by Conrad Steenberg <conrad at hep.caltech.edu>). Also cleaned up
- some other type mismatches in the callback interfaces.
-
-2002-06-24 Kjetil Jacobsen <kjetilja>
-
- * Added example code on how to upload a file using HTTPPOST in
- pycurl (code by Amit Mongia <amit_mongia at hotmail.com>). See the
- file 'test_fileupload.py' for details.
-
-
-Version 7.9.8
--------------
-
-2002-06-24 Kjetil Jacobsen <kjetilja>
-
- * Resolved some build problems on Windows (by Markus Oberhumer).
-
-2002-06-19 Kjetil Jacobsen <kjetilja>
-
- * Added CURLOPT_CAPATH.
-
- * Added option constants for CURLOPT_NETRC: CURL_NETRC_OPTIONAL,
- CURL_NETRC_IGNORED and CURL_NETRC_REQUIRED.
-
- * Added option constants for CURLOPT_TIMECONDITION:
- TIMECOND_IFMODSINCE and TIMECOND_IFUNMODSINCE.
-
- * Added an simple example crawler, which downloads documents
- listed in a file with a configurable number of worker threads.
- See the file 'crawler.py' in the 'tests' directory for details.
-
- * Removed the redundant 'test_xmlrpc2.py' test script.
-
- * Disallow recursive callback invocations (by Markus Oberhumer).
-
-2002-06-18 Kjetil Jacobsen <kjetilja>
-
- * Made some changes to setup.py which should fix the build
- problems on RedHat 7.3 (suggested by Benji <benji at kioza.net>).
-
- * Use CURLOPT_READDATA instead of CURLOPT_INFILE, and
- CURLOPT_WRITEDATA instead of CURLOPT_FILE. Also fixed some
- reference counting bugs with file objects.
-
- * CURLOPT_FILETIME and CURLINFO_FILETIME had a namespace clash
- which caused them not to work. Use OPT_FILETIME for setopt() and
- INFO_FILETIME for getinfo(). See example usage in
- 'test_getinfo.py' for details.
-
-
-Version 7.9.7
--------------
-
-2002-05-20 Kjetil Jacobsen <kjetilja>
-
- * New versioning scheme. Pycurl now has the same version number
- as the libcurl version it was built with. The pycurl version
- number thus indicates which version of libcurl is required to run.
-
-2002-05-17 Kjetil Jacobsen <kjetilja>
-
- * Added CURLINFO_REDIRECT_TIME and CURLINFO_REDIRECT_COUNT.
-
-2002-04-27 Kjetil Jacobsen <kjetilja>
-
- * Fixed potential memory leak and thread race (by Markus
- Oberhumer).
-
-
-Version 0.4.9
--------------
-
-2002-04-15 Kjetil Jacobsen <kjetilja>
-
- * Added CURLOPT_DEBUGFUNCTION to allow debug callbacks to be
- specified (see the file 'test_debug.py' for details on how to use
- debug callbacks).
-
- * Added CURLOPT_DNS_USE_GLOBAL_CACHE and
- CURLOPT_DNS_CACHE_TIMEOUT.
-
- * Fixed a segfault when finalizing curl objects in Python 1.5.2.
-
- * Now requires libcurl 7.9.6 or greater.
-
-2002-04-12 Kjetil Jacobsen <kjetilja>
-
- * Added 'test_post2.py' file which is another example on how to
- issue POST requests.
-
-2002-04-11 Markus F.X.J. Oberhumer <mfx>
-
- * Added the 'test_post.py' file which demonstrates the use of
- POST requests.
-
-
-Version 0.4.8
--------------
-
-2002-03-07 Kjetil Jacobsen <kjetilja>
-
- * Added CURLOPT_PREQUOTE.
-
- * Now requires libcurl 7.9.5 or greater.
-
- * Other minor code cleanups and bugfixes.
-
-2002-03-05 Kjetil Jacobsen <kjetilja>
-
- * Do not allow WRITEFUNCTION and WRITEHEADER on the same handle.
-
-
-Version 0.4.7
--------------
-
-2002-02-27 Kjetil Jacobsen <kjetilja>
-
- * Abort callback if the thread state of the calling thread cannot
- be determined.
-
- * Check that the installed version of libcurl matches the
- requirements of pycurl.
-
-2002-02-26 Kjetil Jacobsen <kjetilja>
-
- * Clarence Garnder <clarence at silcom.com> found a bug where string
- arguments to setopt sometimes were prematurely deallocated, this
- should now be fixed.
-
-2002-02-21 Kjetil Jacobsen <kjetilja>
-
- * Added the 'xmlrpc_curl.py' file which implements a transport
- for xmlrpclib (xmlrpclib is part of Python 2.2).
-
- * Added CURLINFO_CONTENT_TYPE.
-
- * Added CURLOPT_SSLCERTTYPE, CURLOPT_SSLKEY, CURLOPT_SSLKEYTYPE,
- CURLOPT_SSLKEYPASSWD, CURLOPT_SSLENGINE and
- CURLOPT_SSLENGINE_DEFAULT.
-
- * When thrown, the pycurl.error exception is now a tuple consisting
- of the curl error code and the error message.
-
- * Now requires libcurl 7.9.4 or greater.
-
-2002-02-19 Kjetil Jacobsen <kjetilja>
-
- * Fixed docstring for getopt() function.
-
-2001-12-18 Kjetil Jacobsen <kjetilja>
-
- * Updated the INSTALL information for Win32.
-
-2001-12-12 Kjetil Jacobsen <kjetilja>
-
- * Added missing link flag to make pycurl build on MacOS X (by Matt
- King <matt at gnik.com>).
-
-2001-12-06 Kjetil Jacobsen <kjetilja>
-
- * Added CURLINFO_STARTTRANSFER_TIME and CURLOPT_FTP_USE_EPSV from
- libcurl 7.9.2.
-
-2001-12-01 Markus F.X.J. Oberhumer <mfx>
-
- * Added the 'test_stringio.py' file which demonstrates the use of
- StringIO objects as callback.
-
-2001-12-01 Markus F.X.J. Oberhumer <mfx>
-
- * setup.py: Do not remove entries from a list while iterating
- over it.
-
-2001-11-29 Kjetil Jacobsen <kjetilja>
-
- * Added code in setup.py to install on Windows. Requires some
- manual configuration (by Tino Lange <Tino.Lange at gmx.de>).
-
-2001-11-27 Kjetil Jacobsen <kjetilja>
-
- * Improved detection of where libcurl is installed in setup.py.
- Should make it easier to install pycurl when libcurl is not
- located in regular lib/include paths.
-
-2001-11-05 Kjetil Jacobsen <kjetilja>
-
- * Some of the newer options to setopt were missing, this should
- now be fixed.
-
-2001-11-04 Kjetil Jacobsen <kjetilja>
-
- * Exception handling has been improved and should no longer throw
- spurious exceptions (by Markus F.X.J. Oberhumer
- <markus at oberhumer.com>).
-
-2001-10-15 Kjetil Jacobsen <kjetilja>
-
- * Refactored the test_gtk.py script to avoid global variables.
-
-2001-10-12 Kjetil Jacobsen <kjetilja>
-
- * Added module docstrings, terse perhaps, but better than nothing.
-
- * Added the 'basicfirst.py' file which is a Python version of the
- corresponding Perl script by Daniel.
-
- * PycURL now works properly under Python 1.5 and 1.6 (by Markus
- F.X.J. Oberhumer <markus at oberhumer.com>).
-
- * Allow C-functions and Python methods as callbacks (by Markus
- F.X.J. Oberhumer <markus at oberhumer.com>).
-
- * Allow None as success result of write, header and progress
- callback invocations (by Markus F.X.J. Oberhumer
- <markus at oberhumer.com>).
-
- * Added the 'basicfirst2.py' file which demonstrates the use of a
- class method as callback instead of just a function.
-
-2001-08-21 Kjetil Jacobsen <kjetilja>
-
- * Cleaned up the script with GNOME/PycURL integration.
-
-2001-08-20 Kjetil Jacobsen <kjetilja>
-
- * Added another test script for shipping XML-RPC requests which
- uses py-xmlrpc to encode the arguments (tests/test_xmlrpc2.py).
-
-2001-08-20 Kjetil Jacobsen <kjetilja>
-
- * Added test script for using PycURL and GNOME (tests/test_gtk.py).
-
-2001-08-20 Kjetil Jacobsen <kjetilja>
-
- * Added test script for using XML-RPC (tests/test_xmlrpc.py).
-
- * Added more comments to the test sources.
-
-2001-08-06 Kjetil Jacobsen <kjetilja>
-
- * Renamed module namespace to pycurl instead of curl.
-
-2001-08-06 Kjetil Jacobsen <kjetilja>
-
- * Set CURLOPT_VERBOSE to 0 by default.
-
-2001-06-29 Kjetil Jacobsen <kjetilja>
-
- * Updated INSTALL, curl version 7.8 or greater is now mandatory to
- use pycurl.
-
-2001-06-13 Kjetil Jacobsen <kjetilja>
-
- * Set NOPROGRESS to 1 by default.
-
-2001-06-07 Kjetil Jacobsen <kjetilja>
-
- * Added global_init/cleanup.
-
-2001-06-06 Kjetil Jacobsen <kjetilja>
-
- * Added HEADER/PROGRESSFUNCTION callbacks (see files in tests/).
-
- * Added PASSWDFUNCTION callback (untested).
-
- * Added READFUNCTION callback (untested).
-
-2001-06-05 Kjetil Jacobsen <kjetilja>
-
- * WRITEFUNCTION callbacks now work (see tests/test_cb.py for details).
-
- * Preliminary distutils installation.
-
- * Added CLOSEPOLICY constants to module namespace.
-
-2001-06-04 Kjetil Jacobsen <kjetilja>
-
- * Return -1 on error from Python callback in WRITEFUNCTION callback.
-
-2001-06-01 Kjetil Jacobsen <kjetilja>
-
- * Moved source to src and tests to tests directory.
-
-2001-05-31 Kjetil Jacobsen <kjetilja>
-
- * Added better type checking for setopt.
-
-2001-05-30 Kjetil Jacobsen <kjetilja>
-
- * Moved code to sourceforge.
-
- * Added getinfo support.
-
-
-# vi:ts=8:et
diff --git a/www/htdocs/doc/callbacks.html b/www/htdocs/doc/callbacks.html
deleted file mode 100644
index 83b1445..0000000
--- a/www/htdocs/doc/callbacks.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>PyCurl: Callbacks</title>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <meta name="revisit-after" content="30 days" />
- <meta name="robots" content="noarchive, index, follow" />
-</head>
-<body>
-
-<h1>Callbacks</h1>
-
-<p>For more fine-grained control, libcurl allows a
-number of callbacks to be associated with each connection. In
-pycurl, callbacks are defined using the <code>setopt()</code> method for
-Curl objects with options WRITEFUNCTION, READFUNCTION, HEADERFUNCTION,
-PROGRESSFUNCTION, IOCTLFUNCTION, or DEBUGFUNCTION. These options
-correspond to the libcurl options with CURLOPT_* prefix removed. A
-callback in pycurl must be either a regular Python function, a class
-method or an extension type function.</p>
-
-<p>There are some limitations to some of the options which can be used
-concurrently with the pycurl callbacks compared to the libcurl callbacks.
-This is to allow different callback functions to be associated with
-different Curl objects. More specifically, WRITEDATA cannot
-be used with WRITEFUNCTION, READDATA cannot be used with READFUNCTION,
-WRITEHEADER cannot be used with HEADERFUNCTION, PROGRESSDATA cannot be
-used with PROGRESSFUNCTION, IOCTLDATA cannot be used with IOCTLFUNCTION,
-and DEBUGDATA cannot be used with DEBUGFUNCTION.
-In practice, these limitations can be overcome by having a callback
-function be a class instance method and rather use the class instance
-attributes to store per object data such as files used in the callbacks.
-</p>
-
-The signature of each callback used in pycurl is as follows:<br/>
-<br/>
-<code>WRITEFUNCTION(</code><em>string</em><code>) </code><em>-&gt; number of characters written<br/>
-</em>
-<br/>
-<code>READFUNCTION(</code><em>number of characters to read</em><code>)</code><em>-&gt;
-string</em><br/>
-<br/>
-<code>HEADERFUNCTION(</code><em>string</em><code>)</code><em> -&gt; number of characters written<br/>
-</em><br/>
-<code>PROGRESSFUNCTION(</code><em>download total, downloaded, upload total, uploaded</em><code>) </code><em>-&gt; status</em><br/>
-<br/>
-<code>DEBUGFUNCTION(</code><em>debug message type, debug message string</em><code>)</code>
-<em>-&gt; None<br/></em>
-<br/>
-<code>IOCTLFUNCTION(</code><em>ioctl cmd</em><code>)</code>
-<em>-&gt; status<br/></em>
-<br/>
-
-<p>In addition, <code>READFUNCTION</code> may return
-<code>READFUNC_ABORT</code> or <code>READFUNC_PAUSE</code>. See the libcurl
-documentation for an explanation of these values.
-The <code>WRITEFUNCTION</code> and <code>HEADERFUNCTION</code> callbacks
-may return <code>None</code>, which is an alternate way of indicating that
-the callback has consumed all of the string passed to it.</p>
-
-<hr/>
-
-<h2>Example: Callbacks for document header and body</h2>
-
-<p>This example prints the header data to stderr and the body data to
-stdout. Also note that neither callback returns the number of bytes
-written. For WRITEFUNCTION and HEADERFUNCTION callbacks, returning
-None implies that all bytes where written.</p>
-
-<pre>
- ## Callback function invoked when body data is ready
- def body(buf):
- # Print body data to stdout
- import sys
- sys.stdout.write(buf)
- # Returning None implies that all bytes were written
-
- ## Callback function invoked when header data is ready
- def header(buf):
- # Print header data to stderr
- import sys
- sys.stderr.write(buf)
- # Returning None implies that all bytes were written
-
- c = pycurl.Curl()
- c.setopt(pycurl.URL, "http://www.python.org/")
- c.setopt(pycurl.WRITEFUNCTION, body)
- c.setopt(pycurl.HEADERFUNCTION, header)
- c.perform()
-</pre>
-
-<h2>Example: Download/upload progress callback</h2>
-
-<p>This example shows how to use the progress callback. When downloading
-a document, the arguments related to uploads are zero, and vice versa.</p>
-
-<pre>
- ## Callback function invoked when download/upload has progress
- def progress(download_t, download_d, upload_t, upload_d):
- print "Total to download", download_t
- print "Total downloaded", download_d
- print "Total to upload", upload_t
- print "Total uploaded", upload_d
-
- c.setopt(c.URL, "http://slashdot.org/")
- c.setopt(c.NOPROGRESS, 0)
- c.setopt(c.PROGRESSFUNCTION, progress)
- c.perform()
-</pre>
-
-<h2>Example: Debug callbacks</h2>
-
-<p>This example shows how to use the debug callback. The debug message
-type is an integer indicating the type of debug message. The
-VERBOSE option must be enabled for this callback to be invoked.</p>
-
-<pre>
- def test(debug_type, debug_msg):
- print "debug(%d): %s" % (debug_type, debug_msg)
-
- c = pycurl.Curl()
- c.setopt(pycurl.URL, "http://curl.haxx.se/")
- c.setopt(pycurl.VERBOSE, 1)
- c.setopt(pycurl.DEBUGFUNCTION, test)
- c.perform()
-</pre>
-
-<h2>Other examples</h2>
-<p>The pycurl distribution also contains a number of test scripts and
-examples which show how to use the various callbacks in libcurl.
-For instance, the file 'examples/file_upload.py' in the distribution contains
-example code for using READFUNCTION, 'tests/test_cb.py' shows
-WRITEFUNCTION and HEADERFUNCTION, 'tests/test_debug.py' shows DEBUGFUNCTION,
-and 'tests/test_getinfo.py' shows PROGRESSFUNCTION.</p>
-
-
-<hr />
-<p>
- <a href="http://validator.w3.org/check/referer"><img align="right"
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" height="31" width="88" border="0" /></a>
-</p>
-
-</body>
-</html>
diff --git a/www/htdocs/doc/curlmultiobject.html b/www/htdocs/doc/curlmultiobject.html
deleted file mode 100644
index f14827c..0000000
--- a/www/htdocs/doc/curlmultiobject.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>PycURL: CurlMulti Objects</title>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <meta name="revisit-after" content="30 days" />
- <meta name="robots" content="noarchive, index, follow" />
-</head>
-<body>
-
-<h1>CurlMulti Object</h1>
-
-<p>CurlMulti objects have the following methods: </p>
-
-<dl>
-<dt><code>close()</code> -&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_multi_cleanup.html"><code>curl_multi_cleanup()</code></a> in libcurl.
-This method is automatically called by pycurl when a CurlMulti object no
-longer has any references to it, but can also be called
-explicitly.</p>
-</dd>
-
-<dt><code>perform()</code> -&gt; <em>tuple of status and the number of active Curl objects</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_multi_perform.html"><code>curl_multi_perform()</code></a> in libcurl.</p>
-</dd>
-
-<dt><code>add_handle(</code><em>Curl object</em><code>) </code>-&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_multi_add_handle.html"><code>curl_multi_add_handle()</code></a> in libcurl.
-This method adds an existing and valid Curl object to the CurlMulti
-object.</p>
-
-<p>IMPORTANT NOTE: add_handle does not implicitly add a Python reference
-to the Curl object (and thus does not increase the reference count on the Curl
-object).</p>
-</dd>
-
-<dt><code>remove_handle(</code><em>Curl object</em><code>)</code> -&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_multi_remove_handle.html"><code>curl_multi_remove_handle()</code></a> in libcurl.
-This method removes an existing and valid Curl object from the CurlMulti
-object.</p>
-
-<p>IMPORTANT NOTE: remove_handle does not implicitly remove a Python reference
-from the Curl object (and thus does not decrease the reference count on the Curl
-object).</p>
-</dd>
-
-<dt><code>fdset()</code> -&gt;
-<em>triple of lists with active file descriptors,
-readable, writeable, exceptions.</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_multi_fdset.html"><code>curl_multi_fdset()</code></a> in libcurl.
-This method extracts the file descriptor information from a CurlMulti object.
-The returned lists can be used with the <code>select</code> module to
-poll for events.</p>
-
-<p>Example usage:</p>
-
-<pre>
-import pycurl
-c = pycurl.Curl()
-c.setopt(pycurl.URL, "http://curl.haxx.se")
-m = pycurl.CurlMulti()
-m.add_handle(c)
-while 1:
- ret, num_handles = m.perform()
- if ret != pycurl.E_CALL_MULTI_PERFORM: break
-while num_handles:
- apply(select.select, m.fdset() + (1,))
- while 1:
- ret, num_handles = m.perform()
- if ret != pycurl.E_CALL_MULTI_PERFORM: break
-</pre>
-</dd>
-
-<dt><code>select(</code><em>timeout</em><code>)</code> -&gt;
-<em>number of ready file descriptors or -1 on timeout</em></dt>
-<dd>
-<p>This is a convenience function which simplifies the combined
-use of <code>fdset()</code> and the <code>select</code> module.</p>
-
-<p>Example usage:</p>
-
-<pre>import pycurl
-c = pycurl.Curl()
-c.setopt(pycurl.URL, "http://curl.haxx.se")
-m = pycurl.CurlMulti()
-m.add_handle(c)
-while 1:
- ret, num_handles = m.perform()
- if ret != pycurl.E_CALL_MULTI_PERFORM: break
-while num_handles:
- ret = m.select(1.0)
- if ret == -1: continue
- while 1:
- ret, num_handles = m.perform()
- if ret != pycurl.E_CALL_MULTI_PERFORM: break
-</pre>
-</dd>
-
-<dt><code>info_read(</code><em>[max]</em><code>)</code> -&gt;
-<em>numberof queued messages, a list of successful objects, a list of
-failed objects</em></dt>
-<dd>
-<p>Corresponds to the
-<a href="http://curl.haxx.se/libcurl/c/curl_multi_info_read.html"><code>curl_multi_info_read()</code></a> function in libcurl.
-This method extracts at most <em>max</em> messages
-from the multi stack and returns them in two lists. The first
-list contains the handles which completed successfully and the second
-list contains a tuple <em>&lt;curl object, curl error number, curl
-error message&gt;</em> for each failed curl object. The number
-of queued messages after this method has been called is also
-returned.</p>
-</dd>
-</dl>
-
-<hr />
-<p>
- <a href="http://validator.w3.org/check/referer"><img align="right"
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" height="31" width="88" border="0" /></a>
-</p>
-
-</body>
-</html>
diff --git a/www/htdocs/doc/curlobject.html b/www/htdocs/doc/curlobject.html
deleted file mode 100644
index 4138e38..0000000
--- a/www/htdocs/doc/curlobject.html
+++ /dev/null
@@ -1,136 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>PycURL: Curl Objects</title>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <meta name="revisit-after" content="30 days" />
- <meta name="robots" content="noarchive, index, follow" />
-</head>
-<body>
-
-<h1>Curl Object</h1>
-
-<p>Curl objects have the following methods:</p>
-
-<dl>
-<dt><code>close()</code> -&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_easy_cleanup.html"><code>curl_easy_cleanup</code></a> in libcurl.
-This method is automatically called by pycurl when a Curl object no longer has
-any references to it, but can also be called explicitly.</p>
-</dd>
-
-<dt><code>perform()</code> -&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_easy_perform.html"><code>curl_easy_perform</code></a> in libcurl.</p>
-</dd>
-
-<dt><code>reset()</code> -&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a
-href="http://curl.haxx.se/libcurl/c/curl_easy_reset.html"><code>curl_easy_reset</code></a> in libcurl.</p>
-</dd>
-
-
-<dt><code>setopt(</code><em>option, value</em><code>)</code> -&gt; <em>None</em></dt>
-<dd>
-
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_easy_setopt.html"><code>curl_easy_setopt</code></a> in libcurl, where
-<em>option</em> is specified with the CURLOPT_* constants in libcurl,
-except that the CURLOPT_ prefix has been removed.
-(See below for exceptions.)
-The type for
-<em>value</em> depends on the option, and can be either a string,
-integer, long integer, file object, list, or function.</p>
-
-<p>Example usage:</p>
-
-<pre>
-import pycurl
-c = pycurl.Curl()
-c.setopt(pycurl.URL, "http://www.python.org/")
-c.setopt(pycurl.HTTPHEADER, ["Accept:"])
-import StringIO
-b = StringIO.StringIO()
-c.setopt(pycurl.WRITEFUNCTION, b.write)
-c.setopt(pycurl.FOLLOWLOCATION, 1)
-c.setopt(pycurl.MAXREDIRS, 5)
-c.perform()
-print b.getvalue()
-...
-</pre>
-</dd>
-
-<dt><code>getinfo(</code><em>option</em><code>) </code>-&gt; <em>Result</em></dt>
-<dd>
-
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_easy_getinfo.html"><code>curl_easy_getinfo</code></a> in libcurl, where
-<em>option</em> is the same as the CURLINFO_* constants in libcurl,
-except that the CURLINFO_ prefix has been removed.
-(See below for exceptions.)
-<em>Result</em> contains an integer, float or string, depending on
-which option is given. The <code>getinfo</code> method should
-not be called unless <code>perform</code> has been called and
-finished.</p>
-
-<p>Example usage:</p>
-
-<pre>
-import pycurl
-c = pycurl.Curl()
-c.setopt(pycurl.URL, "http://sf.net")
-c.setopt(pycurl.FOLLOWLOCATION, 1)
-c.perform()
-print c.getinfo(pycurl.HTTP_CODE), c.getinfo(pycurl.EFFECTIVE_URL)
-...
---&gt; 200 "http://sourceforge.net/"
-</pre>
-</dd>
-
-<dt><code>pause(</code><em>bitmask</em><code>) </code>-&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_easy_pause.html"><code>curl_easy_pause</code></a>
-in libcurl. The argument should be derived from
-the <code>PAUSE_RECV</code>, <code>PAUSE_SEND</code>, <code>PAUSE_ALL</code>
-and <code>PAUSE_CONT</code> constants.</p>
-
-<p>The <code>pause()</code> method (and its associated constants) is only
-available if the version of libcurl with which pycurl was built is at
-least version 7.18.0.</p>
-
-<dt><code>errstr()</code> -&gt; <em>String</em></dt>
-<dd>
-<p>Returns the internal libcurl error buffer of this handle as a string.</p>
-</dd>
-</dl>
-
-<p>In order to distinguish between similarly-named CURLOPT and
-CURLINFO constants, some have <code>OPT_</code>
-and <code>INFO_</code> prefixes. These are
-<code>INFO_FILETIME</code>, <code>OPT_FILETIME</code>,
-<code>INFO_COOKIELIST</code> (but <code>setopt</code> uses <code>COOKIELIST</code>!),
-<code>INFO_CERTINFO</code>, and <code>OPT_CERTINFO</code>.</p>
-
-<p>The value returned by <code>getinfo(INFO_CERTINFO)</code> is a list
-with one element per certificate in the chain, starting with the leaf;
-each element is a sequence
-of <code>(</code><em>key</em><code>, </code><em>value</em><code>)</code>
-tuples.</p>
-
-<hr />
-<p>
- <a href="http://validator.w3.org/check/referer"><img align="right"
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" height="31" width="88" border="0" /></a>
-</p>
-
-</body>
-</html>
diff --git a/www/htdocs/doc/curlshareobject.html b/www/htdocs/doc/curlshareobject.html
deleted file mode 100644
index a624f48..0000000
--- a/www/htdocs/doc/curlshareobject.html
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>PycURL: CurlShare Objects</title>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <meta name="revisit-after" content="30 days" />
- <meta name="robots" content="noarchive, index, follow" />
-</head>
-<body>
-
-<h1>CurlShare Object</h1>
-
-<p>CurlShare objects have the following methods:</p>
-
-<dl>
-<dt><code>setopt(</code><em>option, value</em><code>)</code> -&gt; <em>None</em></dt>
-<dd>
-
-<p>Corresponds to
-<a
-href="http://curl.haxx.se/libcurl/c/curl_share_setopt.html"><code>curl_share_setopt</code></a> in libcurl, where
-<em>option</em> is specified with the CURLSHOPT_* constants in libcurl,
-except that the CURLSHOPT_ prefix has been changed to SH_. Currently,
-<em>value</em> must be either LOCK_DATA_COOKIE or LOCK_DATA_DNS.</p>
-
-<p>Example usage:</p>
-
-<pre>
-import pycurl
-curl = pycurl.Curl()
-s = pycurl.CurlShare()
-s.setopt(pycurl.SH_SHARE, pycurl.LOCK_DATA_COOKIE)
-s.setopt(pycurl.SH_SHARE, pycurl.LOCK_DATA_DNS)
-curl.setopt(pycurl.URL, 'http://curl.haxx.se')
-curl.setopt(pycurl.SHARE, s)
-curl.perform()
-curl.close()
-</pre>
-</dd>
-
-</dl>
-
-<hr />
-<p>
- <a href="http://validator.w3.org/check/referer"><img align="right"
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" height="31" width="88" border="0" /></a>
-</p>
-
-</body>
-</html>
diff --git a/www/htdocs/doc/files.html b/www/htdocs/doc/files.html
deleted file mode 100644
index 88c17d8..0000000
--- a/www/htdocs/doc/files.html
+++ /dev/null
@@ -1,369 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
-<title>Files</title>
-<style type="text/css">
-
-/*
-:Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $
-:Copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
-*/
-
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
- border: 0 }
-
-table.borderless td, table.borderless th {
- /* Override padding for "table.docutils td" with "! important".
- The right padding separates the table cells. */
- padding: 0 0.5em 0 0 ! important }
-
-.first {
- /* Override more specific margin styles with "! important". */
- margin-top: 0 ! important }
-
-.last, .with-subtitle {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-blockquote.epigraph {
- margin: 2em 5em ; }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
- overflow: hidden;
-}
-
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
- font-weight: bold }
-*/
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title, .code .error {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-/* Uncomment (and remove this text!) to get reduced vertical space in
- compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-*/
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em ;
- margin-right: 2em }
-
-div.footer, div.header {
- clear: both;
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin: 0 0 0.5em 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
- margin-top: 0.4em }
-
-h1.title {
- text-align: center }
-
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-img.align-left, .figure.align-left, object.align-left {
- clear: left ;
- float: left ;
- margin-right: 1em }
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right ;
- float: right ;
- margin-left: 1em }
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left }
-
-.align-center {
- clear: both ;
- text-align: center }
-
-.align-right {
- text-align: right }
-
-/* reset inner alignment in figures */
-div.align-right {
- text-align: inherit }
-
-/* div.align-center * { */
-/* text-align: left } */
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font: inherit }
-
-pre.literal-block, pre.doctest-block, pre.math, pre.code {
- margin-left: 2em ;
- margin-right: 2em }
-
-pre.code .ln { color: grey; } /* line numbers */
-pre.code, code { background-color: #eeeeee }
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-span.section-subtitle {
- /* font-size relative to parent (h1..h6 element) */
- font-size: 80% }
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid 1px black;
- margin-left: 1px }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-table.docutils th.field-name, table.docinfo th.docinfo-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap ;
- padding-left: 0 }
-
-/* "booktabs" style (no vertical lines) */
-table.docutils.booktabs {
- border: 0px;
- border-top: 2px solid;
- border-bottom: 2px solid;
- border-collapse: collapse;
-}
-table.docutils.booktabs * {
- border: 0px;
-}
-table.docutils.booktabs th {
- border-bottom: thin solid;
- text-align: left;
-}
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-ul.auto-toc {
- list-style-type: none }
-
-</style>
-</head>
-<body>
-<div class="document" id="files">
-<h1 class="title">Files</h1>
-
-<p>In PycURL 7.19.0.3 and below, CURLOPT_READDATA, CURLOPT_WRITEDATA and
-CURLOPT_WRITEHEADER options accepted file objects and directly passed
-the underlying C library FILE pointers to libcurl.</p>
-<p>Python 3 no longer implements files as C library FILE objects.
-In PycURL 7.19.3 and above, when running on Python 3, these options
-are implemented as calls to CURLOPT_READFUNCTION, CURLOPT_WRITEFUNCTION
-and CURLOPT_HEADERFUNCTION, respectively, with the write method of the
-Python file object as the parameter. As a result, any Python file-like
-object implementing a write method can be passed to CURLOPT_READDATA,
-CURLOPT_WRITEDATA or CURLOPT_WRITEHEADER options.</p>
-<p>When running PycURL 7.19.3 and above on Python 2, the old behavior of
-passing FILE pointers to libcurl remains when a true file object is given
-to CURLOPT_READDATA, CURLOPT_WRITEDATA and CURLOPT_WRITEHEADER options.
-For consistency with Python 3 behavior these options also accept file-like
-objects implementing a write method as arguments, in which case the
-Python 3 code path is used converting these options to CURLOPT_*FUNCTION
-option calls.</p>
-<p>Files given to PycURL as arguments to CURLOPT_READDATA, CURLOPT_WRITEDATA or
-CURLOPT_WRITEHEADER must be opened for writing in binary mode. Files opened
-in text mode (without &quot;b&quot; flag to open()) expect string objects and writing
-to them from PycURL will fail. Similarly when passing f.write method of
-an open file to CURLOPT_WRITEFUNCTION or CURLOPT_HEADERFUNCTION, or f.read
-to CURLOPT_READFUNCTION, the file must have been be opened in binary mode.</p>
-</div>
-</body>
-</html>
diff --git a/www/htdocs/doc/internals.html b/www/htdocs/doc/internals.html
deleted file mode 100644
index 81e4878..0000000
--- a/www/htdocs/doc/internals.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
-<title>Internals</title>
-<style type="text/css">
-
-/*
-:Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $
-:Copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
-*/
-
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
- border: 0 }
-
-table.borderless td, table.borderless th {
- /* Override padding for "table.docutils td" with "! important".
- The right padding separates the table cells. */
- padding: 0 0.5em 0 0 ! important }
-
-.first {
- /* Override more specific margin styles with "! important". */
- margin-top: 0 ! important }
-
-.last, .with-subtitle {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-blockquote.epigraph {
- margin: 2em 5em ; }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
- overflow: hidden;
-}
-
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
- font-weight: bold }
-*/
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title, .code .error {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-/* Uncomment (and remove this text!) to get reduced vertical space in
- compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-*/
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em ;
- margin-right: 2em }
-
-div.footer, div.header {
- clear: both;
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin: 0 0 0.5em 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
- margin-top: 0.4em }
-
-h1.title {
- text-align: center }
-
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-img.align-left, .figure.align-left, object.align-left {
- clear: left ;
- float: left ;
- margin-right: 1em }
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right ;
- float: right ;
- margin-left: 1em }
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left }
-
-.align-center {
- clear: both ;
- text-align: center }
-
-.align-right {
- text-align: right }
-
-/* reset inner alignment in figures */
-div.align-right {
- text-align: inherit }
-
-/* div.align-center * { */
-/* text-align: left } */
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font: inherit }
-
-pre.literal-block, pre.doctest-block, pre.math, pre.code {
- margin-left: 2em ;
- margin-right: 2em }
-
-pre.code .ln { color: grey; } /* line numbers */
-pre.code, code { background-color: #eeeeee }
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-span.section-subtitle {
- /* font-size relative to parent (h1..h6 element) */
- font-size: 80% }
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid 1px black;
- margin-left: 1px }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-table.docutils th.field-name, table.docinfo th.docinfo-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap ;
- padding-left: 0 }
-
-/* "booktabs" style (no vertical lines) */
-table.docutils.booktabs {
- border: 0px;
- border-top: 2px solid;
- border-bottom: 2px solid;
- border-collapse: collapse;
-}
-table.docutils.booktabs * {
- border: 0px;
-}
-table.docutils.booktabs th {
- border-bottom: thin solid;
- text-align: left;
-}
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-ul.auto-toc {
- list-style-type: none }
-
-</style>
-</head>
-<body>
-<div class="document" id="internals">
-<h1 class="title">Internals</h1>
-
-<p>Cleanup sequence:</p>
-<p>x=curl/multi/share</p>
-<p>x.close() -&gt; do_x_close -&gt; util_x_close
-del x -&gt; do_x_dealloc -&gt; util_x_close</p>
-<p>do_* functions are directly invoked by user code.
-They check pycurl object state.</p>
-<p>util_* functions are only invoked by other pycurl C functions.
-They do not check pycurl object state.</p>
-</div>
-</body>
-</html>
diff --git a/www/htdocs/doc/pycurl.html b/www/htdocs/doc/pycurl.html
deleted file mode 100644
index a49960a..0000000
--- a/www/htdocs/doc/pycurl.html
+++ /dev/null
@@ -1,129 +0,0 @@
-<?xml version="1.0" encoding="iso-8859-1"?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
- <title>PycURL Documentation</title>
- <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
- <meta name="revisit-after" content="30 days" />
- <meta name="robots" content="noarchive, index, follow" />
-</head>
-<body>
-
-<h1><tt>pycurl</tt> &mdash; A Python interface to the cURL library</h1>
-
-<p>The pycurl package is a Python interface to libcurl (<a
-href="http://curl.haxx.se/libcurl/">http://curl.haxx.se/libcurl/</a>). pycurl
-has been successfully built and tested with Python versions from
-2.4 to 2.7.</p>
-
-<p>libcurl is a client-side URL transfer library supporting FTP, FTPS,
-HTTP, HTTPS, GOPHER, TELNET, DICT, FILE and LDAP. libcurl
-also supports HTTPS certificates, HTTP POST, HTTP PUT, FTP uploads, proxies,
-cookies, basic authentication, file transfer resume of FTP sessions, HTTP
-proxy tunneling and more.</p>
-
-<p>All the functionality provided by libcurl can used through the
-pycurl interface. The following subsections describe how to use the
-pycurl interface, and assume familiarity with how libcurl works. For
-information on how libcurl works, please consult the curl library web pages
-(<a href="http://curl.haxx.se/libcurl/c/">http://curl.haxx.se/libcurl/c/</a>).</p>
-
-<hr/>
-
-<h1>Module Functionality</h1>
-
-<dl>
-<dt><code>pycurl.global_init(</code><em>option</em><code>)</code> -&gt;<em>None</em></dt>
-
-<dd><p><em>option</em> is one of the constants
-pycurl.GLOBAL_SSL, pycurl.GLOBAL_WIN32, pycurl.GLOBAL_ALL,
-pycurl.GLOBAL_NOTHING, pycurl.GLOBAL_DEFAULT. Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_global_init.html"><code>curl_global_init()</code></a> in libcurl.</p>
-</dd>
-
-<dt><code>pycurl.global_cleanup()</code> -&gt; <em>None</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_global_cleanup.html"><code>curl_global_cleanup()</code></a> in libcurl.</p>
-</dd>
-
-<dt><code>pycurl.version</code></dt>
-
-<dd><p>This is a string with version information on libcurl,
-corresponding to
-<a href="http://curl.haxx.se/libcurl/c/curl_version.html"><code>curl_version()</code></a> in libcurl.</p>
-
-<p>Example usage:</p>
-<pre>
->>> import pycurl
->>> pycurl.version
-'libcurl/7.12.3 OpenSSL/0.9.7e zlib/1.2.2.1 libidn/0.5.12'
-</pre>
-</dd>
-
-<dt><code>pycurl.version_info()</code> -&gt; <em>Tuple</em></dt>
-<dd>
-<p>Corresponds to
-<a href="http://curl.haxx.se/libcurl/c/curl_version_info.html"><code>curl_version_info()</code></a> in libcurl.
-Returns a tuple of information which is similar to the
-<code>curl_version_info_data</code> struct returned by
-<code>curl_version_info()</code> in libcurl.</p>
-
-<p>Example usage:</p>
-<pre>
->>> import pycurl
->>> pycurl.version_info()
-(2, '7.12.3', 461827, 'i586-pc-linux-gnu', 1565, 'OpenSSL/0.9.7e', 9465951,
-'1.2.2.1', ('ftp', 'gopher', 'telnet', 'dict', 'ldap', 'http', 'file',
-'https', 'ftps'), None, 0, '0.5.12')
-</pre>
-</dd>
-
-<dt><code>pycurl.Curl()</code> -&gt; <em>Curl object</em></dt>
-<dd>
-<p>This function creates a new
-<a href="curlobject.html">Curl object</a> which corresponds to a
-<code>CURL</code> handle in libcurl. Curl objects automatically
-set CURLOPT_VERBOSE to 0, CURLOPT_NOPROGRESS to 1,
-provide a default CURLOPT_USERAGENT and setup
-CURLOPT_ERRORBUFFER to point to a private error buffer.</p>
-</dd>
-
-<dt><code>pycurl.CurlMulti()</code> -&gt; <em>CurlMulti object</em></dt>
-<dd>
-<p>This function creates a new
-<a href="curlmultiobject.html">CurlMulti object</a> which corresponds to
-a <code>CURLM</code> handle in libcurl.</p>
-</dd>
-
-<dt><code>pycurl.CurlShare()</code> -&gt; <em>CurlShare object</em></dt>
-<dd>
-<p>This function creates a new
-<a href="curlshareobject.html">CurlShare object</a> which corresponds to
-a <code>CURLSH</code> handle in libcurl. CurlShare objects is what you
-pass as an argument to the SHARE option on Curl objects.</p>
-</dd>
-
-</dl>
-
-<hr/>
-
-<h1>Subsections</h1>
-
-<ul>
- <li><a href="curlobject.html">Curl objects</a></li>
- <li><a href="curlmultiobject.html">CurlMulti objects</a></li>
- <li><a href="curlshareobject.html">CurlShare objects</a></li>
- <li><a href="callbacks.html">Callbacks</a></li>
-</ul>
-
-<hr />
-<p>
- <a href="http://validator.w3.org/check/referer"><img align="right"
- src="http://www.w3.org/Icons/valid-xhtml10"
- alt="Valid XHTML 1.0!" height="31" width="88" border="0" /></a>
-</p>
-
-</body>
-</html>
diff --git a/www/htdocs/doc/release-process.html b/www/htdocs/doc/release-process.html
deleted file mode 100644
index c9ffbe8..0000000
--- a/www/htdocs/doc/release-process.html
+++ /dev/null
@@ -1,374 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
-<title>Release Process</title>
-<style type="text/css">
-
-/*
-:Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $
-:Copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
-*/
-
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
- border: 0 }
-
-table.borderless td, table.borderless th {
- /* Override padding for "table.docutils td" with "! important".
- The right padding separates the table cells. */
- padding: 0 0.5em 0 0 ! important }
-
-.first {
- /* Override more specific margin styles with "! important". */
- margin-top: 0 ! important }
-
-.last, .with-subtitle {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-blockquote.epigraph {
- margin: 2em 5em ; }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
- overflow: hidden;
-}
-
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
- font-weight: bold }
-*/
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title, .code .error {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-/* Uncomment (and remove this text!) to get reduced vertical space in
- compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-*/
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em ;
- margin-right: 2em }
-
-div.footer, div.header {
- clear: both;
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin: 0 0 0.5em 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
- margin-top: 0.4em }
-
-h1.title {
- text-align: center }
-
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-img.align-left, .figure.align-left, object.align-left {
- clear: left ;
- float: left ;
- margin-right: 1em }
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right ;
- float: right ;
- margin-left: 1em }
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left }
-
-.align-center {
- clear: both ;
- text-align: center }
-
-.align-right {
- text-align: right }
-
-/* reset inner alignment in figures */
-div.align-right {
- text-align: inherit }
-
-/* div.align-center * { */
-/* text-align: left } */
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font: inherit }
-
-pre.literal-block, pre.doctest-block, pre.math, pre.code {
- margin-left: 2em ;
- margin-right: 2em }
-
-pre.code .ln { color: grey; } /* line numbers */
-pre.code, code { background-color: #eeeeee }
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-span.section-subtitle {
- /* font-size relative to parent (h1..h6 element) */
- font-size: 80% }
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid 1px black;
- margin-left: 1px }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-table.docutils th.field-name, table.docinfo th.docinfo-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap ;
- padding-left: 0 }
-
-/* "booktabs" style (no vertical lines) */
-table.docutils.booktabs {
- border: 0px;
- border-top: 2px solid;
- border-bottom: 2px solid;
- border-collapse: collapse;
-}
-table.docutils.booktabs * {
- border: 0px;
-}
-table.docutils.booktabs th {
- border-bottom: thin solid;
- text-align: left;
-}
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-ul.auto-toc {
- list-style-type: none }
-
-</style>
-</head>
-<body>
-<div class="document" id="release-process">
-<h1 class="title">Release Process</h1>
-
-<ol class="arabic simple">
-<li>Ensure changelog is up to date with commits in master.</li>
-<li>Run <cite>python setup.py manifest</cite>, check that none of the listed files
-should be in MANIFEST.in.</li>
-<li>Make sure travis is green for master.</li>
-<li>Update version numbers in:
-- Changelog
-- setup.py
-- winbuild.py
-- www/htdocs/index.php</li>
-<li>Copy Changelog to www/htdocs.</li>
-<li>Draft release notes.</li>
-<li>Rsync doc directory to www/htdocs.</li>
-<li><cite>python setup.py sdist</cite>.</li>
-<li>Manually test install the built package.</li>
-<li>Build windows packages using winbuild.py.</li>
-<li>Add windows packages to downloads repo on github.</li>
-<li>Tag the new version.</li>
-<li>Register new version with pypi - <cite>python setup.py register</cite>.</li>
-<li>Upload source distribution to pypi - <cite>python setup.py sdist upload</cite>.
-This recreates the source distribution.</li>
-<li>Add the source distribution to downloads repo on github.</li>
-<li>Rsync downloads repo to sourceforge.</li>
-<li>Rsync www/htdocs to sourceforge.</li>
-<li>Push tag to github pycurl repo.</li>
-<li>Announce release on mailing list.</li>
-<li>Link to announcement from website.</li>
-</ol>
-</div>
-</body>
-</html>
diff --git a/www/htdocs/doc/unicode.html b/www/htdocs/doc/unicode.html
deleted file mode 100644
index e72e2aa..0000000
--- a/www/htdocs/doc/unicode.html
+++ /dev/null
@@ -1,425 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
-<title>Unicode</title>
-<style type="text/css">
-
-/*
-:Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $
-:Copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
-*/
-
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
- border: 0 }
-
-table.borderless td, table.borderless th {
- /* Override padding for "table.docutils td" with "! important".
- The right padding separates the table cells. */
- padding: 0 0.5em 0 0 ! important }
-
-.first {
- /* Override more specific margin styles with "! important". */
- margin-top: 0 ! important }
-
-.last, .with-subtitle {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-blockquote.epigraph {
- margin: 2em 5em ; }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
- overflow: hidden;
-}
-
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
- font-weight: bold }
-*/
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title, .code .error {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-/* Uncomment (and remove this text!) to get reduced vertical space in
- compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-*/
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em ;
- margin-right: 2em }
-
-div.footer, div.header {
- clear: both;
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin: 0 0 0.5em 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
- margin-top: 0.4em }
-
-h1.title {
- text-align: center }
-
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-img.align-left, .figure.align-left, object.align-left {
- clear: left ;
- float: left ;
- margin-right: 1em }
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right ;
- float: right ;
- margin-left: 1em }
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left }
-
-.align-center {
- clear: both ;
- text-align: center }
-
-.align-right {
- text-align: right }
-
-/* reset inner alignment in figures */
-div.align-right {
- text-align: inherit }
-
-/* div.align-center * { */
-/* text-align: left } */
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font: inherit }
-
-pre.literal-block, pre.doctest-block, pre.math, pre.code {
- margin-left: 2em ;
- margin-right: 2em }
-
-pre.code .ln { color: grey; } /* line numbers */
-pre.code, code { background-color: #eeeeee }
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-span.section-subtitle {
- /* font-size relative to parent (h1..h6 element) */
- font-size: 80% }
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid 1px black;
- margin-left: 1px }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-table.docutils th.field-name, table.docinfo th.docinfo-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap ;
- padding-left: 0 }
-
-/* "booktabs" style (no vertical lines) */
-table.docutils.booktabs {
- border: 0px;
- border-top: 2px solid;
- border-bottom: 2px solid;
- border-collapse: collapse;
-}
-table.docutils.booktabs * {
- border: 0px;
-}
-table.docutils.booktabs th {
- border-bottom: thin solid;
- text-align: left;
-}
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-ul.auto-toc {
- list-style-type: none }
-
-</style>
-</head>
-<body>
-<div class="document" id="unicode">
-<h1 class="title">Unicode</h1>
-
-<div class="section" id="python-2-x">
-<h1>Python 2.x</h1>
-<p>Under Python 2, the string type can hold arbitrary encoded byte strings.
-PycURL will pass whatever byte strings it is given verbatim to libcurl.</p>
-<p>If your application works with encoded byte strings, you should be able to
-pass them to PycURL. If your application works with Unicode data, you need to
-encode the data to byte strings yourself. Which encoding to use depends on
-the protocol you are working with - HTTP headers should be encoded in latin1,
-HTTP request bodies are commonly encoded in utf-8 and their encoding is
-specified in the Content-Type header value.</p>
-<p>Prior to PycURL 7.19.3, PycURL did not accept Unicode data under Python 2.
-Even Unicode strings containing only ASCII code points had to be encoded to
-byte strings.</p>
-<p>As of PycURL 7.19.3, for compatibility with Python 3, PycURL will accept
-Unicode strings under Python 2 provided they contain ASCII code points only.
-In other words, PycURL will encode Unicode into ASCII for you. If you supply
-a Unicode string containing characters that are outside of ASCII, the call will
-fail with a UnicodeEncodeError.</p>
-<p>PycURL will return data from libcurl, like request bodies and header values,
-as byte strings. If the data is ASCII, you can treat it as string data.
-Otherwise you will need to decode the byte strings usisng the correct encoding.
-What encoding is correct depends on the protocol and potentially returned
-data itself - HTTP response headers are supposed to be latin1 encoded but
-encoding of response body is specified in the Content-Type header.</p>
-</div>
-<div class="section" id="python-3-x-from-pycurl-7-19-3-onward">
-<h1>Python 3.x (from PycURL 7.19.3 onward)</h1>
-<p>Under Python 3, the rules are as follows:</p>
-<p>PycURL will accept bytes for any string data passed to libcurl (e.g.
-arguments to curl_easy_setopt).</p>
-<p>PycURL will accept (Unicode) strings for string arguments to curl_easy_setopt.
-libcurl generally expects the options to be already appropriately encoded
-and escaped (e.g. for CURLOPT_URL). Also, Python 2 code dealing with
-Unicode values for string options will typically manually encode such values.
-Therefore PycURL will attempt to encode Unicode strings with the ascii codec
-only, allowing the application to pass ASCII data in a straightforward manner
-but requiring Unicode data to be appropriately encoded.</p>
-<p>It may be helpful to remember that libcurl operates on byte arrays.
-It is a C library and does not do any Unicode encoding or decoding, offloading
-that task on the application using it. PycURL, being a thin wrapper around
-libcurl, passes the Unicode encoding and decoding responsibilities to you
-except for the trivial case of encoding Unicode data containing only ASCII
-characters into ASCII.</p>
-<p>Caution: when using CURLOPT_READFUNCTION in tandem with CURLOPT_POSTFIELDSIZE,
-as would be done for HTTP for example, take care to pass the length of
-encoded data to CURLOPT_POSTFIELDSIZE if you are doing the encoding from
-Unicode strings. If you pass the number of Unicode characters rather than
-encoded bytes to libcurl, the server will receive wrong Content-Length.
-Alternatively you can return Unicode strings from a CURLOPT_READFUNCTION
-function, if you are certain they will only contain ASCII code points.</p>
-<p>If encoding to ASCII fails, PycURL will return an error to libcurl, and
-libcurl in turn will fail the request with an exception like
-&quot;read function error/data error&quot;. You may examine sys.last_value for
-information on exception that occurred during encoding in this case.</p>
-<p>PycURL will return all data read from the network as bytes. In particular,
-this means that BytesIO should be used rather than StringIO for writing the
-response to memory. Header function will also receive bytes.</p>
-<p>Because PycURL does not perform encoding or decoding, other than to ASCII,
-any file objects that PycURL is meant to interact with via CURLOPT_READDATA,
-CURLOPT_WRITEDATA, CURLOPT_WRITEHEADER, CURLOPT_READFUNCTION,
-CURLOPT_WRITEFUNCTION or CURLOPT_HEADERFUNCTION must be opened in binary
-mode (&quot;b&quot; flag to open() call).</p>
-</div>
-<div class="section" id="python-3-x-before-pycurl-7-19-3">
-<h1>Python 3.x before PycURL 7.19.3</h1>
-<p>PycURL did not have official Python 3 support prior to PycURL 7.19.3.
-There were two patches on SourceForge (<a class="reference external" href="http://sourceforge.net/p/pycurl/patches/5/">original</a>, <a class="reference external" href="http://sourceforge.net/p/pycurl/patches/12/">revised</a>)
-adding Python 3 support, but they did not handle Unicode strings correctly.
-Instead of using Python encoding functionality, these patches used
-C standard library unicode to multibyte conversion functions, and thus
-they can have the same behavior as Python encoding code or behave
-entirely differently.</p>
-<p>Python 3 support as implemented in PycURL 7.19.3 and documented here
-does not, as mentioned, actually perform any encoding other than to convert
-from Unicode strings containing ASCII-only bytes to ASCII byte strings.</p>
-<p>Linux distributions that offered Python 3 packages of PycURL prior to 7.19.3
-used SourceForge patches and may behave in ways contradictory to what is
-described in this document.</p>
-</div>
-</div>
-</body>
-</html>
diff --git a/www/htdocs/release-notes.html b/www/htdocs/release-notes.html
deleted file mode 100644
index 5380269..0000000
--- a/www/htdocs/release-notes.html
+++ /dev/null
@@ -1,366 +0,0 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<meta name="generator" content="Docutils 0.11: http://docutils.sourceforge.net/" />
-<title>Release Notes</title>
-<style type="text/css">
-
-/*
-:Author: David Goodger (goodger@python.org)
-:Id: $Id: html4css1.css 7614 2013-02-21 15:55:51Z milde $
-:Copyright: This stylesheet has been placed in the public domain.
-
-Default cascading style sheet for the HTML output of Docutils.
-
-See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
-customize this style sheet.
-*/
-
-/* used to remove borders from tables and images */
-.borderless, table.borderless td, table.borderless th {
- border: 0 }
-
-table.borderless td, table.borderless th {
- /* Override padding for "table.docutils td" with "! important".
- The right padding separates the table cells. */
- padding: 0 0.5em 0 0 ! important }
-
-.first {
- /* Override more specific margin styles with "! important". */
- margin-top: 0 ! important }
-
-.last, .with-subtitle {
- margin-bottom: 0 ! important }
-
-.hidden {
- display: none }
-
-a.toc-backref {
- text-decoration: none ;
- color: black }
-
-blockquote.epigraph {
- margin: 2em 5em ; }
-
-dl.docutils dd {
- margin-bottom: 0.5em }
-
-object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
- overflow: hidden;
-}
-
-/* Uncomment (and remove this text!) to get bold-faced definition list terms
-dl.docutils dt {
- font-weight: bold }
-*/
-
-div.abstract {
- margin: 2em 5em }
-
-div.abstract p.topic-title {
- font-weight: bold ;
- text-align: center }
-
-div.admonition, div.attention, div.caution, div.danger, div.error,
-div.hint, div.important, div.note, div.tip, div.warning {
- margin: 2em ;
- border: medium outset ;
- padding: 1em }
-
-div.admonition p.admonition-title, div.hint p.admonition-title,
-div.important p.admonition-title, div.note p.admonition-title,
-div.tip p.admonition-title {
- font-weight: bold ;
- font-family: sans-serif }
-
-div.attention p.admonition-title, div.caution p.admonition-title,
-div.danger p.admonition-title, div.error p.admonition-title,
-div.warning p.admonition-title, .code .error {
- color: red ;
- font-weight: bold ;
- font-family: sans-serif }
-
-/* Uncomment (and remove this text!) to get reduced vertical space in
- compound paragraphs.
-div.compound .compound-first, div.compound .compound-middle {
- margin-bottom: 0.5em }
-
-div.compound .compound-last, div.compound .compound-middle {
- margin-top: 0.5em }
-*/
-
-div.dedication {
- margin: 2em 5em ;
- text-align: center ;
- font-style: italic }
-
-div.dedication p.topic-title {
- font-weight: bold ;
- font-style: normal }
-
-div.figure {
- margin-left: 2em ;
- margin-right: 2em }
-
-div.footer, div.header {
- clear: both;
- font-size: smaller }
-
-div.line-block {
- display: block ;
- margin-top: 1em ;
- margin-bottom: 1em }
-
-div.line-block div.line-block {
- margin-top: 0 ;
- margin-bottom: 0 ;
- margin-left: 1.5em }
-
-div.sidebar {
- margin: 0 0 0.5em 1em ;
- border: medium outset ;
- padding: 1em ;
- background-color: #ffffee ;
- width: 40% ;
- float: right ;
- clear: right }
-
-div.sidebar p.rubric {
- font-family: sans-serif ;
- font-size: medium }
-
-div.system-messages {
- margin: 5em }
-
-div.system-messages h1 {
- color: red }
-
-div.system-message {
- border: medium outset ;
- padding: 1em }
-
-div.system-message p.system-message-title {
- color: red ;
- font-weight: bold }
-
-div.topic {
- margin: 2em }
-
-h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
-h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
- margin-top: 0.4em }
-
-h1.title {
- text-align: center }
-
-h2.subtitle {
- text-align: center }
-
-hr.docutils {
- width: 75% }
-
-img.align-left, .figure.align-left, object.align-left {
- clear: left ;
- float: left ;
- margin-right: 1em }
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right ;
- float: right ;
- margin-left: 1em }
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
-.align-left {
- text-align: left }
-
-.align-center {
- clear: both ;
- text-align: center }
-
-.align-right {
- text-align: right }
-
-/* reset inner alignment in figures */
-div.align-right {
- text-align: inherit }
-
-/* div.align-center * { */
-/* text-align: left } */
-
-ol.simple, ul.simple {
- margin-bottom: 1em }
-
-ol.arabic {
- list-style: decimal }
-
-ol.loweralpha {
- list-style: lower-alpha }
-
-ol.upperalpha {
- list-style: upper-alpha }
-
-ol.lowerroman {
- list-style: lower-roman }
-
-ol.upperroman {
- list-style: upper-roman }
-
-p.attribution {
- text-align: right ;
- margin-left: 50% }
-
-p.caption {
- font-style: italic }
-
-p.credits {
- font-style: italic ;
- font-size: smaller }
-
-p.label {
- white-space: nowrap }
-
-p.rubric {
- font-weight: bold ;
- font-size: larger ;
- color: maroon ;
- text-align: center }
-
-p.sidebar-title {
- font-family: sans-serif ;
- font-weight: bold ;
- font-size: larger }
-
-p.sidebar-subtitle {
- font-family: sans-serif ;
- font-weight: bold }
-
-p.topic-title {
- font-weight: bold }
-
-pre.address {
- margin-bottom: 0 ;
- margin-top: 0 ;
- font: inherit }
-
-pre.literal-block, pre.doctest-block, pre.math, pre.code {
- margin-left: 2em ;
- margin-right: 2em }
-
-pre.code .ln { color: grey; } /* line numbers */
-pre.code, code { background-color: #eeeeee }
-pre.code .comment, code .comment { color: #5C6576 }
-pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
-pre.code .literal.string, code .literal.string { color: #0C5404 }
-pre.code .name.builtin, code .name.builtin { color: #352B84 }
-pre.code .deleted, code .deleted { background-color: #DEB0A1}
-pre.code .inserted, code .inserted { background-color: #A3D289}
-
-span.classifier {
- font-family: sans-serif ;
- font-style: oblique }
-
-span.classifier-delimiter {
- font-family: sans-serif ;
- font-weight: bold }
-
-span.interpreted {
- font-family: sans-serif }
-
-span.option {
- white-space: nowrap }
-
-span.pre {
- white-space: pre }
-
-span.problematic {
- color: red }
-
-span.section-subtitle {
- /* font-size relative to parent (h1..h6 element) */
- font-size: 80% }
-
-table.citation {
- border-left: solid 1px gray;
- margin-left: 1px }
-
-table.docinfo {
- margin: 2em 4em }
-
-table.docutils {
- margin-top: 0.5em ;
- margin-bottom: 0.5em }
-
-table.footnote {
- border-left: solid 1px black;
- margin-left: 1px }
-
-table.docutils td, table.docutils th,
-table.docinfo td, table.docinfo th {
- padding-left: 0.5em ;
- padding-right: 0.5em ;
- vertical-align: top }
-
-table.docutils th.field-name, table.docinfo th.docinfo-name {
- font-weight: bold ;
- text-align: left ;
- white-space: nowrap ;
- padding-left: 0 }
-
-/* "booktabs" style (no vertical lines) */
-table.docutils.booktabs {
- border: 0px;
- border-top: 2px solid;
- border-bottom: 2px solid;
- border-collapse: collapse;
-}
-table.docutils.booktabs * {
- border: 0px;
-}
-table.docutils.booktabs th {
- border-bottom: thin solid;
- text-align: left;
-}
-
-h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
-h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
- font-size: 100% }
-
-ul.auto-toc {
- list-style-type: none }
-
-</style>
-</head>
-<body>
-<div class="document" id="release-notes">
-<h1 class="title">Release Notes</h1>
-<h2 class="subtitle" id="pycurl-7-19-3-2014-01-09">PycURL 7.19.3 - 2014-01-09</h2>
-
-<p>This release brings official Python 3 support to PycURL.
-Several GNU/Linux distributions provided Python 3 packages of PycURL
-previously; these packages were based on patches that were incomplete and
-in some places incorrect. Behavior of PycURL 7.19.3 and later may therefore
-differ from behavior of unofficial Python 3 packages of previous PycURL
-versions.</p>
-<p>To summarize the behavior under Python 3, PycURL will accept <tt class="docutils literal">bytes</tt> where
-it accepted strings under Python 2, and will also accept Unicode strings
-containing ASCII codepoints only for convenience. Please refer to
-<a class="reference external" href="doc/unicode.html">Unicode</a> and <a class="reference external" href="doc/files.html">file</a> documentation for further details.</p>
-<p>In the interests of compatibility, PycURL will also accept Unicode data on
-Python 2 given the same constraints as under Python 3.</p>
-<p>While Unicode and file handling rules are expected to be sensible for
-all use cases, and retain backwards compatibility with previous PycURL
-versions, please treat behavior of this versions under Python 3 as experimental
-and subject to change.</p>
-<p>Another potentially disruptive change in PycURL is the requirement for
-compile time and runtime SSL backends to match. Please see the readme for
-how to indicate the SSL backend to setup.py.</p>
-</div>
-</body>
-</html>