tint2/test/gather-battery-data.py

46 lines
1 KiB
Python
Raw Normal View History

2017-09-17 13:20:38 +00:00
#!/usr/bin/env python
import os
import os.path
import tarfile
try:
from StringIO import StringIO
except ImportError:
from io import StringIO
class TarWriter:
def __init__(self, out_name):
print("Creating: " + out_name)
self.tar = tarfile.open(out_name, "w")
def add(self, path):
print("Adding: " + path)
if os.path.isfile(path):
metadata = self.tar.gettarinfo(path)
try:
with open(path) as f:
buf = f.read()
fbuf = StringIO(buf)
metadata.size = len(buf)
self.tar.addfile(metadata, fbuf)
fbuf.close()
except:
fbuf = StringIO()
metadata.size = 0
self.tar.addfile(metadata, fbuf)
fbuf.close()
def close(self):
self.tar.close()
writer = TarWriter("battery.tar")
for root, dirs, files in os.walk("/sys/class/power_supply"):
for device in dirs:
for root2, dirs2, files2 in os.walk(root + "/" + device):
for f in files2:
writer.add(root2 + "/" + f)
writer.close()
print("Finished.")