You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

31 lines
1.1 KiB

  1. from argparse import ArgumentDefaultsHelpFormatter as def_form
  2. import nilmdb.client
  3. from nilmdb.utils.printf import printf
  4. from nilmdb.utils import human_size
  5. def setup(self, sub):
  6. cmd = sub.add_parser("info", help="Server information",
  7. formatter_class=def_form,
  8. description="""
  9. List information about the server, like
  10. version.
  11. """)
  12. cmd.set_defaults(handler=cmd_info)
  13. return cmd
  14. def cmd_info(self):
  15. """Print info about the server"""
  16. printf("Client version: %s\n", nilmdb.__version__)
  17. printf("Server version: %s\n", self.client.version())
  18. printf("Server URL: %s\n", self.client.geturl())
  19. dbinfo = self.client.dbinfo()
  20. printf("Server database path: %s\n", dbinfo["path"])
  21. for (desc, field) in [("used by NilmDB", "size"),
  22. ("used by other", "other"),
  23. ("reserved", "reserved"),
  24. ("free", "free")]:
  25. printf("Server disk space %s: %s\n", desc, human_size(dbinfo[field]))