PageRenderTime 3ms CodeModel.GetById 0ms RepoModel.GetById 0ms app.codeStats 1ms

/silverlining/mgr-scripts/restore-services.py

https://bitbucket.org/ianb/silverlining/
Python | 34 lines | 29 code | 4 blank | 1 comment | 4 complexity | 4391ec85d43fd48e4af2baa294434c57 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 os
  5. import optparse
  6. import shutil
  7. from silversupport.appconfig import AppConfig
  8. from silversupport import transfermethods
  9. parser = optparse.OptionParser(
  10. usage='%prog LOCAL_BACKUP LOCATION')
  11. parser.add_option(
  12. '--keep', action='store_true',
  13. help="Keep the archive after restoring")
  14. def main():
  15. options, args = parser.parse_args()
  16. local_backup = args[0]
  17. location = args[1]
  18. app_config = AppConfig.from_location(location)
  19. if transfermethods.is_archive(local_backup):
  20. dir = transfermethods.make_temp_name()
  21. transfermethods.unarchive(local_backup, dir)
  22. if not options.keep:
  23. os.unlink(local_backup)
  24. options.keep = False
  25. local_backup = dir
  26. app_config.restore_services(local_backup)
  27. if not options.keep:
  28. shutil.rmtree(local_backup)
  29. if __name__ == '__main__':
  30. main()