def run(self):
        rrdTemplates = []
        self.zenpack = None
        if self.options.zenpack:
            self.zenpack = self.dmd.ZenPackManager.packs._getOb(
                self.options.zenpack, None)
            if not self.zenpack:
                msg = "%s is not a valid Zenpack. Exiting...."
                print msg % self.options.zenpack
                sys.exit(1)

        if not self.zenpack:
            packs = self.dmd.ZenPackManager.packs()
            for i, pack in enumerate(packs):
                print "\t %s: %s" % (i + 1, pack.id)
            input = raw_input("Which zenpack would you like to export? ")
            input = int(input)
            if (0 < input < len(packs) + 1):
                self.zenpack = packs[input - 1]
            else:
                print "Please select an integer between 1 and %s" % len(packs)
                sys.exit(1)

        packables = eliminateDuplicates(self.zenpack.packables())
        for packable in packables:
            if isinstance(packable, DeviceClass):
                for rrdTemplate in packable.getAllRRDTemplates():
                    rrdTemplates.append(rrdTemplate)

            elif isinstance(packable, RRDTemplate):
                rrdTemplates.append(packable)
        TemplatesToJSONFile(self.dmd, rrdTemplates, self.options.filename)
Exemple #2
0
    def run(self):
        if self.options.zenpack:
            self.zenpack = self.dmd.ZenPackManager.packs._getOb(
                self.options.zenpack, None)
            if not self.zenpack:
                print "%s is not a valid Zenpack. Exiting...." % self.options.zenpack
                sys.exit(1)

        packables = eliminateDuplicates(self.zenpack.packables())
        for obj in packables:
            deviceClasses = []
            if isinstance(obj, DeviceClass):
                deviceClasses = obj.getSubOrganizers()
                deviceClasses.insert(0, obj)

            for dc in deviceClasses:
                xml = StringIO()
                dc.exportXmlProperties(xml)
                xml.reset()
                xmldoc = "<obj>%s</obj>" % xml.read().strip()
                tree = etree.parse(StringIO(xmldoc))
                dc = IInfo(dc)
                print dc.uid
                import pdb
                pdb.set_trace()
                for obj in tree.xpath('//property[@type="lines"]')
    def run(self):
        rrdTemplates = []
        self.zenpack = None
        if self.options.zenpack:
            self.zenpack = self.dmd.ZenPackManager.packs._getOb(
                self.options.zenpack, None)
            if not self.zenpack:
                msg = "%s is not a valid Zenpack. Exiting...."
                print msg % self.options.zenpack
                sys.exit(1)

        if not self.zenpack:
            packs = self.dmd.ZenPackManager.packs()
            for i, pack in enumerate(packs):
                print "\t %s: %s" % (i + 1, pack.id)
            input = raw_input("Which zenpack would you like to export? ")
            input = int(input)
            if (0 < input < len(packs) + 1):
                self.zenpack = packs[input - 1]
            else:
                print "Please select an integer between 1 and %s" % len(packs)
                sys.exit(1)

        packables = eliminateDuplicates(self.zenpack.packables())
        for packable in packables:
            if isinstance(packable, DeviceClass):
                for rrdTemplate in packable.getAllRRDTemplates():
                    rrdTemplates.append(rrdTemplate)

            elif isinstance(packable, RRDTemplate):
                rrdTemplates.append(packable)
        TemplatesToJSONFile(self.dmd, rrdTemplates, self.options.filename)
   def run(self):
       if self.options.zenpack:
           self.zenpack = self.dmd.ZenPackManager.packs._getOb(self.options.zenpack, None)
           if not self.zenpack:
               print "%s is not a valid Zenpack. Exiting...." % self.options.zenpack
               sys.exit(1)

       xml = StringIO()

       # Write out packable objects
       # TODO: When the DTD gets created, add the reference here
       xml.write("""<?xml version="1.0"?>\n""")
       xml.write("<objects>\n")

       packables = eliminateDuplicates(self.zenpack.packables())
       for obj in packables:
           # obj = aq_base(obj)
           xml.write('<!-- %r -->\n' % (obj.getPrimaryPath(),))
           obj.exportXml(xml,['devices','networks','pack'],True)
       xml.write("</objects>\n")
       objects = file(self.options.filename, 'w')
       objects.write(xml.getvalue())
       objects.close()
    def run(self):
        if self.options.zenpack:
            self.zenpack = self.dmd.ZenPackManager.packs._getOb(
                self.options.zenpack, None)
            if not self.zenpack:
                print "%s is not a valid Zenpack. Exiting...." % self.options.zenpack
                sys.exit(1)

        xml = StringIO()

        # Write out packable objects
        # TODO: When the DTD gets created, add the reference here
        xml.write("""<?xml version="1.0"?>\n""")
        xml.write("<objects>\n")

        packables = eliminateDuplicates(self.zenpack.packables())
        for obj in packables:
            # obj = aq_base(obj)
            xml.write('<!-- %r -->\n' % (obj.getPrimaryPath(), ))
            obj.exportXml(xml, ['devices', 'networks', 'pack'], True)
        xml.write("</objects>\n")
        objects = file(self.options.filename, 'w')
        objects.write(xml.getvalue())
        objects.close()