def bootStrapSubscriber(event): """initialisation of IntId utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) # search in global component registry sitem = root_folder.getSiteManager() # search for ICatalog utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(ICatalog) ] instUtilityICatalog = utils[0].component if not "host_esxuuid_index" in instUtilityICatalog.keys(): host_esxuuid_index = TextIndex(interface=ISearchableText, field_name='getSearchableHostEsxUuid', field_callable=True) instUtilityICatalog['host_esxuuid_index'] = host_esxuuid_index # search for IAdmUtilSupervisor utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: ICatalog - create esx uuid index for entry type 'vmware_esx'") # creates and stores the local system in ZODB # createLocalSystem(root_folder) transaction.get().commit() connection.close()
def actions(self): """ gives us the action dict of the object """ try: objId = getUtility(IIntIds).getId(self.context) except: objId = 1000 retList = [] if appsetup.getConfigContext().hasFeature('devmode') and \ checkPermission('org.ict_ok.components.host.Edit', self.context): quoter = URLQuote(self.request.getURL()) tmpDict = {} tmpDict['oid'] = u"c%sshutdownHost" % objId tmpDict['title'] = _(u"shutdown host") tmpDict['href'] = u"%s/@@shutdownHost.html?nextURL=%s" % \ (zapi.getPath( self.context), quoter.quote()) retList.append(tmpDict) tmpDict = {} tmpDict['oid'] = u"c%senterMaintenanceMode" % objId tmpDict['title'] = _(u"enter maintenance mode") tmpDict['href'] = u"%s/@@enterMaintenanceMode.html?nextURL=%s" % \ (zapi.getPath( self.context), quoter.quote()) retList.append(tmpDict) return SuperHostDetails.actions(self) + retList
def onWSGIApplicationCreatedEvent(application, event): """Subscriber to the ore.wsgiapp.interfaces.IWSGIApplicationCreatedEvent. """ initializer = model_interfaces.IBungeniSetup(application) initializer.setUp() log.debug("onWSGIApplicationCreatedEvent: _features: %s" % ( getConfigContext()._features))
def actions(self): """ gives us the action dict of the object """ try: objId = getUtility(IIntIds).getId(self.context) except: objId = 1000 retList = [] if appsetup.getConfigContext().hasFeature('devmode') and \ checkPermission('org.ict_ok.components.host.Edit', self.context): quoter = URLQuote(self.request.getURL()) tmpDict = {} tmpDict['oid'] = u"c%spoweroff" % objId tmpDict['title'] = _(u"Power off") tmpDict['href'] = u"%s/@@poweroff.html?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) tmpDict = {} tmpDict['oid'] = u"c%spoweron" % objId tmpDict['title'] = _(u"Power on") tmpDict['href'] = u"%s/@@poweron.html?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) return SuperHostDetails.actions(self) + retList
def bootStrapSubscriberDatabase(event): """initialisation of ict_ok supervisor on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madeUtilManager = ensureUtility(root_folder, IUtilManager, 'UtilManager', UtilManager, '', copy_to_zlog=False, asObject=True) if isinstance(madeUtilManager, UtilManager): logger.info(u"bootstrap: Ensure named UtilManager") dcore = IWriteZopeDublinCore(madeUtilManager) dcore.title = u"ICT_Ok Utility Manager" dcore.creators = (u"bootstrap auto-adder", ) dcore.created = datetime.utcnow() madeUtilManager.ikName = dcore.title madeUtilManager.__post_init__() transaction.get().commit() connection.close()
def actions(self): """ gives us the action dict of the object """ try: objId = getUtility(IIntIds).getId(self.context) except: objId = 1000 retList = [] if appsetup.getConfigContext().hasFeature('devmode') and \ checkPermission('org.ict_ok.components.host.Edit', self.context): quoter = URLQuote(self.request.getURL()) tmpDict = {} tmpDict['oid'] = u"c%strigger_online" % objId tmpDict['title'] = _(u"Trigger online") tmpDict['href'] = u"%s/@@trigger_online?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) tmpDict = {} tmpDict['oid'] = u"c%strigger_offline" % objId tmpDict['title'] = _(u"Trigger offline") tmpDict['href'] = u"%s/@@trigger_offline?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) tmpDict = {} tmpDict['oid'] = u"c%strigger_not1" % objId tmpDict['title'] = _(u"Trigger notification1") tmpDict['href'] = u"%s/@@trigger_not1?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) return retList
def has_feature(feature_name): """Whether the application had been setup with the feature or not. (feature_name:str) -> bool """ # via zope.configuration.config.ConfigurationMachine.hasFeature(name) return getConfigContext().hasFeature(feature_name)
def bootStrapSubscriberDatabase(event): """initialisation of Message-Queue-Utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madeNotifier = ensureUtility(root_folder, INotifierUtil, 'Notifier', NotifierUtil, '', copy_to_zlog=False, asObject=True) if isinstance(madeNotifier, NotifierUtil): logger.info(u"bootstrap: Ensure named Notifier") dcore = IWriteZopeDublinCore(madeNotifier) dcore.title = u"Notifier" dcore.created = datetime.utcnow() madeNotifier.ikName = dcore.title madeNotifier.__post_init__() sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made INotifier-Utility") transaction.get().commit() connection.close()
def bootStrapSubscriberDatabase(event): """initialisation of eventcrossbar utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madeAdmUtilCompliance = ensureUtility(root_folder, IAdmUtilCompliance, 'AdmUtilCompliance', AdmUtilCompliance, '', copy_to_zlog=False, asObject=True) if isinstance(madeAdmUtilCompliance, AdmUtilCompliance): logger.info(u"bootstrap: Ensure named AdmUtilCompliance") dcore = IWriteZopeDublinCore(madeAdmUtilCompliance) dcore.title = u"Compliance Utiltiy" dcore.created = datetime.utcnow() madeAdmUtilCompliance.ikName = dcore.title madeAdmUtilCompliance.__post_init__() sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made Compliance Utiltiy") else: ## search in global component registry #sitem = root_folder.getSiteManager() ## search for ICatalog #utils = [ util for util in sitem.registeredUtilities() #if util.provided.isOrExtends(ICatalog)] #instUtilityICatalog = utils[0].component #if not "host_oid_index" in instUtilityICatalog.keys(): #host_oid_index = FieldIndex(interface=ISearchableText, #field_name='getSearchableHostOid', #field_callable=True) #instUtilityICatalog['host_oid_index'] = host_oid_index ## search for IAdmUtilSupervisor #utils = [ util for util in sitem.registeredUtilities() #if util.provided.isOrExtends(IAdmUtilSupervisor)] #instAdmUtilSupervisor = utils[0].component #instAdmUtilSupervisor.appendEventHistory(\ #u" bootstrap: ICatalog - create oid index for entry type 'host'") if False: sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilCompliance) ] instAdmUtilCompliance = utils[0].component logger.info(u"replacing all Requirements") fillUtilitiyWithReqs(instAdmUtilCompliance) transaction.get().commit() connection.close()
def bootStrapSubscriberDatabase(event): """initialisation of linux_ha utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") LinuxHaConnectionThread.database = event.database dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madeAdmUtilLinuxHa = ensureUtility(root_folder, IAdmUtilLinuxHa, 'AdmUtilLinuxHa', AdmUtilLinuxHa, '', copy_to_zlog=False, asObject=True) if isinstance(madeAdmUtilLinuxHa, AdmUtilLinuxHa): logger.info(u"bootstrap: Ensure named AdmUtilLinuxHa") dcore = IWriteZopeDublinCore(madeAdmUtilLinuxHa) dcore.title = u"Linux HA" dcore.created = datetime.utcnow() madeAdmUtilLinuxHa.ikName = dcore.title madeAdmUtilLinuxHa.__post_init__() sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made IAdmUtilLinuxHa-Utility") #else: #sitem = root_folder.getSiteManager() #utils = [ util for util in sitem.registeredUtilities() #if util.provided.isOrExtends(IAdmUtilLinuxHa)] #instAdmUtilLinuxHa = utils[0].component #instAdmUtilLinuxHa.connect2VimServer() #sitem = root_folder.getSiteManager() ## search for ICatalog #utils = [ util for util in sitem.registeredUtilities() #if util.provided.isOrExtends(ICatalog)] #instUtilityICatalog = utils[0].component #if not "host_esx_uuid_index" in instUtilityICatalog.keys(): #host_esx_uuid_index = FieldIndex(interface=ISearchableText, #field_name='getSearchableEsxUuid', #field_callable=True) #instUtilityICatalog['host_esx_uuid_index'] = host_esx_uuid_index ## search for IAdmUtilSupervisor #utils = [ util for util in sitem.registeredUtilities() #if util.provided.isOrExtends(IAdmUtilSupervisor)] #instAdmUtilSupervisor = utils[0].component #instAdmUtilSupervisor.appendEventHistory(\ #u" bootstrap: ICatalog - create esx uuid index for entry type 'host'") #recursiveLinuxHaSubscriber(root_folder) transaction.get().commit() connection.close()
def onWSGIApplicationCreatedEvent(application, event): """Subscriber to the ore.wsgiapp.interfaces.IWSGIApplicationCreatedEvent. """ initializer = model_interfaces.IBungeniSetup(application) initializer.setUp() log.debug("onWSGIApplicationCreatedEvent: _features: %s" % (getConfigContext()._features))
def bootStrapSubscriber(event): """initialisation of IntId utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) createUtils(root_folder, connection, dummy_db)
def render(self, view): view.response.setHeader('Content-Type', 'text/html') settings_overrides = self.getNamespace(view).get( 'settings_overrides', {}) if not (self._cooked) or getConfigContext().hasFeature('devmode'): self.setFromFilename(self.filename, self._prefix) self._cooked = RSTToHTMLRenderer( self._template, view.request).render(settings_overrides=settings_overrides) return self._cooked
def bootStrapSubscriberDatabase(event): """initialisation of eventcrossbar utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) createUtils(root_folder, connection, dummy_db) from org.ict_ok.admin_utils.compliance.lxml_demo import lxmlDemo lxmlDemo()
def getDeveloperMode(self): """See zope.app.applicationcontrol.interfaces.IRuntimeInfo""" if appsetup is None: return 'undefined' cc=appsetup.getConfigContext() if cc == None: # make the test run return 'undefined' if cc.hasFeature('devmode'): return 'On' return 'Off'
def on_wsgi_application_created_event(application, event): """Additional setup on IWSGIApplicationCreatedEvent. """ # !+ui.app.on_wsgi_application_created_event ALWAYS gets called prior to this log.debug("CORE ON_WSGI_APPLICATION_CREATED_EVENT: %s, %s", application, event) # execute application setup, creating sections, etc. app_setup = IBungeniSetup(application) app_setup.setUp() # additional workflow validation for type_key, ti in capi.iter_type_info(): if ti.workflow: ti.workflow.validate_permissions_roles() # import events module, registering handlers import bungeni.core.workflows.events # load workspaces load_workspaces() # load notifications load_notifications() # load email notifications load_email() # !+SERIALIZER(ah, 21-06-2013) This has been moved to a separate app # set up serialization notifications #serialization_notifications() # import events modules, registering handlers import bungeni.core.events # write configuration parameters to xml import bungeni.utils.xmlconfexport as confexp confexp.write_all() log.info("on_wsgi_application_created_event: _features: %s", getConfigContext()._features) from bungeni.alchemist.utils import set_vocabulary_factory log.info( "on_wsgi_application_created_event: Dynamic Vocabularies:\n %s", "\n ".join( sorted([ "%s%s%s" % (v.__name__, probing.saccadic_padding(v.__name__), v) for v in set_vocabulary_factory.registered ])))
def bootStrapSubscriberDatabase(event): """initialisation of ict_ok supervisor on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madeAdmUtilCategories = ensureUtility(root_folder, IAdmUtilCategories, 'AdmUtilCategories', AdmUtilCategories, '', copy_to_zlog=False, asObject=True) if isinstance(madeAdmUtilCategories, AdmUtilCategories): logger.info(u"bootstrap: Ensure named AdmUtilCategories") dcore = IWriteZopeDublinCore(madeAdmUtilCategories) dcore.title = u"Categories Utility" dcore.created = datetime.utcnow() madeAdmUtilCategories.ikName = dcore.title for strHostGroup in [ u'DNS-Server', u'File-Server', u'Miscellaneous-Server', u'SMTP-Server', u'Terminal-Server', u'Utility-Server', u'Workstation', ]: newHostGroup = AdmUtilCatHostGroup() newHostGroup.__setattr__("ikName", strHostGroup) dcore = IWriteZopeDublinCore(newHostGroup) dcore.created = datetime.utcnow() dcore.title = strHostGroup madeAdmUtilCategories[newHostGroup.objectID] = newHostGroup madeAdmUtilCategories.__post_init__() sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made IAdmUtilCategories-Utility") transaction.get().commit() connection.close()
def on_wsgi_application_created_event(application, event): """Additional setup on IWSGIApplicationCreatedEvent. """ # !+ui.app.on_wsgi_application_created_event ALWAYS gets called prior to this log.debug("CORE ON_WSGI_APPLICATION_CREATED_EVENT: %s, %s", application, event) # additional workflow validation for type_key, ti in capi.iter_type_info(): if ti.workflow: ti.workflow.validate_permissions_roles() #set up retract transitions in workflows setup_retract_transitions() # import events module, registering handlers import bungeni.core.workflows.events # load workspaces load_workspaces() # load notifications load_notifications() # load email notifications load_email() # set up serialization notifications serialization_notifications() # import events modules, registering handlers import bungeni.core.events app_setup = model_interfaces.IBungeniSetup(application) app_setup.setUp() # write configuration parameters to xml try: import bungeni.utils.xmlconfexport as confexp confexp.write_all() except: log.debug(("on_wsgi_application_created :" "error while exporting config parameters to xml")) log.debug("on_wsgi_application_created_event: _features: %s" % (getConfigContext()._features))
def on_wsgi_application_created_event(application, event): """Additional setup on IWSGIApplicationCreatedEvent. """ # !+ui.app.on_wsgi_application_created_event ALWAYS gets called prior to this log.debug("CORE ON_WSGI_APPLICATION_CREATED_EVENT: %s, %s", application, event) # execute application setup, creating sections, etc. app_setup = IBungeniSetup(application) app_setup.setUp() # additional workflow validation for type_key, ti in capi.iter_type_info(): if ti.workflow: ti.workflow.validate_permissions_roles() # import events module, registering handlers import bungeni.core.workflows.events # load workspaces load_workspaces() # load notifications load_notifications() # load email notifications load_email() # !+SERIALIZER(ah, 21-06-2013) This has been moved to a separate app # set up serialization notifications #serialization_notifications() # import events modules, registering handlers import bungeni.core.events # write configuration parameters to xml import bungeni.utils.xmlconfexport as confexp confexp.write_all() log.info("on_wsgi_application_created_event: _features: %s", getConfigContext()._features) from bungeni.alchemist.utils import set_vocabulary_factory log.info("on_wsgi_application_created_event: Dynamic Vocabularies:\n %s", "\n ".join(sorted([ "%s%s%s" % ( v.__name__, probing.saccadic_padding(v.__name__), v) for v in set_vocabulary_factory.registered ])))
def on_wsgi_application_created_event(application, event): """Additional setup on IWSGIApplicationCreatedEvent. """ # !+ui.app.on_wsgi_application_created_event ALWAYS gets called prior to this log.debug("CORE ON_WSGI_APPLICATION_CREATED_EVENT: %s, %s", application, event) # additional workflow validation for type_key, ti in capi.iter_type_info(): if ti.workflow: ti.workflow.validate_permissions_roles() #set up retract transitions in workflows setup_retract_transitions() # import events module, registering handlers import bungeni.core.workflows.events # load workspaces load_workspaces() # load notifications load_notifications() # load email notifications load_email() # set up serialization notifications serialization_notifications() # import events modules, registering handlers import bungeni.core.events app_setup = model_interfaces.IBungeniSetup(application) app_setup.setUp() # write configuration parameters to xml try: import bungeni.utils.xmlconfexport as confexp confexp.write_all() except: log.debug(("on_wsgi_application_created :" "error while exporting config parameters to xml")) log.debug("on_wsgi_application_created_event: _features: %s" % ( getConfigContext()._features))
def actions(self): """ gives us the action dict of the object """ try: objId = getUtility(IIntIds).getId(self.context) except: objId = 1000 retList = [] if appsetup.getConfigContext().hasFeature('devmode') and \ checkPermission('org.ict_ok.components.host.Edit', self.context): quoter = URLQuote(self.request.getURL()) tmpDict = {} tmpDict['oid'] = u"c%strigger_online" % objId tmpDict['title'] = _(u"Trigger online") tmpDict['href'] = u"%s/@@trigger_online?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) tmpDict = {} tmpDict['oid'] = u"c%strigger_offline" % objId tmpDict['title'] = _(u"Trigger offline") tmpDict['href'] = u"%s/@@trigger_offline?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) tmpDict = {} tmpDict['oid'] = u"c%strigger_not1" % objId tmpDict['title'] = _(u"Trigger notification1") tmpDict['href'] = u"%s/@@trigger_not1?nextURL=%s" % \ (zapi.absoluteURL(self.context, self.request), quoter.quote()) retList.append(tmpDict) adapSize = ISized(self.context) if checkPermission('org.ict_ok.components.interface.Add', self.context) and \ (adapSize.sizeForSorting()[1] < 1): tmpDict = {} tmpDict['oid'] = u"c%sstart_snmp_if_scanner" % objId tmpDict['title'] = _(u"start snmp interface scanner") tmpDict['href'] = u"%s/@@start_snmp_if_scanner.html" % \ zapi.absoluteURL(self.context, self.request) tmpDict['tooltip'] = _(u"starts the interface scanner with snmp scan (as user:%s)"\ % self.request.principal.title) retList.append(tmpDict) return retList
def main(): dom = getDOMImplementation() namespaces, subdirs = makeDocStructures(getConfigContext()) common = namespaces.pop('', ()) for ns, directives in namespaces.items(): filename = quoteNS(ns) + '.xsd' file = open(filename, 'w') doc = dom.createDocument(xsns, 'xs:schema', None) root = doc.documentElement root.setAttribute('xmlns:xs', xsns) root.setAttribute('xs:targetNamespace', ns) directives.update(common) for directive in directives: el = doc.createElement('xs:element') el.setAttribute('name', directive) type = doc.createElement('xs:complexType') schema = directives[directive][0] if schema.__doc__: addDoc(doc, type, schema.__doc__) for name, field in getFieldsInOrder(schema): if name.endswith('_') and iskeyword(name[:-1]): name = name[:-1] attr = doc.createElement('xs:attribute') attr.setAttribute('name', name) attr.setAttribute('type', 'string') if field.__doc__: addDoc(doc, attr, field.__doc__) type.appendChild(attr) el.appendChild(type) root.appendChild(el) doc.writexml(file, addindent='\t', newl='\n')
def bootStrapSubscriberDatabase(event): """initialisation of ict_ok supervisor on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") SnmpdThread.database = event.database dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madeAdmUtilSnmpd = ensureUtility(root_folder, IAdmUtilSnmpd, 'AdmUtilSnmpd', AdmUtilSnmpd, '', copy_to_zlog=False, asObject=True) if isinstance(madeAdmUtilSnmpd, AdmUtilSnmpd): logger.info(u"bootstrap: Ensure named AdmUtilSnmpd") dcore = IWriteZopeDublinCore(madeAdmUtilSnmpd) dcore.title = u"Snmpd Utility" dcore.created = datetime.utcnow() madeAdmUtilSnmpd.ikName = dcore.title madeAdmUtilSnmpd.__post_init__() sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor)] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made IAdmUtilSnmpd-Utility") dbgOut = getNewMrtgData(madeAdmUtilSnmpd) if dbgOut: instAdmUtilSupervisor.appendEventHistory(dbgOut) else: # search in global component registry sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSnmpd)] instAdmUtilSnmpd = utils[0].component utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor)] instAdmUtilSupervisor = utils[0].component dbgOut = updateMrtgData(instAdmUtilSnmpd) if dbgOut: instAdmUtilSupervisor.appendEventHistory(dbgOut) transaction.get().commit() connection.close()
def bootStrapSubscriber(event): """initialisation of IntId utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) # search in global component registry sitem = root_folder.getSiteManager() # search for ICatalog utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(ICatalog) ] instUtilityICatalog = utils[0].component if not "script_oid_index" in instUtilityICatalog.keys(): script_oid_index = KeywordIndex(interface=ISearchableText, field_name='getSearchableScriptOid', field_callable=True) instUtilityICatalog['script_oid_index'] = script_oid_index # search for IAdmUtilSupervisor utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: ICatalog - create index for entry type 'script'") folderName = u"MobilePhones" if folderName not in root_folder.keys(): #newFolder = TestComponentFolder() newFolder = createObject( u'org.ict_ok.components.mobilephone.mobilephone.MobilePhoneFolder') root_folder[folderName] = newFolder dcore = IZopeDublinCore(newFolder, None) #dcore.creators = [u'ikportscan'] #newFolder.ikComment += u"scanner: %s" % (dateNow) newFolder.__setattr__("ikName", folderName) dcore.title = folderName transaction.get().commit() connection.close()
def getStateDict(self): """get the object state in form of a dict """ overviewNum = 0 # 0: ok, 1: warn, 2: error warnList = [] errorList = [] retDict = {} if appsetup.getConfigContext().hasFeature('devmode'): if overviewNum < 1: overviewNum = 1 mesg = _(u'Warning: ') mesg += _(u"in development mode") warnList.append(mesg) retDict['overview'] = ('ok', 'warn', 'error')[overviewNum] retDict['warnings'] = warnList retDict['errors'] = errorList if overviewNum == 0: return None return retDict
def bootStrapSubscriber(event): """initialisation of IntId utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) # search in global component registry sitem = root_folder.getSiteManager() # search for ICatalog utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(ICatalog)] instUtilityICatalog = utils[0].component if not "all_comments_index" in instUtilityICatalog.keys(): all_comments_index = TextIndex(interface=ISearchableText, field_name='getSearchableComments', field_callable=True) instUtilityICatalog['all_comments_index'] = all_comments_index # search for IAdmUtilSupervisor utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor)] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: ICatalog - create index for all comments") if not "all_notes_index" in instUtilityICatalog.keys(): all_notes_index = TextIndex(interface=ISearchableText, field_name='getSearchableNotes', field_callable=True) instUtilityICatalog['all_notes_index'] = all_notes_index # search for IAdmUtilSupervisor utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor)] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: ICatalog - create index for all notes") transaction.get().commit() connection.close()
def bootStrapSubscriberDatabase(event): """initialisation of usermanagement utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madePluggableAuthentication = ensureUtility(\ root_folder, IAdmUtilUserManagement, 'AdmUtilUserManagement', AdmUtilUserManagement, copy_to_zlog=False, asObject=True) if isinstance(madePluggableAuthentication, PluggableAuthentication): logger.info(u"bootstrap: Ensure named AdmUtilUserManagement") dcore = IWriteZopeDublinCore(madePluggableAuthentication) dcore.title = u"User Authentication" dcore.created = datetime.utcnow() madePluggableAuthentication.ikName = dcore.title # madePluggableAuthentication.__post_init__() sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made AdmUtilUserManagement-Utility") groups = GroupFolder(u'group.') madePluggableAuthentication[u'groups'] = groups principals = PrincipalFolder(u'principal.') madePluggableAuthentication[u'principals'] = principals madePluggableAuthentication.credentialsPlugins = \ (u'Session Credentials', u'No Challenge if Authenticated',) p_user = InternalPrincipal(u'User', u'User', u'Initial User', passwordManagerName="SHA1") p_manager = InternalPrincipal(u'Manager', u'Manager', u'Initial Manager', passwordManagerName="SHA1") p_admin = InternalPrincipal(u'Administrator', u'Administrator', u'Initial Administrator', passwordManagerName="SHA1") p_developer = InternalPrincipal(u'Developer', u'Developer', u'Initial Developer', passwordManagerName="SHA1") principals[u'User'] = p_user principals[u'Manager'] = p_manager principals[u'Administrator'] = p_admin principals[u'Developer'] = p_developer grp_usr = GroupInformation( u'User', u'view & analyse data, generate reports ' u'& leave notes at any object') grp_mgr = GroupInformation( u'Manager', u'search, connect, configure ' u'& delete devices') grp_adm = GroupInformation( u'Administrator', u'install, configure ' u'& administrate System') grp_dvl = GroupInformation( u'Developer', u'individual adaption ' u'& development on System') grp_usr.principals = [u'principal.User'] grp_mgr.principals = [u'principal.Manager'] grp_adm.principals = [u'principal.Administrator'] grp_dvl.principals = [u'principal.Developer'] groups[u'User'] = grp_usr groups[u'Manager'] = grp_mgr groups[u'Administrator'] = grp_adm groups[u'Developer'] = grp_dvl madePluggableAuthentication.authenticatorPlugins = (u'groups', u'principals') prm = IPrincipalRoleManager(root_folder) prm.assignRoleToPrincipal(u'org.ict_ok.usr', u'group.User') prm.assignRoleToPrincipal(u'org.ict_ok.mgr', u'group.Manager') prm.assignRoleToPrincipal(u'org.ict_ok.adm', u'group.Administrator') prm.assignRoleToPrincipal(u'org.ict_ok.dvl', u'group.Developer') transaction.get().commit() connection.close()
def bootStrapSubscriber(event): """initialisation of IntId utility on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) # madeUtilityIIntIds = ensureUtility(root_folder, # IIntIds, # '', # IntIds, # name='IntIds', # copy_to_zlog=False, # asObject=True) # # if isinstance(madeUtilityIIntIds, IntIds): # logger.info(u"bootstrap: made IIntIds-Utility") # dcore = IWriteZopeDublinCore(madeUtilityIIntIds) # dcore.title = u"Object Id Manager" # dcore.created = datetime.now(berlinTZ) # sitem = root_folder.getSiteManager() # utils = [ util for util in sitem.registeredUtilities() # if util.provided.isOrExtends(IAdmUtilSupervisor)] # instAdmUtilSupervisor = utils[0].component # instAdmUtilSupervisor.appendEventHistory(\ # u" bootstrap: made IIntIds-Utility") # # madeUtilityICatalog = ensureUtility(root_folder, # ICatalog, # '', # Catalog, # name='Catalog', # copy_to_zlog=False, # asObject=True) # # if isinstance(madeUtilityICatalog, Catalog): # logger.info(u"bootstrap: made ICatalog-Utility") # dcore = IWriteZopeDublinCore(madeUtilityICatalog) # dcore.title = u"Search Manager" # dcore.created = datetime.now(berlinTZ) # oid_index = TextIndex(interface=ISearchableText, # field_name='getSearchableOid', # field_callable=True) # madeUtilityICatalog['oid_index'] = oid_index # sitem = root_folder.getSiteManager() # utils = [ util for util in sitem.registeredUtilities() # if util.provided.isOrExtends(IAdmUtilSupervisor)] # instAdmUtilSupervisor = utils[0].component # instAdmUtilSupervisor.appendEventHistory(\ # u" bootstrap: made ICatalog-Utility") # # # search in global component registry # sitem = root_folder.getSiteManager() # # search for ICatalog # utils = [ util for util in sitem.registeredUtilities() # if util.provided.isOrExtends(ICatalog)] # instUtilityICatalog = utils[0].component # if not "all_comments_index" in instUtilityICatalog.keys(): # all_comments_index = TextIndex(interface=ISearchableText, # field_name='getSearchableComments', # field_callable=True) # instUtilityICatalog['all_comments_index'] = all_comments_index # # search for IAdmUtilSupervisor # utils = [ util for util in sitem.registeredUtilities() # if util.provided.isOrExtends(IAdmUtilSupervisor)] # instAdmUtilSupervisor = utils[0].component # instAdmUtilSupervisor.appendEventHistory(\ # u" bootstrap: ICatalog - create index for all comments") # if not "all_notes_index" in instUtilityICatalog.keys(): # all_notes_index = TextIndex(interface=ISearchableText, # field_name='getSearchableNotes', # field_callable=True) # instUtilityICatalog['all_notes_index'] = all_notes_index # # search for IAdmUtilSupervisor # utils = [ util for util in sitem.registeredUtilities() # if util.provided.isOrExtends(IAdmUtilSupervisor)] # instAdmUtilSupervisor = utils[0].component # instAdmUtilSupervisor.appendEventHistory(\ # u" bootstrap: ICatalog - create index for all notes") transaction.get().commit() connection.close()
def bootStrapSubscriberDatabase(event): """initialisation of ict_ok supervisor on first database startup """ if appsetup.getConfigContext().hasFeature('devmode'): logger.info(u"starting bootStrapSubscriberDatabase (org.ict_ok...)") dummy_db, connection, dummy_root, root_folder = \ getInformationFromEvent(event) madeAdmUtilSupervisor = ensureUtility(root_folder, IAdmUtilSupervisor, 'AdmUtilSupervisor', AdmUtilSupervisor, '', copy_to_zlog=False, asObject=True) if isinstance(madeAdmUtilSupervisor, AdmUtilSupervisor): logger.info(u"bootstrap: Ensure named AdmUtilSupervisor") instAdmUtilSupervisor = madeAdmUtilSupervisor # attribute is defined readonly, so first toggle this IAdmUtilSupervisor['nbrStarts'].readonly = False instAdmUtilSupervisor.nbrStarts += 1 IAdmUtilSupervisor['nbrStarts'].readonly = True instAdmUtilSupervisor.appendEventHistory(u"Database started (Vers. %s)" \ % getIkVersion()) dcore = IWriteZopeDublinCore(madeAdmUtilSupervisor) dcore.title = u"ICT_Ok Supervisor" dcore.created = datetime.utcnow() madeAdmUtilSupervisor.ikName = dcore.title madeAdmUtilSupervisor.__post_init__() else: # search in global component registry sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component # attribute is defined readonly, so first toggle this IAdmUtilSupervisor['nbrStarts'].readonly = False instAdmUtilSupervisor.nbrStarts += 1 IAdmUtilSupervisor['nbrStarts'].readonly = True instAdmUtilSupervisor.appendEventHistory(\ u"Database started (Vers. %s) (%d bytes) (%d objects)" \ % (getIkVersion(), dummy_db.getSize(), dummy_db.objectCount())) dcore = IWriteZopeDublinCore(instAdmUtilSupervisor) dcore.title = u"ICT_Ok Supervisor" dcore.modified = datetime.utcnow() madeUtilityIIntIds = ensureUtility(root_folder, IIntIds, '', IntIds, '', copy_to_zlog=False, asObject=True) if isinstance(madeUtilityIIntIds, IntIds): logger.info(u"bootstrap: made IIntIds-Utility") dcore = IWriteZopeDublinCore(madeUtilityIIntIds) dcore.title = u"ICT_Ok Object Id Manager" dcore.created = datetime.utcnow() sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made IIntIds-Utility") madeUtilityICatalog = ensureUtility(root_folder, ICatalog, '', Catalog, '', copy_to_zlog=False, asObject=True) if isinstance(madeUtilityICatalog, Catalog): logger.info(u"bootstrap: made ICatalog-Utility") dcore = IWriteZopeDublinCore(madeUtilityICatalog) dcore.title = u"ICT_Ok Search Manager" dcore.created = datetime.utcnow() oid_index = TextIndex(interface=ISearchableText, field_name='getSearchableOid', field_callable=True) madeUtilityICatalog['oid_index'] = oid_index sitem = root_folder.getSiteManager() utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: made ICatalog-Utility") # search in global component registry sitem = root_folder.getSiteManager() # search for ICatalog utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(ICatalog) ] instUtilityICatalog = utils[0].component if not "all_comments_index" in instUtilityICatalog.keys(): all_comments_index = TextIndex(interface=ISearchableText, field_name='getSearchableComments', field_callable=True) instUtilityICatalog['all_comments_index'] = all_comments_index # search for IAdmUtilSupervisor utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: ICatalog - create index for all comments") if not "all_notes_index" in instUtilityICatalog.keys(): all_notes_index = TextIndex(interface=ISearchableText, field_name='getSearchableNotes', field_callable=True) instUtilityICatalog['all_notes_index'] = all_notes_index # search for IAdmUtilSupervisor utils = [ util for util in sitem.registeredUtilities() if util.provided.isOrExtends(IAdmUtilSupervisor) ] instAdmUtilSupervisor = utils[0].component instAdmUtilSupervisor.appendEventHistory(\ u" bootstrap: ICatalog - create index for all notes") transaction.get().commit() connection.close()