Mac Build Scripts: Python

From FreekiWiki
Revision as of 11:49, 28 February 2007 by Tonyr (talk | contribs) (python version of the disk replicator)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Now let's try that Linux Disk Replication script in Python.

Disk Replication

replicate.py

#!/usr/bin/python
from platform import *
from globals import *
import sys, getopt 

def getArgs():
    pass

def verifyTarget(t):
    pass

def createPartitions():
    pass

def setupForCopy():
    pass

def copyPartitions():
    pass

def tweakConfigFiles(type):
    pass

if __name__ == "__main__":
    dump_platform(aPlatform("imac"))

globals.py

linuxroot = "/root/rootdir"
bootpartimg = "/root/bootpart.img"


platform.py

class Platform:
    def __init__(self):
        self.name = "prototype"
        self.hd_device = "hda"
        self.cd_device = "hdc"
        self.of_bootdev = "hd:"

    def get_name(self):
        return self.name
    def set_name(self,name):
        self.name = name
    def get_hd(self):
        return self.hd_device
    def set_hd(self,device):
        self.hd_device = device
    def get_cd(self):
        return self.cd_device
    def set_cd(self,device):
        self.cd_device = device
    def get_bootdev(self):
        return self.of_bootdev
    def set_cd(self,ofpath):
        self.of_bootdev = ofpath


class imac(Platform):
    def __init__(self):
        self.name = "iMac"
        self.hd_device = "hda"
        self.cd_device = "hdb"
        self.of_bootdev = "/pci@f2000000/mac-io@17/ata-4@1f000/disk@0:"

class g3(Platform):
    def __init__(self):
        self.name = "g3"
        self.hd_device = "hdc"
        self.cd_device = "hda"
        self.of_bootdev = "/pci@80000000/pci-bridge@d/pci-ata@1/@0/disk@0:"

class g4(Platform):
    def __init__(self):
        self.name = "g4"
        self.hd_device = "hda"
        self.cd_device = "hdc"
        self.of_bootdev = "/pci@f2000000/pci-bridge@d/mac-io@7/ata-4@1f000/disk@0:" 

class g4q(Platform):
    def __init__(self):
        self.name = "g4q"
        self.hd_device = "hda"
        self.cd_device = "hdc"
        self.of_bootdev = "/pci@f2000000/mac-io@17/ata-4@1f000/disk@0:" 
        

def aPlatform(name):
    if name == "imac":
        return imac()
    elif name == "g3":
        return g3()
    elif name == "g4":
        return g4()
    elif name == "g4q":
        return g4q()
    else: 
        return Platform()

def dump_platform(p):
    print 'name      : %s '% p.get_name().upper()
    print 'hd        : %s '% p.get_hd()
    print 'cd        : %s '% p.get_cd()
    print 'of_bootdev: %s '% p.get_bootdev()
    print 

if __name__ == "__main__":
    dump_platform(aPlatform("g4"))
    dump_platform(aPlatform("imac"))
    dump_platform(aPlatform("g3"))
    dump_platform(aPlatform("g4q"))