root / image_creator / os_type / __init__.py @ aa2062ba
History | View | Annotate | Download (1 kB)
1 |
#!/usr/bin/env python
|
---|---|
2 |
|
3 |
class OSBase(object): |
4 |
def __init__(self, rootdev, ghandler): |
5 |
self.root = rootdev
|
6 |
self.g = ghandler
|
7 |
|
8 |
def get_metadata(self): |
9 |
meta = {} |
10 |
meta["OSFAMILY"] = self.g.inspect_get_type(self.root) |
11 |
meta["OS"] = self.g.inspect_get_distro(self.root) |
12 |
meta["description"] = self.g.inspect_get_product_name(self.root) |
13 |
|
14 |
return meta
|
15 |
|
16 |
def mount_all(self): |
17 |
mps = g.inspect_get_mountpoints(self.root)
|
18 |
# Sort the keys to mount the fs in a correct order.
|
19 |
# / should be mounted befor /boot, etc
|
20 |
def compare (a, b): |
21 |
if len(a[0]) > len(b[0]): return 1 |
22 |
elif len(a[0]) == len(b[0]): return 0 |
23 |
else: return -1 |
24 |
mps.sort(compare) |
25 |
for mp, dev in mps: |
26 |
try:
|
27 |
self.g.mount(dev, mp)
|
28 |
except RuntimeError as msg: |
29 |
print "%s (ignored)" % msg |
30 |
|
31 |
def cleanup_sensitive_data(self): |
32 |
raise NotImplementedError |
33 |
|
34 |
# vim: set sta sts=4 shiftwidth=4 sw=4 et ai :
|