Edgewall Software

Ticket #3897: SiteconfigSharedDir.diff

File SiteconfigSharedDir.diff, 1.3 KB (added by ilias@…, 2 years ago)
  • config.py

     
    413413        components.sort(compare) 
    414414        return components 
    415415 
     416def get_dirname(name): 
     417    special_dirs = {'wiki': 'wiki-default', 'macros': 'wiki-macros'} 
     418    return  special_dirs.get(name, name) 
    416419 
    417420def default_dir(name): 
     421    dirname = get_dirname(name) 
    418422    try: 
    419423        from trac import siteconfig 
    420         return getattr(siteconfig, '__default_%s_dir__' % name) 
     424        if hasattr(siteconfig, '__default_%s_dir__' % name): 
     425            return getattr(siteconfig, '__default_%s_dir__' % name) 
     426 
     427        if hasattr(siteconfig, '__shared_dir__'): 
     428            shared_dir = getattr(siteconfig, '__shared_dir__') 
     429            return os.path.join(shared_dir, dirname) 
     430 
    421431    except ImportError: 
    422432        # This is not a regular install with a generated siteconfig.py file, 
    423433        # so try to figure out the directory based on common setups 
    424         special_dirs = {'wiki': 'wiki-default', 'macros': 'wiki-macros'} 
    425         dirname = special_dirs.get(name, name) 
    426  
    427434        # First assume we're being executing directly form the source directory 
    428435        import trac 
    429436        path = os.path.join(os.path.split(os.path.dirname(trac.__file__))[0],