/silverlining/init-files/sitecustomize.py

https://bitbucket.org/ianb/silverlining/ · Python · 35 lines · 29 code · 4 blank · 2 comment · 6 complexity · 3976e17858cacd24dfff25c127f1efd2 MD5 · raw file

  1. import os
  2. import site
  3. import sys
  4. site.addsitedir(os.path.abspath(os.path.join(__file__, '../../python')))
  5. import warnings
  6. from ConfigParser import ConfigParser
  7. def add_silversupport():
  8. silverlining_conf = os.path.join(os.environ['HOME'], '.silverlining.conf')
  9. parser = ConfigParser()
  10. parser.read([silverlining_conf])
  11. if (not parser.has_section('environment')
  12. or not parser.has_option('environment', 'silverlining_location')):
  13. warnings.warn('Problem loading %s: no [environment] silverlining_location setting'
  14. % silverlining_conf)
  15. return
  16. # Now we make silversupport importable:
  17. silverlining_location = parser.get('environment', 'silverlining_location')
  18. silversupport_location = os.path.dirname(silverlining_location)
  19. sys.path.append(silversupport_location)
  20. if (not os.environ.get('SILVER_VERSION', '').startswith('silverlining/')
  21. and not os.path.exists('/usr/local/share/silverlining/lib')):
  22. # Not a production environment...
  23. add_silversupport()
  24. from silversupport.appconfig import AppConfig
  25. app_config = AppConfig(os.path.abspath(os.path.join(__file__, '../../../app.ini')))
  26. app_config.activate_services(os.environ)
  27. os.environ.setdefault('SILVER_VERSION', 'devel/0.0')
  28. try:
  29. import silvercustomize
  30. except ImportError:
  31. pass