[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [61318] trunk/lib: Add generic python dir to lib, to bundle any python modules which don' t belong in Blenders repos.

Campbell Barton ideasman42 at gmail.com
Tue Mar 4 15:56:22 CET 2014


Revision: 61318
          https://developer.blender.org/rBL61318
Author:   campbellbarton
Date:     2014-03-04 14:56:22 +0000 (Tue, 04 Mar 2014)
Log Message:
-----------
Add generic python dir to lib, to bundle any python modules which don't belong in Blenders repos.

For now only include requests 2.2.1

Added Paths:
-----------
    trunk/lib/python/
    trunk/lib/python/README.txt
    trunk/lib/python/site-packages/
    trunk/lib/python/site-packages/requests/
    trunk/lib/python/site-packages/requests/__init__.py
    trunk/lib/python/site-packages/requests/adapters.py
    trunk/lib/python/site-packages/requests/api.py
    trunk/lib/python/site-packages/requests/auth.py
    trunk/lib/python/site-packages/requests/certs.py
    trunk/lib/python/site-packages/requests/compat.py
    trunk/lib/python/site-packages/requests/cookies.py
    trunk/lib/python/site-packages/requests/exceptions.py
    trunk/lib/python/site-packages/requests/hooks.py
    trunk/lib/python/site-packages/requests/models.py
    trunk/lib/python/site-packages/requests/packages/
    trunk/lib/python/site-packages/requests/packages/README.rst
    trunk/lib/python/site-packages/requests/packages/__init__.py
    trunk/lib/python/site-packages/requests/packages/chardet/
    trunk/lib/python/site-packages/requests/packages/chardet/__init__.py
    trunk/lib/python/site-packages/requests/packages/chardet/big5freq.py
    trunk/lib/python/site-packages/requests/packages/chardet/big5prober.py
    trunk/lib/python/site-packages/requests/packages/chardet/chardetect.py
    trunk/lib/python/site-packages/requests/packages/chardet/chardistribution.py
    trunk/lib/python/site-packages/requests/packages/chardet/charsetgroupprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/charsetprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/codingstatemachine.py
    trunk/lib/python/site-packages/requests/packages/chardet/compat.py
    trunk/lib/python/site-packages/requests/packages/chardet/constants.py
    trunk/lib/python/site-packages/requests/packages/chardet/cp949prober.py
    trunk/lib/python/site-packages/requests/packages/chardet/escprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/escsm.py
    trunk/lib/python/site-packages/requests/packages/chardet/eucjpprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/euckrfreq.py
    trunk/lib/python/site-packages/requests/packages/chardet/euckrprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/euctwfreq.py
    trunk/lib/python/site-packages/requests/packages/chardet/euctwprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/gb2312freq.py
    trunk/lib/python/site-packages/requests/packages/chardet/gb2312prober.py
    trunk/lib/python/site-packages/requests/packages/chardet/hebrewprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/jisfreq.py
    trunk/lib/python/site-packages/requests/packages/chardet/jpcntx.py
    trunk/lib/python/site-packages/requests/packages/chardet/langbulgarianmodel.py
    trunk/lib/python/site-packages/requests/packages/chardet/langcyrillicmodel.py
    trunk/lib/python/site-packages/requests/packages/chardet/langgreekmodel.py
    trunk/lib/python/site-packages/requests/packages/chardet/langhebrewmodel.py
    trunk/lib/python/site-packages/requests/packages/chardet/langhungarianmodel.py
    trunk/lib/python/site-packages/requests/packages/chardet/langthaimodel.py
    trunk/lib/python/site-packages/requests/packages/chardet/latin1prober.py
    trunk/lib/python/site-packages/requests/packages/chardet/mbcharsetprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/mbcsgroupprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/mbcssm.py
    trunk/lib/python/site-packages/requests/packages/chardet/sbcharsetprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/sbcsgroupprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/sjisprober.py
    trunk/lib/python/site-packages/requests/packages/chardet/universaldetector.py
    trunk/lib/python/site-packages/requests/packages/chardet/utf8prober.py
    trunk/lib/python/site-packages/requests/packages/urllib3/
    trunk/lib/python/site-packages/requests/packages/urllib3/__init__.py
    trunk/lib/python/site-packages/requests/packages/urllib3/_collections.py
    trunk/lib/python/site-packages/requests/packages/urllib3/connection.py
    trunk/lib/python/site-packages/requests/packages/urllib3/connectionpool.py
    trunk/lib/python/site-packages/requests/packages/urllib3/contrib/
    trunk/lib/python/site-packages/requests/packages/urllib3/contrib/__init__.py
    trunk/lib/python/site-packages/requests/packages/urllib3/contrib/ntlmpool.py
    trunk/lib/python/site-packages/requests/packages/urllib3/contrib/pyopenssl.py
    trunk/lib/python/site-packages/requests/packages/urllib3/exceptions.py
    trunk/lib/python/site-packages/requests/packages/urllib3/fields.py
    trunk/lib/python/site-packages/requests/packages/urllib3/filepost.py
    trunk/lib/python/site-packages/requests/packages/urllib3/packages/
    trunk/lib/python/site-packages/requests/packages/urllib3/packages/__init__.py
    trunk/lib/python/site-packages/requests/packages/urllib3/packages/ordered_dict.py
    trunk/lib/python/site-packages/requests/packages/urllib3/packages/six.py
    trunk/lib/python/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/
    trunk/lib/python/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/__init__.py
    trunk/lib/python/site-packages/requests/packages/urllib3/packages/ssl_match_hostname/_implementation.py
    trunk/lib/python/site-packages/requests/packages/urllib3/poolmanager.py
    trunk/lib/python/site-packages/requests/packages/urllib3/request.py
    trunk/lib/python/site-packages/requests/packages/urllib3/response.py
    trunk/lib/python/site-packages/requests/packages/urllib3/util.py
    trunk/lib/python/site-packages/requests/sessions.py
    trunk/lib/python/site-packages/requests/status_codes.py
    trunk/lib/python/site-packages/requests/structures.py
    trunk/lib/python/site-packages/requests/utils.py

Added: trunk/lib/python/README.txt
===================================================================
--- trunk/lib/python/README.txt	                        (rev 0)
+++ trunk/lib/python/README.txt	2014-03-04 14:56:22 UTC (rev 61318)
@@ -0,0 +1,7 @@
+This directory is for Python modules shared between all platforms,
+which don't belong in Blender's source dir.
+
+Paths:
+
+- `site-packages`: accessed as an extern from `lib/$PLATFORM/release/site-packages`
+

Added: trunk/lib/python/site-packages/requests/__init__.py
===================================================================
--- trunk/lib/python/site-packages/requests/__init__.py	                        (rev 0)
+++ trunk/lib/python/site-packages/requests/__init__.py	2014-03-04 14:56:22 UTC (rev 61318)
@@ -0,0 +1,77 @@
+# -*- coding: utf-8 -*-
+
+#   __
+#  /__)  _  _     _   _ _/   _
+# / (   (- (/ (/ (- _)  /  _)
+#          /
+
+"""
+requests HTTP library
+~~~~~~~~~~~~~~~~~~~~~
+
+Requests is an HTTP library, written in Python, for human beings. Basic GET
+usage:
+
+   >>> import requests
+   >>> r = requests.get('http://python.org')
+   >>> r.status_code
+   200
+   >>> 'Python is a programming language' in r.content
+   True
+
+... or POST:
+
+   >>> payload = dict(key1='value1', key2='value2')
+   >>> r = requests.post("http://httpbin.org/post", data=payload)
+   >>> print(r.text)
+   {
+     ...
+     "form": {
+       "key2": "value2",
+       "key1": "value1"
+     },
+     ...
+   }
+
+The other HTTP methods are supported - see `requests.api`. Full documentation
+is at <http://python-requests.org>.
+
+:copyright: (c) 2014 by Kenneth Reitz.
+:license: Apache 2.0, see LICENSE for more details.
+
+"""
+
+__title__ = 'requests'
+__version__ = '2.2.1'
+__build__ = 0x020201
+__author__ = 'Kenneth Reitz'
+__license__ = 'Apache 2.0'
+__copyright__ = 'Copyright 2014 Kenneth Reitz'
+
+# Attempt to enable urllib3's SNI support, if possible
+try:
+    from .packages.urllib3.contrib import pyopenssl
+    pyopenssl.inject_into_urllib3()
+except ImportError:
+    pass
+
+from . import utils
+from .models import Request, Response, PreparedRequest
+from .api import request, get, head, post, patch, put, delete, options
+from .sessions import session, Session
+from .status_codes import codes
+from .exceptions import (
+    RequestException, Timeout, URLRequired,
+    TooManyRedirects, HTTPError, ConnectionError
+)
+
+# Set default logging handler to avoid "No handler found" warnings.
+import logging
+try:  # Python 2.7+
+    from logging import NullHandler
+except ImportError:
+    class NullHandler(logging.Handler):
+        def emit(self, record):
+            pass
+
+logging.getLogger(__name__).addHandler(NullHandler())

Added: trunk/lib/python/site-packages/requests/adapters.py
===================================================================
--- trunk/lib/python/site-packages/requests/adapters.py	                        (rev 0)
+++ trunk/lib/python/site-packages/requests/adapters.py	2014-03-04 14:56:22 UTC (rev 61318)
@@ -0,0 +1,396 @@
+# -*- coding: utf-8 -*-
+
+"""
+requests.adapters
+~~~~~~~~~~~~~~~~~
+
+This module contains the transport adapters that Requests uses to define
+and maintain connections.
+"""
+
+import socket
+
+from .models import Response
+from .packages.urllib3.poolmanager import PoolManager, proxy_from_url
+from .packages.urllib3.response import HTTPResponse
+from .packages.urllib3.util import Timeout as TimeoutSauce
+from .compat import urlparse, basestring, urldefrag, unquote
+from .utils import (DEFAULT_CA_BUNDLE_PATH, get_encoding_from_headers,
+                    except_on_missing_scheme, get_auth_from_url)
+from .structures import CaseInsensitiveDict
+from .packages.urllib3.exceptions import MaxRetryError
+from .packages.urllib3.exceptions import TimeoutError
+from .packages.urllib3.exceptions import SSLError as _SSLError
+from .packages.urllib3.exceptions import HTTPError as _HTTPError
+from .packages.urllib3.exceptions import ProxyError as _ProxyError
+from .cookies import extract_cookies_to_jar
+from .exceptions import ConnectionError, Timeout, SSLError, ProxyError
+from .auth import _basic_auth_str
+
+DEFAULT_POOLBLOCK = False
+DEFAULT_POOLSIZE = 10
+DEFAULT_RETRIES = 0
+
+
+class BaseAdapter(object):
+    """The Base Transport Adapter"""
+
+    def __init__(self):
+        super(BaseAdapter, self).__init__()
+
+    def send(self):
+        raise NotImplementedError
+
+    def close(self):
+        raise NotImplementedError
+
+
+class HTTPAdapter(BaseAdapter):
+    """The built-in HTTP Adapter for urllib3.
+
+    Provides a general-case interface for Requests sessions to contact HTTP and
+    HTTPS urls by implementing the Transport Adapter interface. This class will
+    usually be created by the :class:`Session <Session>` class under the
+    covers.
+
+    :param pool_connections: The number of urllib3 connection pools to cache.
+    :param pool_maxsize: The maximum number of connections to save in the pool.
+    :param int max_retries: The maximum number of retries each connection
+        should attempt. Note, this applies only to failed connections and
+        timeouts, never to requests where the server returns a response.
+    :param pool_block: Whether the connection pool should block for connections.
+
+    Usage::
+
+      >>> import requests
+      >>> s = requests.Session()
+      >>> a = requests.adapters.HTTPAdapter(max_retries=3)
+      >>> s.mount('http://', a)
+    """
+    __attrs__ = ['max_retries', 'config', '_pool_connections', '_pool_maxsize',
+                 '_pool_block']
+
+    def __init__(self, pool_connections=DEFAULT_POOLSIZE,
+                 pool_maxsize=DEFAULT_POOLSIZE, max_retries=DEFAULT_RETRIES,
+                 pool_block=DEFAULT_POOLBLOCK):
+        self.max_retries = max_retries
+        self.config = {}
+        self.proxy_manager = {}
+
+        super(HTTPAdapter, self).__init__()
+
+        self._pool_connections = pool_connections
+        self._pool_maxsize = pool_maxsize
+        self._pool_block = pool_block
+
+        self.init_poolmanager(pool_connections, pool_maxsize, block=pool_block)
+
+    def __getstate__(self):
+        return dict((attr, getattr(self, attr, None)) for attr in
+                    self.__attrs__)
+
+    def __setstate__(self, state):
+        # Can't handle by adding 'proxy_manager' to self.__attrs__ because
+        # because self.poolmanager uses a lambda function, which isn't pickleable.
+        self.proxy_manager = {}
+        self.config = {}
+
+        for attr, value in state.items():
+            setattr(self, attr, value)
+
+        self.init_poolmanager(self._pool_connections, self._pool_maxsize,
+                              block=self._pool_block)
+
+    def init_poolmanager(self, connections, maxsize, block=DEFAULT_POOLBLOCK):
+        """Initializes a urllib3 PoolManager. This method should not be called
+        from user code, and is only exposed for use when subclassing the
+        :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
+
+        :param connections: The number of urllib3 connection pools to cache.
+        :param maxsize: The maximum number of connections to save in the pool.
+        :param block: Block when no free connections are available.
+        """
+        # save these values for pickling
+        self._pool_connections = connections
+        self._pool_maxsize = maxsize
+        self._pool_block = block
+
+        self.poolmanager = PoolManager(num_pools=connections, maxsize=maxsize,
+                                       block=block)
+
+    def cert_verify(self, conn, url, verify, cert):
+        """Verify a SSL certificate. This method should not be called from user
+        code, and is only exposed for use when subclassing the
+        :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
+
+        :param conn: The urllib3 connection object associated with the cert.
+        :param url: The requested URL.
+        :param verify: Whether we should actually verify the certificate.
+        :param cert: The SSL certificate to verify.
+        """
+        if url.lower().startswith('https') and verify:
+
+            cert_loc = None
+
+            # Allow self-specified cert location.
+            if verify is not True:
+                cert_loc = verify
+
+            if not cert_loc:
+                cert_loc = DEFAULT_CA_BUNDLE_PATH
+
+            if not cert_loc:
+                raise Exception("Could not find a suitable SSL CA certificate bundle.")
+
+            conn.cert_reqs = 'CERT_REQUIRED'
+            conn.ca_certs = cert_loc
+        else:
+            conn.cert_reqs = 'CERT_NONE'
+            conn.ca_certs = None
+
+        if cert:
+            if not isinstance(cert, basestring):
+                conn.cert_file = cert[0]
+                conn.key_file = cert[1]
+            else:
+                conn.cert_file = cert
+
+    def build_response(self, req, resp):
+        """Builds a :class:`Response <requests.Response>` object from a urllib3
+        response. This should not be called from user code, and is only exposed
+        for use when subclassing the
+        :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`
+
+        :param req: The :class:`PreparedRequest <PreparedRequest>` used to generate the response.
+        :param resp: The urllib3 response object.
+        """
+        response = Response()
+
+        # Fallback to None if there's no status_code, for whatever reason.
+        response.status_code = getattr(resp, 'status', None)
+
+        # Make headers case-insensitive.
+        response.headers = CaseInsensitiveDict(getattr(resp, 'headers', {}))
+
+        # Set encoding.
+        response.encoding = get_encoding_from_headers(response.headers)
+        response.raw = resp
+        response.reason = response.raw.reason
+
+        if isinstance(req.url, bytes):
+            response.url = req.url.decode('utf-8')
+        else:
+            response.url = req.url
+
+        # Add new cookies from the server.
+        extract_cookies_to_jar(response.cookies, req, resp)
+
+        # Give the Response some context.
+        response.request = req
+        response.connection = self
+
+        return response
+
+    def get_connection(self, url, proxies=None):
+        """Returns a urllib3 connection for the given URL. This should not be
+        called from user code, and is only exposed for use when subclassing the
+        :class:`HTTPAdapter <requests.adapters.HTTPAdapter>`.
+

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list