Skip to content

compat

python engine compatibility module.

Examples:

from pyrevit.compat import IRONPY2711
from pyrevit.compat import safe_strtype

Attributes

PY2 = sys.version_info[0] == 2 module-attribute

PY3 = sys.version_info[0] == 3 module-attribute

IRONPY2711 = sys.version_info[:3] == (2, 7, 11) module-attribute

IRONPY340 = sys.version_info[:3] == (3, 4, 0) module-attribute

safe_strtype = str module-attribute

Functions

urlopen(url)

Urlopen wrapper.

Parameters:

Name Type Description Default
url str

request url

required
Source code in pyrevitlib/pyrevit/compat.py
def urlopen(url):
    """Urlopen wrapper.

    Args:
        url (str): request url
    """
    if PY3:
        return urllib.request.urlopen(url)
    return urllib2.urlopen(url)

make_request(url, headers, data)

Urlopen wrapper to create and send a request.

Parameters:

Name Type Description Default
url str

request url

required
headers dict[str, str]

headers

required
data bytes | None

request data

required
Source code in pyrevitlib/pyrevit/compat.py
def make_request(url, headers, data):
    """Urlopen wrapper to create and send a request.

    Args:
        url (str): request url
        headers (dict[str, str]): headers
        data (bytes | None): request data
    """
    if PY3:
        req = urllib.request.Request(url, headers, data)
        urllib.request.urlopen(req).close()
        return

    req = urllib2.Request(url, headers, data)
    urllib2.urlopen(req).close()