@@ -0,0 +1,1445 @@
+#%0A# Copyright (c) 2007 rPath, Inc.%0A#%0A# All Rights Reserved%0A#%0A%0Aimport os%0A%0Afrom jobslave.generators import constants%0Afrom jobslave.generators import bootable_image, raw_hd_image%0Afrom jobslave.generators import vhd%0A%0Afrom conary.lib import util%0A%0Aclass ParallelsImage(raw_hd_image.RawHdImage):%0A    @bootable_image.timeMe%0A    def createPVS(self, fileBase):%0A        pass%0A%0A    def write(self):%0A        topDir = os.path.join(os.path.sep, 'tmp', self.jobId)%0A        outputDir = os.path.join(topDir, self.basefilename)%0A        outputFile = outputDir + self.suffix%0A        image = outputDir + '.hdd'%0A        try:%0A            if os.path.exists(outputDir):%0A                util.rmtree(outputDir)%0A            util.mkdirChain(outputDir)%0A            self.makeHDImage(image)%0A%0A            self.status('Creating Parallels Image')%0A%0A            # pass just the basename, these functions handle the proper suffix%0A            self.createPVS(os.path.join(outputDir, self.basefilename))%0A%0A            self.status('Compressing Parallels Image')%0A            self.zip(outputDir, outputFile)%0A            import epdb%0A            epdb.st()%0A            # FIXME: deliver output file%0A        finally:%0A            util.rmtree(topDir, ignore_errors = True)%0A%0A    def __init__(self, *args, **kwargs):%0A        raw_hd_image.RawHdImage.__init__(self, *args, **kwargs)%0A        # FIXME: put the proper template in here%0A        self.templateName = 'vpc.vmc'%0A        self.suffix = '.pvs.zip'%0A

add incomplet parallels module