""" hug_pdp.py Use hug with psutil to show disk partition info via Python, CLI or Web interfaces. Copyright 2017 Vasudev Ram Web site: https://vasudevram.github.io Blog: http://jugad2.blogspot.com Product store: https://gumroad.com/vasudevram """ import sys import psutil import hug def get_disk_partition_data(): dps = psutil.disk_partitions() fmt_str = "{:<8} {:<7} {:<7}" result = {} result['header'] = fmt_str.format("Drive", "Type", "Opts") result['detail'] = {} for i in (0, 2): dp = dps[i] result['detail'][str(i)] = fmt_str.format(dp.device, dp.fstype, dp.opts) return result @hug.cli() @hug.get(examples='drives=0,1') @hug.local() def pdp(): """Get disk partition data""" result = get_disk_partition_data() return result @hug.cli() @hug.get(examples='') @hug.local() def pyver(): """Get Python version""" pyver = sys.version[:6] return pyver if __name__ == '__main__': pdp.interface.cli()