31 lines
884 B
Python
31 lines
884 B
Python
|
#!/usr/bin/env python
|
||
|
# -*- coding: utf-8 -*-
|
||
|
import os
|
||
|
import sys
|
||
|
|
||
|
def fix_sys_path(current_path):
|
||
|
"""
|
||
|
logic to have always the correct sys.path
|
||
|
'', web2py/gluon, web2py/site-packages, web2py/ ...
|
||
|
"""
|
||
|
|
||
|
def add_path_first(path):
|
||
|
sys.path = [path] + [p for p in sys.path if (
|
||
|
not p == path and not p == (path + '/'))]
|
||
|
|
||
|
path = os.path.dirname(os.path.abspath(current_path))
|
||
|
|
||
|
if not os.path.isfile(os.path.join(path,'web2py.py')):
|
||
|
i = 0
|
||
|
while i<10:
|
||
|
i += 1
|
||
|
if os.path.exists(os.path.join(path,'web2py.py')):
|
||
|
break
|
||
|
path = os.path.abspath(os.path.join(path, '..'))
|
||
|
|
||
|
paths = [path,
|
||
|
os.path.abspath(os.path.join(path, 'site-packages')),
|
||
|
os.path.abspath(os.path.join(path, 'gluon')),
|
||
|
'']
|
||
|
[add_path_first(path) for path in paths]
|