PageRenderTime 42ms CodeModel.GetById 2ms RepoModel.GetById 0ms app.codeStats 0ms

/silverlining/mgr-scripts/disable.py

https://bitbucket.org/ianb/silverlining/
Python | 39 lines | 32 code | 6 blank | 1 comment | 9 complexity | fb4010cfec7a32c8a294ee0a3d9fa414 MD5 | raw file
Possible License(s): GPL-2.0
  1. #!/usr/bin/env python
  2. import sys
  3. sys.path.insert(0, '/usr/local/share/silverlining/lib')
  4. import optparse
  5. from silversupport import disabledapps
  6. from silversupport import appdata
  7. parser = optparse.OptionParser(
  8. usage='%prog application')
  9. parser.add_option(
  10. '--enable',
  11. action='store_true',
  12. help='renable a previously disabled application')
  13. def main():
  14. options, args = parser.parse_args()
  15. application, = args
  16. in_use = any(True for instance, uses in appdata.all_app_instances().items()
  17. if instance.startswith(application + '.') and uses)
  18. if not in_use:
  19. sys.stderr.write("%s is not in use in appdata.map\n" % application)
  20. return 1
  21. if options.enable:
  22. if not disabledapps.is_disabled(application):
  23. sys.stderr.write("%s is not disabled\n" % application)
  24. return 1
  25. disabledapps.enable_application(application)
  26. else:
  27. if disabledapps.is_disabled(application):
  28. sys.stderr.write("%s is already disabled\n" % application)
  29. return 1
  30. disabledapps.disable_application(application)
  31. return 0
  32. if __name__ == '__main__':
  33. sys.exit(main())