def main(q, i, p, params, tags): alkira = Alkira(p.api) params['result'] = alkira.updateUser(params['userguid'], name=params['name'], password=params['password'])
def main(q, i, p, params, tags): q.logger.log('Creating user %s' % params['name'], 1) alkira = Alkira(p.api) user = alkira.createUser(login=params['login'], password=params['password'], name=params['name']) params['result'] = user
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.updateBookmark(params['bookmarkguid'], name=params['name'], url=params['url'], order=params['order']) params['result'] = True
def __init__(self, tasklets=list()): basedir = os.path.join(q.dirs.pyAppsDir, p.api.appname) self._authenticate = q.taskletengine.get(os.path.join(basedir, 'impl', 'authenticate')) self._authorize = q.taskletengine.get(os.path.join(basedir, 'impl', 'authorize')) self.tasklets = tasklets self.alkira = Alkira(p.api) self.connection = OsisDB().getConnection(p.api.appname)
def main(q, i, p, params, tags): q.logger.log('Creating space %s' % params['name'], 1) alkira = Alkira(p.api) alkira.createProject(params['name'], params['path'], tagsList=params.get("tags", "").split(" ")) params['result'] = True
def main(q, i, p, params, tags): q.logger.log('Creating rule for %s with function %s and context %s' % \ (params['groupguids'], params['function'], params['context']), 1) alkira = Alkira(p.api) alkira.assignRule(params['groupguids'], params['function'], params['context']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) tags = params.get("tags") alkira.updateProject(params['projectguid'], newname=params['name'], path=params['path'], tagsList=tags.split(" ") if tags else None) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) result = alkira.findMacroConfig(space=params['space'], page=params['page'], macro=params['macro'], configid=params['configid'], username=params['username'], exact_properties=params['exact_properties']) params['result'] = result
def linkExists(link, client, currentSpace): linkparts = link.split("/") if isExternalLink(linkparts): return "EXTERNAL" lenLink = len(linkparts) if linkparts[0] in ("http:", "https:"): #['http:', '', '0.0.0.0', 'pyapp_name', '#', 'Admin', 'Home'] if not (7 >= lenLink >= 6) or linkparts[4] != "#": return "INVALID" if lenLink == 7: appname, space, page = linkparts[3], linkparts[5], linkparts[6] else: appname, space, page = linkparts[3], linkparts[5], "Home" if linkparts[0] == '': #['', 'pyapp_name', '#', 'Admin', 'Home'] if not (5 >= lenLink >= 4) or linkparts[2] != "#": return "INVALID" if lenLink == 5: appname, space, page = linkparts[1], linkparts[3], linkparts[4] else: appname, space, page = linkparts[1], linkparts[3], "Home" elif linkparts[0] == '#': #['#', 'Admin', 'Home'] if not (3 >= lenLink >= 2): return "INVALID" appname = client.api.appname if lenLink == 3: space, page = linkparts[1:] else: space, page = linkparts[1], "Home" elif lenLink == 1: appname = client.api.appname space = currentSpace page = linkparts[0] elif isImageFile(linkparts[-1]): return "IMAGE" else: return "INVALID" if not q.manage.applicationserver.isRunning(appname): return "UNKNOWN" if appname != client.api.appname: client = Alkira(p.api) result = client.spaceExists(space) and client.pageExists(space, page) return "OK" if result else "MISSING"
def main(q, i, p, params, tags): alkira = Alkira(p.api) result = alkira.pageFind(name=params['name'], space=params['space'], category=params['category'], parent=params['parent'], tags=params['tags'], order=params['order'], title=params['title'], exact_properties=params['exact_properties']) params['result'] = result
def main(q, i, p, params, tags): q.logger.log('Creating space %s' % params['name'], 1) alkira = Alkira(p.api) space = alkira.createSpace( params['name'], params.get("tags", "").split(" "), params.get('repository'), params.get('repo_username'), params.get('repo_password'), order=params['order'] if params['order'] else 10000) params['result'] = space.guid
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.updateMacroConfig( space=params['space'], page=params['page'], macro=params['macro'], config=params['config'], username=params['username'], configid=params['configid'] if params['configid'] else None) params['result'] = True
def main(q, i, p, params, tags): q.logger.log('Creating config %s/%s/%s/%s for user %s' % (params['space'], params['name'], params['macro'], params['configid'] if params['configid'] else "", params['username']), 1) alkira = Alkira(p.api) alkira.updateMacroConfig(space=params['space'], page=params['page'], macro=params['macro'], config=params['config'], configid=params['configid'] if params['configid'] else None, username=params['username']) params['result'] = True
def getInvalidLinks(spaces=None, pages=None, showValid=True): result = list() client = Alkira(p.api) if not spaces: spaces = client.listSpaces() for space in spaces: for page in client.listPages(space): if pages and (page not in pages): continue result += getPageReport(client, space, page, False, showValid=showValid) return result
def main(q, i, p, params, tags): q.logger.log('Creating page %s/%s' % (params['space'], params['name']), 1) alkira = Alkira(p.api) parent = alkira.getPageByGUID(params["parent"]).name if params['parent'] else None for key in params: if type(params[key]) == unicode: params[key] = params[key].encode('utf-8') page = alkira.createPage(space=params['space'], name=params['name'], content=params['content'], order=params['order'] if params['order'] else 10000, title=params['title'] if params['title'] else params['name'], tagsList=params.get('tags', '').split(" ") if params['tags'] else [], category=params['category'], parent=parent, description=params['description']) if page: params['result'] = page.guid else: params['result'] = None
def main(q, i, p, params, tags): tags = params["tags"].tags appname = p.api.appname client = Alkira(p.api) # pages = spaces = None showValid = True if "pages" in tags: pages = list(item.strip() for item in tags["pages"].split(",")) if "spaces" in tags: if tags["spaces"] == "*": spaces = client.listSpaces() else: spaces = list(item.strip() for item in tags["spaces"].split(",")) if "showvalid" in tags: showValid = (tags["showvalid"].lower() == "true") # if pages or spaces: result = getInvalidLinks(spaces, pages, showValid) else: result = getPageReport(client, tags["space"], tags["page"], True, showValid=showValid) html = "<TABLE><TR><TD>Page</TD><TD>URL</TD><TD>Status</TD></TR>" row = "<TR><TD>%s</TD><TD>%s</TD><TD>%s</TD></TR>" for item in result: parenturl = "/%s/#/%s" % (appname, item[0]) if item[1] == "link": html += row % ("[%s](%s)" % (parenturl, parenturl), "[%s](%s)" % (item[2], item[2]), item[3]) elif item[1] == "macro": html += row % ("[%s](%s)" % (parenturl, parenturl), "[[%s]]" % (item[2]), item[3]) html += "</TABLE>" html = html.replace('\n#', '\n\#') html = html.replace('\n', '') params['result'] = "%s" % html
def main(q, i, p, params, tags): alkira = Alkira(p.api) page = alkira.getPageByGUID(params['pageguid']) parent = alkira.getPageByGUID( params["parent"]).name if params['parent'] else None for key in params: if type(params[key]) == unicode: params[key] = params[key].encode('utf-8') alkira.updatePage( space=page.space, old_name=page.name, name=params['name'], content=params['content'], order=params['order'] if params['order'] else 10000, title=params['title'] if params['title'] else params['name'], tagsList=params.get('tags', '').split(" ") if params['tags'] else None, category=params['category'], parent=parent, description=params['description']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.deleteGroup(params['groupguid']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.deleteUserFromGroup(userguid=params['userguid'], groupguid=params['groupguid']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.deleteSpace(params['spaceguid']) params['result'] = True
def main(q, i, p, params, tags): q.logger.log('Creating bookmark %s - %s' % (params['name'], params['url']), 1) alkira = Alkira(p.api) alkira.createBookmark(params['name'], params['url'], params['order']) params['result'] = True
def main(q, i, p, params, tags): #pylint: disable=W0613 children_str = "" macro_tags = params['tags'].tags space = macro_tags['space'] page = macro_tags['page'] depth = int(macro_tags.get('depth', '1')) root_page = macro_tags.get('root', page) appname = p.api.appname alkira_client = Alkira(p.api) all_pages_info = alkira_client.listPageInfo(space) all_pages_info = filter(lambda x: x['name'] != 'pagetree', all_pages_info) #pylint: disable=W0141 page_guid_dict = dict([(x['name'], x['guid']) for x in all_pages_info]) page_parent_dict = dict([(x['name'], x['parent']) for x in all_pages_info]) page_title_dict = dict([(x['name'], x['title']) for x in all_pages_info]) page_order_dict = dict([(x['name'], x['order']) for x in all_pages_info]) all_pages = [x['name'] for x in all_pages_info] if root_page != 'all': root_pages = [root_page] else: root_pages = [x['name'] for x in all_pages_info if not x['parent']] if (root_page != 'all') and (root_page not in all_pages): children_str = 'Page "%s" does not exist.' % root_page def getGuid(page_name): return page_guid_dict.get(page_name) def getParent(page_name): return page_parent_dict.get(page_name) def getTitle(page_name): title = page_title_dict.get(page_name) return title if title else "" def childPages(root, pages, tree, tree_depth): tree_depth -= 1 children = {} root_guid = getGuid(root) for page in pages: page_parent = getParent(page) if root_guid == page_parent: children[page] = {} tree[root] = children if tree_depth > 0: for child in tree[root].keys(): childPages(child, all_pages, tree[root], tree_depth) return tree values = [] for each_root_page in root_pages: values.append( childPages(each_root_page, all_pages, {each_root_page: {}}, depth)) def pageSorter(page1, page2): result = cmp(page_order_dict[page1], page_order_dict[page2]) if result == 0: result = cmp(page_title_dict[page1], page_title_dict[page2]) if result == 0: result = cmp(page1, page2) return result def treePrint(indent, value_dict, hide, children_string): if value_dict: for item in sorted(value_dict, cmp=pageSorter): if hide == True: children_string = treePrint(0, value_dict[item], False, children_string) else: page_title = getTitle(item).replace("_", "\_") or item children_string += indent * ' ' + "* <a href='/" + appname + '/#/' + space + '/' + item + "'>" + page_title + '</a> \n' children_string = treePrint(indent + 4, value_dict[item], False, children_string) return children_string for each_value in values: if root_page == 'all': children_str = treePrint(0, each_value, False, children_str) else: children_str = treePrint(0, each_value, True, children_str) result = """ %s - - - """ % (children_str) params['result'] = result
def main(q, i, p, params, tags): from alkira import Alkira api = p.application.getAPI(params["appname"], context=q.enumerators.AppContext.APPSERVER) alk = Alkira(api) alk.createDefaultRules()
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.revokeRule(params['groupguids'], params['function'], params['context']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.deleteMacroConfigByGUID(params['pageguid']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) tags = params.get("tags") alkira.updateSpace(params['spaceguid'], params['name'], tags.split(" ") if tags else None, order=params['order'] if params['order'] else 10000) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.addUserToGroup(userguid=params['userguid'], groupguid=params['groupguid']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.deleteUser(params['userguid']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.deleteBookmark(params['bookmarkguid']) params['result'] = True
def main(q, i, p, params, tags): alkira = Alkira(p.api) alkira.deleteProject(params['projectguid']) params['result'] = True