[IMP] openerp.__init__ can imports all its submodules.
- The config parser is given sys.args explicitely - addons.__init__ changed so it can be imported in openerp.__init__ bzr revid: vmt@openerp.com-20110208092923-42mj8sb8mkfbiytw
This commit is contained in:
parent
ec17bb9e74
commit
45239ae493
|
@ -56,7 +56,7 @@ if os.name == 'posix':
|
||||||
# import the tools module so that the commandline parameters are parsed
|
# import the tools module so that the commandline parameters are parsed
|
||||||
#-----------------------------------------------------------------------
|
#-----------------------------------------------------------------------
|
||||||
import openerp.tools as tools
|
import openerp.tools as tools
|
||||||
tools.config.parse_config()
|
tools.config.parse_config(sys.argv[1:])
|
||||||
|
|
||||||
#----------------------------------------------------------
|
#----------------------------------------------------------
|
||||||
# get logger
|
# get logger
|
||||||
|
|
|
@ -19,26 +19,21 @@
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
# We don't want addons to be imported right now;
|
import addons
|
||||||
# the commented imports import addons.
|
|
||||||
# This will change when addons.__init__ and addons.base
|
|
||||||
# are cleaned.
|
|
||||||
|
|
||||||
#import addons
|
|
||||||
import ir
|
import ir
|
||||||
import loglevels
|
import loglevels
|
||||||
import netsvc
|
import netsvc
|
||||||
import osv
|
import osv
|
||||||
#import pooler
|
import pooler
|
||||||
import pychart
|
import pychart
|
||||||
import release
|
import release
|
||||||
#import report
|
import report
|
||||||
import run_tests
|
import run_tests
|
||||||
#import service
|
import service
|
||||||
import sql_db
|
import sql_db
|
||||||
import test
|
import test
|
||||||
import tiny_socket
|
import tiny_socket
|
||||||
#import tools
|
import tools
|
||||||
import wizard
|
import wizard
|
||||||
import workflow
|
import workflow
|
||||||
|
|
||||||
|
|
|
@ -46,22 +46,30 @@ import logging
|
||||||
|
|
||||||
logger = netsvc.Logger()
|
logger = netsvc.Logger()
|
||||||
|
|
||||||
_ad = os.path.abspath(opj(tools.ustr(tools.config['root_path']), u'addons')) # default addons path (base)
|
_ad = os.path.dirname(__file__) # default addons path (base)
|
||||||
ad_paths= map(lambda m: os.path.abspath(tools.ustr(m.strip())), tools.config['addons_path'].split(','))
|
ad_paths = []
|
||||||
|
|
||||||
sys.path.insert(1, _ad)
|
|
||||||
|
|
||||||
ad_cnt=1
|
|
||||||
for adp in ad_paths:
|
|
||||||
if adp != _ad:
|
|
||||||
sys.path.insert(ad_cnt, adp)
|
|
||||||
ad_cnt+=1
|
|
||||||
|
|
||||||
ad_paths.append(_ad) # for get_module_path
|
|
||||||
|
|
||||||
# Modules already loaded
|
# Modules already loaded
|
||||||
loaded = []
|
loaded = []
|
||||||
|
|
||||||
|
def initialize_sys_path():
|
||||||
|
global ad_paths
|
||||||
|
|
||||||
|
if ad_paths:
|
||||||
|
return
|
||||||
|
|
||||||
|
ad_paths = map(lambda m: os.path.abspath(tools.ustr(m.strip())), tools.config['addons_path'].split(','))
|
||||||
|
|
||||||
|
sys.path.insert(1, _ad)
|
||||||
|
|
||||||
|
ad_cnt=1
|
||||||
|
for adp in ad_paths:
|
||||||
|
if adp != _ad:
|
||||||
|
sys.path.insert(ad_cnt, adp)
|
||||||
|
ad_cnt+=1
|
||||||
|
|
||||||
|
ad_paths.append(_ad) # for get_module_path
|
||||||
|
|
||||||
class Graph(dict):
|
class Graph(dict):
|
||||||
|
|
||||||
def addNode(self, name, deps):
|
def addNode(self, name, deps):
|
||||||
|
@ -798,6 +806,8 @@ def _check_module_names(cr, module_names):
|
||||||
|
|
||||||
def load_modules(db, force_demo=False, status=None, update_module=False):
|
def load_modules(db, force_demo=False, status=None, update_module=False):
|
||||||
|
|
||||||
|
initialize_sys_path()
|
||||||
|
|
||||||
# Backward compatibility: addons don't have to import openerp.xxx, they still can import xxx
|
# Backward compatibility: addons don't have to import openerp.xxx, they still can import xxx
|
||||||
for k, v in list(sys.modules.items()):
|
for k, v in list(sys.modules.items()):
|
||||||
if k.startswith('openerp.') and sys.modules.get(k[8:]) is None:
|
if k.startswith('openerp.') and sys.modules.get(k[8:]) is None:
|
||||||
|
|
|
@ -233,8 +233,10 @@ class configmanager(object):
|
||||||
security.add_option('--no-database-list', action="store_false", dest='list_db', help="disable the ability to return the list of databases")
|
security.add_option('--no-database-list', action="store_false", dest='list_db', help="disable the ability to return the list of databases")
|
||||||
parser.add_option_group(security)
|
parser.add_option_group(security)
|
||||||
|
|
||||||
def parse_config(self):
|
self.parse_config()
|
||||||
opt = self.parser.parse_args()[0]
|
|
||||||
|
def parse_config(self, args=[]):
|
||||||
|
opt = self.parser.parse_args(args)[0]
|
||||||
|
|
||||||
def die(cond, msg):
|
def die(cond, msg):
|
||||||
if cond:
|
if cond:
|
||||||
|
|
Loading…
Reference in New Issue