author | robin <robin@reportlab.com> |
Fri, 26 May 2017 09:21:13 +0100 | |
changeset 4363 | fa1c8635929e |
parent 4362 | 58ec5b88b997 |
child 4367 | 9960d82643bf |
permissions | -rw-r--r-- |
4303
1dbe6269e831
improved support for images in renderPM/renderSVG bug report from Claude Paroz; version --> 3.3.26
robin
parents:
4302
diff
changeset
|
1 |
#Copyright ReportLab Europe Ltd. 2000-2017 |
494 | 2 |
#see license.txt for license details |
681 | 3 |
__doc__="""The Reportlab PDF generation library.""" |
4363
fa1c8635929e
attempted fix for bitbucket #issue 114 reported by Martin Groen; version-->3.4.14
robin <robin@reportlab.com>
parents:
4362
diff
changeset
|
4 |
Version = "3.4.14" |
4194
9ecdf084933c
allow Table.repeatRows to be a list/tuple; version-->3.1.59
robin
parents:
4192
diff
changeset
|
5 |
__version__=Version |
4363
fa1c8635929e
attempted fix for bitbucket #issue 114 reported by Martin Groen; version-->3.4.14
robin <robin@reportlab.com>
parents:
4362
diff
changeset
|
6 |
__date__='20170526' |
2618
19c47ce76a0c
changed version and added warning for old Python users
andy
parents:
2407
diff
changeset
|
7 |
|
4260 | 8 |
import sys, os |
2618
19c47ce76a0c
changed version and added warning for old Python users
andy
parents:
2407
diff
changeset
|
9 |
|
3940
39b5e5c82ea1
reportlab/__init__.py: fix allowed version checks & remove cruft
robin
parents:
3820
diff
changeset
|
10 |
if sys.version_info[0:2]!=(2, 7) and sys.version_info<(3, 3): |
39b5e5c82ea1
reportlab/__init__.py: fix allowed version checks & remove cruft
robin
parents:
3820
diff
changeset
|
11 |
raise ImportError("""reportlab requires Python 2.7+ or 3.3+; 3.0-3.2 are not supported.""") |
3820 | 12 |
|
13 |
#define these early in reportlab's life |
|
14 |
isPy3 = sys.version_info[0]==3 |
|
15 |
if isPy3: |
|
16 |
def cmp(a,b): |
|
17 |
return -1 if a<b else (1 if a>b else 0) |
|
18 |
||
19 |
import builtins |
|
20 |
builtins.cmp = cmp |
|
4005
b7dee7fcd927
utils.py: move xrange hack to reportlab.__init__, add rl_add_builtins utility
robin
parents:
3990
diff
changeset
|
21 |
builtins.xrange = range |
3820 | 22 |
del cmp, builtins |
4260 | 23 |
def _fake_import(fn,name): |
24 |
from importlib import machinery |
|
25 |
m = machinery.SourceFileLoader(name,fn) |
|
26 |
try: |
|
4261 | 27 |
sys.modules[name] = m.load_module(name) |
4260 | 28 |
except FileNotFoundError: |
29 |
raise ImportError('file %s not found' % ascii(fn)) |
|
3820 | 30 |
else: |
31 |
from future_builtins import ascii |
|
32 |
import __builtin__ |
|
33 |
__builtin__.ascii = ascii |
|
3990
b484eaf71af9
reportlab/__init__.py: fix del to delete what we imported (not its alias)
robin
parents:
3946
diff
changeset
|
34 |
del ascii, __builtin__ |
4260 | 35 |
def _fake_import(fn,name): |
36 |
if os.path.isfile(fn): |
|
37 |
import imp |
|
38 |
with open(fn,'rb') as f: |
|
4261 | 39 |
sys.modules[name] = imp.load_source(name,fn,f) |
4032
5106a9463326
__init__.py: attempt import of reportlab.local_rl_mods for customization
robin
parents:
4031
diff
changeset
|
40 |
|
4050
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
41 |
#try to use dynamic modifications from |
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
42 |
#reportlab.local_rl_mods.py |
4053 | 43 |
#reportlab_mods.py or ~/.reportlab_mods |
4032
5106a9463326
__init__.py: attempt import of reportlab.local_rl_mods for customization
robin
parents:
4031
diff
changeset
|
44 |
try: |
5106a9463326
__init__.py: attempt import of reportlab.local_rl_mods for customization
robin
parents:
4031
diff
changeset
|
45 |
import reportlab.local_rl_mods |
5106a9463326
__init__.py: attempt import of reportlab.local_rl_mods for customization
robin
parents:
4031
diff
changeset
|
46 |
except ImportError: |
5106a9463326
__init__.py: attempt import of reportlab.local_rl_mods for customization
robin
parents:
4031
diff
changeset
|
47 |
pass |
4050
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
48 |
|
4363
fa1c8635929e
attempted fix for bitbucket #issue 114 reported by Martin Groen; version-->3.4.14
robin <robin@reportlab.com>
parents:
4362
diff
changeset
|
49 |
if not isPy3: |
fa1c8635929e
attempted fix for bitbucket #issue 114 reported by Martin Groen; version-->3.4.14
robin <robin@reportlab.com>
parents:
4362
diff
changeset
|
50 |
PermissionError = ImportError |
fa1c8635929e
attempted fix for bitbucket #issue 114 reported by Martin Groen; version-->3.4.14
robin <robin@reportlab.com>
parents:
4362
diff
changeset
|
51 |
|
4050
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
52 |
try: |
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
53 |
import reportlab_mods #application specific modifications can be anywhere on python path |
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
54 |
except ImportError: |
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
55 |
try: |
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
56 |
_fake_import(os.path.expanduser(os.path.join('~','.reportlab_mods')),'reportlab_mods') |
4363
fa1c8635929e
attempted fix for bitbucket #issue 114 reported by Martin Groen; version-->3.4.14
robin <robin@reportlab.com>
parents:
4362
diff
changeset
|
57 |
except (ImportError,KeyError,PermissionError): |
4050
a899d3baa5f4
__init__.py, rl_config.py & rl_settings.py: revamp initialization yet again
robin
parents:
4047
diff
changeset
|
58 |
pass |