def getSMW(self, wikiId='orth', url='https://confident.dbis.rwth-aachen.de'): smw = None wikiclient = None wusers = WikiUser.getWikiUsers() if 'test' in wusers: wuser = wusers[wikiId] if wuser.url.startswith(url): wikiclient = WikiClient.ofWikiUser(wuser) smw = SMWClient(wikiclient.getSite()) return smw, wikiclient
def testWikiUser(self): ''' test the wiki user handling ''' if getpass.getuser() == "travis": return wikiUsers = WikiUser.getWikiUsers() for wikiUser in wikiUsers.values(): print(wikiUser) testUser = WikiUser.ofWikiId("test") print(testUser) pass
def getBots(limit=None, name=None, valueExpr=None): bots = {} wikiUsers = WikiUser.getWikiUsers().values() for wikiUser in wikiUsers: selected = True if name is not None: value = wikiUser.__dict__[name] found = re.search(valueExpr, value) selected = found is not None if selected: wikibot = WikiBot(wikiUser) bots[wikiUser.wikiId] = wikibot if limit is not None and len(bots) >= limit: break return bots
def testWikiUser(self): ''' test the wiki user handling ''' if TestWikiUser.inPublicCI(): return wikiUsers = WikiUser.getWikiUsers() for wikiUser in wikiUsers.values(): if self.debug: print(wikiUser) testUser = WikiUser.ofWikiId("test") if self.debug: print(testUser) self.assertEqual("http://test.bitplan.com", testUser.getWikiUrl()) pass
def wikis(self) -> str: ''' render the wikis table Returns: str: the html code for the table of wikis ''' wikiUsers = WikiUser.getWikiUsers() dictList = [] for wikiUser in wikiUsers.values(): url="%s%s/" % (wikiUser.url,wikiUser.scriptPath) wikiBackup=WikiBackup(wikiUser) dictList.append({ 'wikiId': Link(url,wikiUser.wikiId), 'url': Link(wikiUser.url,wikiUser.url), 'scriptPath':wikiUser.scriptPath, 'version':wikiUser.version, 'backup': "✅" if wikiBackup.exists() else "❌", 'git': Icon("github",32) if wikiBackup.hasGit() else "" }) menuList=self.adminMenuList("Wikis") html = render_template("tableview.html", menuList=menuList,title="Wikis", dictList=dictList) return html
def getClients(): clients = {} for wikiUser in WikiUser.getWikiUsers().values(): wikiClient = WikiClient(wikiUser) clients[wikiUser.wikiId] = wikiClient return clients
def __init__(self, host=None, port=8334, debug=False): ''' constructor ''' scriptdir = os.path.dirname(os.path.abspath(__file__)) template_folder=scriptdir + '/../templates' if host is None: host=socket.gethostname() super().__init__(host=host,port=port,debug=debug,template_folder=template_folder,explainTemplateLoading=True) self.sseBluePrint=SSE_BluePrint(self.app,'sse') self.loginBluePrint=LoginBluePrint(self.app,'login',welcome="home") # server specific configurations link=Link("http://www.bitplan.com",title="BITPlan GmbH") self.copyRight=Copyright(period="2020-2022",link=link) self.scandir=DMSStorage.getScanDir() self.wikiUsers=WikiUser.getWikiUsers() self.sqlDB=DMSStorage.getSqlDB() self.am=ArchiveManager.getInstance() self.fm=FolderManager.getInstance() self.dm=DocumentManager.getInstance() self.archivesByName,_dup=self.am.getLookup("name") @self.app.route('/') def homeroute(): return self.home() @self.app.route('/files') @self.app.route('/files/<path:path>') def files(path='.'): return self.files(path) @self.app.route('/scandir') def showScanDirectory(): return self.watchDir() @self.app.route('/archives/getFoldersAndFiles/<name>') def getFoldersAndFiles(name:str): return self.getFoldersAndFiles(name) @self.app.route('/archives/refresh') def refreshArchives(): return self.refreshArchives() @self.app.route('/archives') def showArchives(): return self.showArchives() @self.app.route('/archive/<name>') def showArchive(name:str): return self.showArchive(name) @self.app.route('/folders') def showFolders(): return self.showFolders() @self.app.route('/folder/<archiveName>/<path:folderPath>/refresh') def refreshFolder(archiveName:str=None,folderPath=None): return self.refreshFolder(archiveName,f"/{folderPath}") @self.app.route('/folder/<archiveName>/<path:folderPath>') def showFolder(archiveName:str=None,folderPath=None): return self.showFolder(archiveName,f"/{folderPath}") @self.app.route('/documents') def showDocuments(): return self.showDocuments() @self.app.route('/delete/<path:path>') def delete(path=None): return self.delete(path) @self.app.route('/upload/<path:path>',methods=['GET', 'POST']) def upload(path=None): return self.upload(path)