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
Esempio n. 2
0
    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
Esempio n. 3
0
 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
Esempio n. 4
0
    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
Esempio n. 5
0
 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    
Esempio n. 6
0
 def getClients():
     clients = {}
     for wikiUser in WikiUser.getWikiUsers().values():
         wikiClient = WikiClient(wikiUser)
         clients[wikiUser.wikiId] = wikiClient
     return clients
Esempio n. 7
0
 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)