def manage_afterAdd(self, item, container, **kw): """Setup properties and sub-objects""" # Only run on add, not rename, etc. if not base_hasattr(self, 'mqueue'): setMailBoxerProperties(self, self.REQUEST, kw) # Setup the default checkMail validator chain setDefaultValidatorChain(self) # Add Archive archive = zapi.createObject('listen.ArchiveFactory', self.storage, title=_(u'List Archive')) item._setObject(self.storage, archive) # Add moderation queue mqueue = zapi.createObject('listen.QueueFactory', self.mailqueue, title=_(u'Moderation queue')) item._setObject(self.mailqueue, mqueue) ttool = getToolByName(self, 'portal_types', None) if ttool is not None: # If the archive/queue are CMF types then we must finish # constructing them. fti = ttool.getTypeInfo(mqueue) if fti is not None: fti._finishConstruction(mqueue) fti = ttool.getTypeInfo(archive) if fti is not None: fti._finishConstruction(archive) MailBoxer.manage_afterAdd(self, self.REQUEST, kw)
def manage_afterAdd(self, item, container, **kw): """Setup properties and sub-objects""" # Only run on add, not rename, etc. if not base_hasattr(self, 'mqueue'): setMailBoxerProperties(self, self.REQUEST, kw) # Setup the default checkMail validator chain setDefaultValidatorChain(self) # Add Archive archive = zapi.createObject('listen.ArchiveFactory', self.storage, title=u'List Archive') item._setObject(self.storage, archive) # Add moderation queue mqueue = zapi.createObject('listen.QueueFactory', self.mailqueue, title=u'Moderation queue') item._setObject(self.mailqueue, mqueue) ttool = getToolByName(self, 'portal_types', None) if ttool is not None: # If the archive/queue are CMF types then we must finish # constructing them. fti = ttool.getTypeInfo(mqueue) if fti is not None: fti._finishConstruction(mqueue) fti = ttool.getTypeInfo(archive) if fti is not None: fti._finishConstruction(archive) MailBoxer.manage_afterAdd(self, self.REQUEST, kw)
def topicContent(self): """ render the source of the help topic """ source = zapi.createObject(self.context.type, self.context.source) view = zapi.getMultiAdapter((source, self.request)) html = view.render() return html
def createServiceObject(self, parent, serviceDict): """helper methode to create service instance """ dateNow = datetime.utcnow() #if port['port'] == u"389": ## ldap #newService = zapi.createObject(None, 'ikom.service.ServiceLdap') #newService.__setattr__("basedn", u'dc=domain,dc=tld') if False: pass elif serviceDict['port'] == u"22": ## ssh newService = zapi.createObject(\ u'org.ict_ok.components.service.special.ssh.service.ServiceSsh') elif serviceDict['port'] == u"80": ## ssh newService = zapi.createObject(\ u'org.ict_ok.components.service.special.http.service.ServiceHttp') else: newService = zapi.createObject(\ u'org.ict_ok.components.service.service.Service') newServiceId = u"%s" % (serviceDict['port']) parent.__setitem__(newService.getObjectId(), newService) #newService.__setattr__("genNagios", True) newServiceDc = IZopeDublinCore(newService, None) newServiceDc.title = u"%s" % serviceDict['service'] newServiceDc.created = datetime.utcnow() newServiceDc.creators = [u'ikportscan'] try: intPort = int(serviceDict['port']) newService.__setattr__("port", intPort) except ValueError: raise Exception, "port number isn't valid '%s'" % serviceDict[ 'port'] except TypeError: raise Exception, "port number isn't valid '%s'" % serviceDict[ 'port'] newService.__setattr__("product", unicode(serviceDict['product'])) newService.__setattr__("ipprotocol", unicode(serviceDict['protocol'.lower()])) if serviceDict.has_key('service'): ## and (len(port['service']) > 0): newServiceDc.title = u"%s" % serviceDict['service'] else: newServiceDc.title = u"%s" % serviceDict['port'] notify(ObjectCreatedEvent(newService))
def importAllData(self, xml_str): """get data file for all objects""" from pprint import pprint print "#" * 80 data_structure = loads(xml_str) print 'objects' pprint(data_structure['objects']) print 'conns' pprint(data_structure['conns']) print "#" * 80 for obj in data_structure['objects']: print "Obj: ", obj['ikName'] print "myFactory: ", obj['meta']['myFactory'] o2 = zapi.createObject(obj['meta']['myFactory'], **obj) print o2 o2.importAllData(obj) IBrwsOverview(o2).setTitle(obj['ikName']) o2.__post_init__() c2 = o2.getFirstContainer() print c2 print "len1: ", len(c2) c2[o2.objectID] = o2 print "len2: ", len(c2) #print data_structure print "conn" my_catalog = zapi.getUtility(ICatalog) for conn in data_structure['conns']: #(('obj1Id'. 'obj1AttrName'), ('obj2Id'. 'obj2AttrName')) ((obj1Id, obj1AttrName), (obj2Id, obj2AttrName)) = conn print "()(): ", ((obj1Id, obj1AttrName), (obj2Id, obj2AttrName)) res1 = my_catalog.searchResults(oid_index=obj1Id) res2 = my_catalog.searchResults(oid_index=obj2Id) if len(res1) > 0 and len(res2) > 0: obj1 = iter(res1).next() obj2 = iter(res2).next() print "obj1: ", obj1 print "obj2: ", obj2 attr1 = getattr(obj1, obj1AttrName, None) if attr1 is not None: if type(attr1) is list: attr1.append(obj2) else: attr1 = obj2 obj1._p_changed = 1 obj2._p_changed = 1 # for relation in # res = my_catalog.searchResults(oid_index=arg_oid) # if len(res) > 0: # return iter(res).next().getDcTitle() # return True
def testFactory(self): self.assertRaises(ComponentLookupError, zapi.createObject, 'foo') xmlconfig(StringIO(template % ( ''' <factory id="foo.bar" component="zope.app.component.tests.factory.f" /> ''' ))) from factory import X self.assertEqual(zapi.createObject('foo.bar').__class__, X)
def getIntroduction(self): text = self.context.__description__ or self.schema.__doc__ text = translate(text, context=self.request, default=text) # Determine common whitespace ... cols = len(re.match('^[ ]*', text).group()) # ... and clean it up. text = re.sub('\n[ ]{%i}' %cols, '\n', text).strip() if not text: return u'' # Render the description as ReST. source = zapi.createObject('zope.source.rest', text) renderer = zapi.getMultiAdapter((source, self.request)) return renderer.render()
def addObject(self, msgHeader, msgOldparent, msgNewparent, msgObj): """ a new object should be created """ print "addObject" print "msgHeader: %s" % msgHeader print "msgOldparent: %s" % msgOldparent print "msgNewparent: %s" % msgNewparent print "msgObj: %s" % msgObj if msgObj.has_key('myFactory'): newObj = zapi.createObject(msgObj['myFactory']) print "newObj: %s" % newObj print "msgObj['listAttr']: %s" % msgObj['listAttr'] try: ISlave['objectID'].readonly = False for i in msgObj['listAttr']: print "atr: %s = %s" % (i, msgObj['listAttr'][i]) newObj.__setattr__(i, msgObj['listAttr'][i]) finally: ISlave['objectID'].readonly = True newOid = msgObj['listAttr']['objectID'] notify(ObjectCreatedEvent(newObj)) #if (not msgOldparent) and (not msgNewparent): ##search from_oid -> ikslave #my_catalog = zapi.getUtility(ICatalog) #for result in my_catalog.searchResults( #oid_index=msgHeader['from_oid']): #print "result: %s = %s" % (result.ikName, result) #if result.has_key(newOid): #result.__delitem__(newOid) #result[newOid] = newObj my_catalog = zapi.getUtility(ICatalog) newParentObj = None if not msgNewparent: # in root-folder of slave res = my_catalog.searchResults(oid_index=msgHeader['from_oid']) if len(res) > 0: newParentObj = iter(res).next() else: res = my_catalog.searchResults(oid_index=msgNewparent) if len(res) > 0: newParentObj = iter(res).next() if newParentObj and newParentObj.has_key(newOid): newParentObj.__delitem__(newOid) newParentObj[newOid] = newObj
def renderText(text, module=None, format=None, dedent=True): if not text: return u'' if module is not None: if isinstance(module, (str, unicode)): module = sys.modules.get(module, None) format = getDocFormat(module) if format is None: format = 'zope.source.stx' assert format in _format_dict.values() text = dedentString(text) source = zapi.createObject(format, text) renderer = zapi.getMultiAdapter((source, TestRequest())) return renderer.render()
def addMailBoxerMail(self, folder, id, sender, subject, date, mail): # Strip out the list name from the subject, as it serves no purpose # in the archive. subject = subject.replace('[%s]' % self.getValueFor('title'), '') new_message = zapi.createObject('listen.MailFactory', id, sender, subject, date) folder._setObject(id, new_message) msg = getattr(folder, id) # Adapt message to provide methods for parsing mail and extracting # headers settable_msg = IMailFromString(msg) # This is ugly, but it is the MailBoxer way, last option means no # attachments. store_attachments = self.archived == 0 # Set properties on message settable_msg.createMailFromMessage(mail, store_attachments) zope.event.notify( zope.app.event.objectevent.ObjectModifiedEvent(msg)) return msg
def addMailBoxerFolder(self, context, id, title, btree=True): """ Adds an archive-folder using a configured factory """ folder = zapi.createObject('listen.FolderFactory', id, title, btree=btree) context._setObject(id, folder)
def create(self, data): print "SnmpScanWizardForm.create(%s)" % data interfaceCnt = self.getInterfaceCnt(data) if interfaceCnt and interfaceCnt > 0: #interfacesDict = {} #for i in range(0, interfaceCnt): #interfacesDict[i] = {} #oidTuple = (1, 3, 6, 1, 2, 1, 2, 2, 1, 1) # InterfaceIndex #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['index'] = \ #int(snmpItem[0][1]) #oidTuple = (1, 3, 6, 1, 2, 1, 2, 2, 1, 2) # InterfaceDesc #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['desc'] = \ #snmpItem[0][1].prettyPrint().strip("'") #oidTuple = (1, 3, 6, 1, 2, 1, 2, 2, 1, 4) # InterfaceMtu #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['mtu'] = \ #int(snmpItem[0][1]) #oidTuple = (1, 3, 6, 1, 2, 1, 2, 2, 1, 5) # InterfaceSpeed #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['speed'] = \ #int(snmpItem[0][1]) #oidTuple = (1, 3, 6, 1, 2, 1, 2, 2, 1, 6) # InterfacehysAddress #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['mac'] = \ #"%02x:%02x:%02x:%02x:%02x:%02x" % \ #tuple([ord(i) for i in snmpItem[0][1]]) #oidTuple = (1, 3, 6, 1, 2, 1, 2, 2, 1, 7) # InterfaceAdminStatus #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['adminstat'] = \ #snmpItem[0][1] == 1 #oidTuple = (1, 3, 6, 1, 2, 1, 2, 2, 1, 8) # InterfaceOperStatus #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['operstat'] = \ #snmpItem[0][1] == 1 #oidTuple = (1, 3, 6, 1, 2, 1, 31, 1, 1, 1, 1) # InterfaceName #snmpList = self.getInterfaceVect(data, oidTuple) #if snmpList: #for snmpItem in snmpList: #interfacesDict[snmpList.index(snmpItem)]['name'] = \ #snmpItem[0][1].prettyPrint().strip("'") ## ------------------------------------------- #if data['indexType'] == u'index': #atrList = [i['index'] for i in interfacesDict.values()] #atrDict = {}.fromkeys(atrList) #if len(atrDict.keys()) != interfaceCnt: #self.status = _(u"Error: interface index type 'Interface index' isn't unique") #return None #elif data['indexType'] == u'mac': #atrList = [i['mac'] for i in interfacesDict.values()] #atrDict = {}.fromkeys(atrList) #if len(atrDict.keys()) != interfaceCnt: #self.status = _(u"Error: interface index type 'Ethernet address' isn't unique") #return None #elif data['indexType'] == u'desc': #atrList = [i['desc'] for i in interfacesDict.values()] #atrDict = {}.fromkeys(atrList) #if len(atrDict.keys()) != interfaceCnt: #self.status = _(u"Error: interface index type 'Description' isn't unique") #return None #elif data['indexType'] == u'name': #atrList = [i['name'] for i in interfacesDict.values()] #atrDict = {}.fromkeys(atrList) #if len(atrDict.keys()) != interfaceCnt: #self.status = _(u"Error: interface index type 'Name' isn't unique") #return None ## ------------------------------------------- retList = [] dateNow = datetime.utcnow() newInterface = zapi.createObject(\ u'org.ict_ok.components.interface.interface.Interface') newInterfaceDc = IZopeDublinCore(newInterface, None) newInterface.ikName = u"ddd1" newInterfaceDc.title = u"ddd2" newInterfaceDc.created = datetime.utcnow() newInterface.__post_init__() retList.append(newInterface) #for interfaceKey in interfacesDict.keys()[:3]: #tmpInterface = interfacesDict[interfaceKey] #print "oooo:", tmpInterface #dateNow = datetime.utcnow() #newInterface = zapi.createObject(\ #u'org.ict_ok.components.interface.interface.Interface') ##notify(ObjectCreatedEvent(newInterface)) #newInterfaceDc = IZopeDublinCore(newInterface, None) #newInterface.ikName = u"%s" % tmpInterface['desc'] #newInterfaceDc.title = u"%s" % tmpInterface['desc'] #newInterfaceDc.created = datetime.utcnow() #newInterface.ikComment = u"%s" % tmpInterface['name'] #newInterface.mac = u"%s" % tmpInterface['mac'] #newInterface.ipv4List = None ## ------------------------------- ##from org.ict_ok.components.snmpvalue.snmpvalue import SnmpValue ##from org.ict_ok.components.superclass.interfaces import IBrwsOverview ##from zope.app.keyreference.interfaces import IKeyReference ##from zope.interface import directlyProvides ##newSnmpvalue = zapi.createObject(\ ##u'org.ict_ok.components.snmpvalue.snmpvalue.SnmpValue') ###directlyProvides(newSnmpvalue, IKeyReference) ###notify(ObjectCreatedEvent(newSnmpvalue)) ##newSnmpvalueDc = IZopeDublinCore(newSnmpvalue, None) ##newSnmpvalueDc.title = u"%s" % "ddd" ##newSnmpvalueDc.created = datetime.utcnow() ##newSnmpvalue.__post_init__() ###data = {'ikName': u"ddd314"} ###obj = SnmpValue(**data) ###IBrwsOverview(obj).setTitle(data['ikName']) ###obj.__post_init__() ### ------------------------------- ##newInterface.__setitem__(u"ddd", newSnmpvalue) ##newInterface.__setitem__(u"ddd", obj) #newInterface.__post_init__() #retList.append(newInterface) return retList # ------------------------------------------- #import pprint #print "-" * 80 #pprint.pprint(interfacesDict) #print "-" * 80 ##print "zzz: '%s'" % ddd self.status = _(u"Error: no unique Id") return None #[1,2,3]
def addLanguage(self, language): 'See `IWriteTranslationDomain`' catalog = zapi.createObject(u'zope.app.MessageCatalog', language) self[language] = catalog
def createObjects(self, hostList, containerObject): """ will use factories to create the objects from the dataDict """ for host in hostList: dateNow = datetime.now(berlinTZ) newHost = createObject(u'org.ict_ok.components.host.host.Host') notify(ObjectCreatedEvent(newHost)) containerObject.__setitem__(newHost.getObjectId(), newHost) dc = IZopeDublinCore(newHost, None) dc.creators = [u'ikportscan'] newHost.ikComment += u"scanner: %s" % (dateNow) if host.has_key('hostname'): newHost.__setattr__("ikName", host['hostname']) newHost.__setattr__("hostname", host['hostname']) dc.title = host['hostname'] else: newHost.__setattr__("ikName", host['ipAddress']) dc.title = host['ipAddress'] for i_os in host['oss']: os_string = u"%s %s (%s) (%s)" % (i_os['osfamily'], i_os['osgen'], i_os['type'], i_os['vendor']) newHost.osList.append(os_string) newHost.__setattr__("genNagios", True) dc.created = dateNow if host.has_key("interfaces") and len(host['interfaces']) > 0: for interfaceDict in host['interfaces']: newInterface = createObject(\ u'org.ict_ok.components.interface.interface.Interface') notify(ObjectCreatedEvent(newInterface)) newInterfaceId = u"If%s" % (interfaceDict['nbr']) newHost.__setitem__(newInterfaceId, newInterface) #newInterface.__setattr__("description", interfaceDict['name']) #newInterface.__setattr__("ifindex", interfaceDict['nbr']) newInterfaceDc = IZopeDublinCore(newInterface, None) newInterfaceDc.title = u"%s" % interfaceDict['name'] newInterfaceDc.created = datetime.utcnow() newInterfaceDc.creators = [u'ikportscan'] ### SNMP-Liste aufbauen #if interfaceDict.has_key("snmplist") and len(interfaceDict['snmplist'])>0: #for snmpDict in interfaceDict['snmplist']: ### oid-Test #newSnmp = zapi.createObject(None, 'ikom.snmp.Snmp') #notify(ObjectCreatedEvent(newSnmp)) #newSnmp.__setattr__("description", snmpDict['name']) #newSnmp.__setattr__("checktype", "oid") #newSnmp.__setattr__("inputtype", "abs") #newSnmp.__setattr__("oid1", snmpDict['oid1']) #newSnmp.__setattr__("oid2", snmpDict['oid2']) #for i in ["cmd", "inptype", "inpUnit", "displayUnitNumerator", "displayUnitDenominator", #"checkMax", "checkMaxLevel", "checkMaxLevelUnitNumerator", "checkMaxLevelUnitDenominator"]: #newSnmp.__setattr__(i, snmpDict[i]) #newSnmpDc = IZopeDublinCore(newSnmp, None) #newSnmpId=u"%s" % (snmpDict['name']) #newSnmpDc.title = u"%s" % (snmpDict['name']) #newSnmpDc.created = datetime.utcnow() #newSnmpDc.creators = [u'ikportscan'] #newInterface.__setitem__(newSnmpId, newSnmp) #newHost.__setitem__(newInterfaceId, newInterface) #if host.has_key("building"): #newHost.__setattr__("building", host['building']) #if host.has_key('oss') and len(host['oss'])>0: #hostOs = host['oss'][0] #firstOs = "%s - %s - %s - %s - %s" % (hostOs['vendor'],hostOs['osfamily'],hostOs['osgen'],hostOs['accuracy'],hostOs['type']) #newHost.__setattr__("os", firstOs) #else: #newHost.__setattr__("os", u"unknown") ### add services to interface if1 ####### Interface portsInterface = zapi.createObject(\ u'org.ict_ok.components.interface.interface.Interface') notify(ObjectCreatedEvent(portsInterface)) newHost.__setitem__(portsInterface.getObjectId(), portsInterface) newInterfaceDc = IZopeDublinCore(portsInterface, None) newInterfaceDc.title = u"If10000" portsInterface.__setattr__("ikName", u"If10000") newInterfaceDc.created = dateNow newInterfaceDc.creators = [u'ikportscan'] portsInterface.ikComment += u"scanner: %s" % (dateNow) #portsInterface.ipv4List.append(host['ipAddress']) portsInterface.ipv4List = host['ipAddress'] portsInterface.netType = 'ethernet' if host.has_key('macAddress'): portsInterface.mac = host['macAddress'] for port in host['ports']: #if port['protocol'].lower() == "tcp": #print "tcp" #elif port['protocol'].lower() == "udp": #print "udp" #if port['port'] == u"389": ## ldap #newService = zapi.createObject(None, 'ikom.service.ServiceLdap') #notify(ObjectCreatedEvent(newService)) #newService.__setattr__("basedn", u'dc=domain,dc=tld') #elif port['port'] == u"1111180": ## http #pass #else: #newService = zapi.createObject(None, 'ikom.service.Service') #notify(ObjectCreatedEvent(newService)) newService = zapi.createObject(\ u'org.ict_ok.components.service.service.Service') notify(ObjectCreatedEvent(newService)) newServiceId = u"%s" % (port['port']) portsInterface.__setitem__(newServiceId, newService) #newService.__setattr__("genNagios", True) newServiceDc = IZopeDublinCore(newService, None) #newService.__setattr__("port", port['port']) #newService.__setattr__("protocol", port['protocol']) #newService.__setattr__("description", port['service']) newServiceDc.creators = [u'ikportscan'] newServiceDc.created = datetime.utcnow() if port.has_key('service'): ## and (len(port['service']) > 0): newServiceDc.title = u"%s" % port['service'] else: newServiceDc.title = u"%s" % port['port'] #newHost.__setitem__(newServiceId, newService) #containerObject.__setitem__(new_id, newHost) return None
def createObjects(self, dataDict, containerObject): """ will use factories to create the objects from the dataDict """ for host in dataDict: dateNow = datetime.utcnow() newHost = createObject(u'org.ict_ok.components.host.host.Host') notify(ObjectCreatedEvent(newHost)) containerObject.__setitem__(newHost.getObjectId(), newHost) dcore = IZopeDublinCore(newHost, None) dcore.creators = [u'ikportscan'] newHost.ikComment += u"scanner: %s" % (dateNow) if host.has_key('hostname'): newHost.__setattr__("ikName", host['hostname']) newHost.__setattr__("hostname", host['hostname']) dcore.title = host['hostname'] else: if host.has_key('interfaces'): newHost.__setattr__("ikName", host['interfaces'][0]['ipAddress']) dcore.title = host['interfaces'][0]['ipAddress'] else: newHost.__setattr__("ikName", u"unknown") newHost.__setattr__("hostname", u"unknown") dcore.title = u"unknown" if host.has_key('description'): print "description: %s" % host['description'] newHost.__setattr__("ikDesc", host['description']) for my_atrb in [ 'building', 'room', 'manufacturer', 'vendor', 'workinggroup', 'hardware', 'user', 'inv_id' ]: if host.has_key(my_atrb): newHost.__setattr__(my_atrb, host[my_atrb]) #if host.has_key('building'): #newHost.__setattr__("building", host['building']) #if host.has_key('room'): #newHost.__setattr__("room", host['room']) if host.has_key('oss'): for i_os in host['oss']: os_string = u"%s %s (%s) (%s)" % ( i_os['osfamily'], i_os['osgen'], i_os['type'], i_os['vendor']) newHost.osList.append(os_string) newHost.__setattr__("genNagios", True) dcore.created = dateNow if host.has_key("interfaces") and len(host['interfaces']) > 0: for interfaceDict in host['interfaces']: #print "interfaceDict: ", interfaceDict dateNow = datetime.utcnow() newInterface = zapi.createObject(\ u'org.ict_ok.components.interface.interface.Interface') notify(ObjectCreatedEvent(newInterface)) newInterfaceId = u"If%s" % (interfaceDict['nbr']) newHost.__setitem__(newInterfaceId, newInterface) #newInterface.__setattr__("description", interfaceDict['name']) #newInterface.__setattr__("ifindex", interfaceDict['nbr']) newInterface.__setattr__("ikName", interfaceDict['name']) newInterface.ikComment += u"scanner: %s" % (dateNow) newInterfaceDc = IZopeDublinCore(newInterface, None) newInterfaceDc.title = u"%s" % interfaceDict['name'] newInterfaceDc.created = datetime.utcnow() newInterfaceDc.creators = [u'ikportscan'] newInterface.netType = "ethernet" if interfaceDict.has_key('macAddress'): newInterface.mac = interfaceDict['macAddress'] if interfaceDict.has_key('ipAddressType') and interfaceDict[ 'ipAddressType'] == 'ipv4' and interfaceDict.has_key( 'ipAddress'): #newInterface.ipv4List.append(interfaceDict['ipAddress']) newInterface.ipv4List.append(\ interfaceDict['ipAddress']) #### services for service in interfaceDict['services']: newService = zapi.createObject(\ u'org.ict_ok.components.service.service.Service') notify(ObjectCreatedEvent(newService)) newServiceId = u"%s" % (service['port']) newInterface.__setitem__(newServiceId, newService) newServiceDc = IZopeDublinCore(newService, None) newServiceDc.creators = [u'ikportscan'] newServiceDc.created = datetime.utcnow() tmpString = u"" if service.has_key('product'): tmpString += service['product'] + u"\n" if service.has_key('version'): tmpString += u"Ver. " + service['version'] + u"\n" if service.has_key('extrainfo'): tmpString += service['extrainfo'] + u"\n" if service.has_key('method'): tmpString += u"scan method: " + service[ 'method'] + u"\n" if len(tmpString) > 0: newService.ikComment += tmpString if service.has_key( 'service'): ## and (len(port['service']) > 0): newServiceDc.title = u"%s" % service['service'] newService.__setattr__("ikName", service['service']) else: newServiceDc.title = u"%s" % service['port'] #newHost.__setitem__(newServiceId, newService) #containerObject.__setitem__(new_id, newHost) ### SNMP-Liste aufbauen #if interfaceDict.has_key("snmplist") and len(interfaceDict['snmplist'])>0: #for snmpDict in interfaceDict['snmplist']: ### oid-Test #newSnmp = zapi.createObject(None, 'ikom.iksnmp.IkSnmp') #notify(ObjectCreatedEvent(newSnmp)) #newSnmp.__setattr__("description", snmpDict['name']) #newSnmp.__setattr__("checktype", "oid") #newSnmp.__setattr__("inputtype", "abs") #newSnmp.__setattr__("oid1", snmpDict['oid1']) #newSnmp.__setattr__("oid2", snmpDict['oid2']) #for i in ["cmd", "inptype", "inpUnit", "displayUnitNumerator", "displayUnitDenominator", #"checkMax", "checkMaxLevel", "checkMaxLevelUnitNumerator", "checkMaxLevelUnitDenominator"]: #newSnmp.__setattr__(i, snmpDict[i]) #newSnmpDc = IZopeDublinCore(newSnmp, None) #newSnmpId=u"%s" % (snmpDict['name']) #newSnmpDc.title = u"%s" % (snmpDict['name']) #newSnmpDc.created = datetime.utcnow() #newSnmpDc.creators = [u'ikportscan'] #newInterface.__setitem__(newSnmpId, newSnmp) #newHost.__setitem__(newInterfaceId, newInterface) #if host.has_key("building"): #newHost.__setattr__("building", host['building']) #if host.has_key('oss') and len(host['oss'])>0: #hostOs = host['oss'][0] #firstOs = "%s - %s - %s - %s - %s" % (hostOs['vendor'],hostOs['osfamily'],hostOs['osgen'],hostOs['accuracy'],hostOs['type']) #newHost.__setattr__("os", firstOs) #else: #newHost.__setattr__("os", u"unknown") ### add services to interface if1 ####### Interface ####portsInterface = zapi.createObject(\ ####u'org.ict_ok.ikinterface.ikinterface.Interface') ####notify(ObjectCreatedEvent(portsInterface)) ####newHost.__setitem__(portsInterface.getObjectId(), ####portsInterface) ####newInterfaceDc = IZopeDublinCore(portsInterface, None) ####newInterfaceDc.title = u"If10000" ####portsInterface.__setattr__("ikName", u"If10000") ####newInterfaceDc.created = dateNow ####newInterfaceDc.creators = [u'ikportscan'] ####portsInterface.ikComment += u"scanner: %s" % (dateNow) ####portsInterface.ipv4List.append(host['ipAddress']) ####portsInterface.netType = 'ethernet' ####if host.has_key('macAddress'): ####portsInterface.mac = host['macAddress'] return None