1 |
I'm not sure exactly how we should handle complex data types. esammer |
2 |
mentionded that we should try and stay away from defining new classes |
3 |
for specific data types. however, that may complicate things even |
4 |
more. Here are some of my thoughts for non-class oriented complex data |
5 |
types: |
6 |
|
7 |
PartitionDB: |
8 |
{ <device1> : <partition table record (dict)>, <device2> : <partition |
9 |
table record (dict)>, etc... } |
10 |
|
11 |
'<device>' is a string that composes the 'major'. (ie. '/dev/hda') |
12 |
|
13 |
|
14 |
Partition Table Record: |
15 |
{ <minor> : <partition information (tuple)>, <minor> : <partition |
16 |
information (tuple)>, etc... } |
17 |
minor is the number of the partition. (ie. '/dev/hda1' would be, |
18 |
<device> == '/dev/hda' and <minor> == 1 |
19 |
|
20 |
|
21 |
Partition Information: |
22 |
( <size in MB (int)>, <partition type (string)>, <mount point (string)> |
23 |
) |
24 |
|
25 |
Partition types consist of: |
26 |
'ext2', 'ext3', 'reiserfs', 'xfs', 'jfs', 'swap', 'extended', or |
27 |
'nfs'. More may be added later. |
28 |
|
29 |
Mount point is where the partition/nfs-export should be mounted. (ie. |
30 |
'/home' or '/usr/portage') |
31 |
Mount point should not contain the liveCD prefix point (ie. |
32 |
'/mnt/gentoo/home' is not correct) |
33 |
|
34 |
|
35 |
|
36 |
NetDB: |
37 |
{ <device1> : <device info (tuple)>, <device2> : <device info (tuple), |
38 |
etc... } |
39 |
|
40 |
'<device>' is a string with the device name, ie. 'eth0' |
41 |
|
42 |
Device Information: |
43 |
( <static ip (bool)>, <PRE ip address (string)>, <PRE netmask (string)>, |
44 |
<PRE broadcast (string)>, <PRE gateway (string)>, <POST ip address |
45 |
(string)>, <POST netmask (string)>, <POST broadcast (string)>, <POST |
46 |
gateway (string)>, <load at boot (bool)>, <(POST) alias (tuple)> ) |
47 |
|
48 |
<static ip> is a bool to say whether or not the device uses a static ip |
49 |
address. False would default to DHCP. |
50 |
|
51 |
|
52 |
|
53 |
What do you guys think? |
54 |
|
55 |
Nathaniel |