#!/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]