def cmd_upload(args): # TODO: fix upload to web interface if not os.path.exists(COMO_BATTERY_FILE): error("No como database.") else: if is_osx: url = SERVER_URL + "/upload" cmd = "ioreg -l | awk '/IOPlatformSerialNumber/ " + \ "{ split($0, line, \"\\\"\"); printf(\"%s\\n\", line[4]); }'" computer_serial = subprocess.check_output( cmd, shell=True).translate(None, '\n') bat = get_battery() model = subprocess.check_output( "sysctl -n hw.model", shell=True).rstrip("\n") data = { 'computer': hashlib.md5(computer_serial).hexdigest(), 'model': model, 'battery': hashlib.md5(bat['serial']).hexdigest(), 'design': bat['designcap'], 'age': get_age() } files = {'como': open(COMO_BATTERY_FILE, 'rb')} response = requests.post(url, files=files, data=data) if response.status_code == requests.codes.ok: puts("data uploaded") else: puts("upload failed") else: message("no uploading on this operating system")
def cmd_upload(args): if not os.path.exists(COMO_BATTERY_FILE): error("No como database.") else: if is_osx: url = SERVER_URL + "/upload" cmd = "ioreg -l | awk '/IOPlatformSerialNumber/ " + \ "{ split($0, line, \"\\\"\"); printf(\"%s\\n\", line[4]); }'" computer_serial = subprocess.check_output( cmd, shell=True).translate(None, '\n') bat = get_battery() model = subprocess.check_output( "sysctl -n hw.model", shell=True).rstrip("\n") data = { 'computer': hashlib.md5(computer_serial).hexdigest(), 'model': model, 'battery': hashlib.md5(bat['serial']).hexdigest(), 'design': bat['designcap'], 'age': get_age() } files = {'como': open(COMO_BATTERY_FILE, 'rb')} response = requests.post(url, files=files, data=data) if response.status_code == requests.codes.ok: puts("data uploaded") else: puts("upload failed") else: message("no uploading on this operating system")
def cmd_info(args): title("Como Info") bat = get_battery() with indent(6, quote=' '): puts("Battery Serial: %s" % bat['serial']) puts("Max Capacity: %s" % bat['maxcap']) puts("Capacity: %s" % bat['curcap']) if is_osx or is_lin: puts("Number of cycles: %s" % bat['cycles']) puts("Design Capacity: %s" % bat['designcap']) if is_osx: puts("Mac model: %s" % subprocess.check_output( "sysctl -n hw.model", shell=True).rstrip("\n")) puts("Age of Computer: %s months" % get_age()) # puts("Temperature: %s ℃" % (int(bat['temp']) / 100.)) if is_osx or is_win: puts("Voltage: %s" % bat['voltage']) puts("Amperage: %s" % bat['amperage']) puts("Wattage: %s" % (bat['voltage'] * bat['amperage'] / 1000000.))