def add_trail(self, item_name): """ Add item name to trail. :param item_name: the item name (unicode) to add to the trail """ item_name = getInterwikiName(item_name) trail_in_session = session.get('trail', []) trail = trail_in_session[:] trail = [i for i in trail if i != item_name] # avoid dupes trail.append(item_name) # append current item name at end trail = trail[-self._cfg.trail_size:] # limit trail length if trail != trail_in_session: session['trail'] = trail
def quicklink(self, pagename): """ Adds a page to the user quicklinks Add links as interwiki names. :param pagename: page name :type pagename: unicode :rtype: bool :returns: if pagename was added """ quicklinks = self.quicklinks interWikiName = getInterwikiName(pagename) if interWikiName and interWikiName not in quicklinks: quicklinks.append(interWikiName) self.save(force=True) return True return False
def quickunlink(self, pagename): """ Remove a page from user quicklinks Remove interwiki name from quicklinks. :param pagename: page name :type pagename: unicode :rtype: bool :returns: if pagename was removed """ quicklinks = self.quicklinks interWikiName = getInterwikiName(pagename) if interWikiName and interWikiName in quicklinks: quicklinks.remove(interWikiName) self.save(force=True) return True return False
def is_quicklinked_to(self, pagelist): """ Check if user quicklink matches any page in pagelist. :param pagelist: list of pages to check for quicklinks :rtype: bool :returns: if user has quicklinked any page in pagelist """ if not self.valid: return False quicklinks = self.quicklinks for pagename in pagelist: interWikiName = getInterwikiName(pagename) if interWikiName and interWikiName in quicklinks: return True return False