def post(self, *args): """""" previous_title = self.request.get('previous_title') title = self.request.get('title') tags = self.request.get('tags') text = self.request.get('text') return_url = self.request.get('return_url') error = "" if self.namespace and self.namespace.own_by(self.current_user): if previous_title and (previous_title != title): previous_tiddler = Tiddler.get_by_key_name(previous_title,parent=self.namespace) if not previous_tiddler: error = "can't delete previous tiddler '%s'" % previous_title else: previous_tiddler.delete() modifier = self.current_user.username if not User.get_by_username(modifier) or not User.get_by_username(modifier).is_registered(): error = "Current user not registered" if (error): body = self.create_form(self.type_url,self.type_url,error,title,tags,text) self.send_page(body) else: tiddler = Tiddler.create_or_update(self.namespace, modifier=modifier, title=title, tags=tags, text=text, newTitle=title) self.redirect(return_url+"/"+util.url_encode(tiddler.title)) else: if self.namespace: self.error(401) else: self.error(404) return
def display(self, tiddlywiki): owner = tiddlywiki.parent() if tiddlywiki.private_access: access = 'private' else: access = 'public' r = """ name: %(name)s<br> namespace: %(namespace_name)s<br> owner: %(owner_name)s<br> access: %(access)s<br> title: %(title)s<br> subtitle: %(subtitle)s<br> """%{'name': tiddlywiki.name, 'namespace_name': tiddlywiki.namespace.name, 'owner_name': owner.username, 'access': access, \ 'title': tiddlywiki.title, 'subtitle': tiddlywiki.subtitle} r += "Tiddlers:<br>" r+="<ul>\n" tiddlers = [] for t in tiddlywiki.tiddlers: t = Tiddler.get(t) if t: tiddlers.append((t.title, t)) tiddlers.sort() for (title, tiddler) in tiddlers: if tiddler: r+='<li><a href=\"/'+util.url_encode(owner.username)+'/'+config.namespace_name+'/'+util.url_encode(tiddlywiki.namespace.name)+'/'+config.tiddler_name+'/'+util.url_encode(tiddler.title)+'\">'+tiddler.title+'<a></li>\n' r+="</ul>\n" return r
def create_form(self, action,return_url='/', error='', namespace=None, name='', previous_name='', private_access= False, title='', subtitle='', tiddlers=''): namespace_name = '' if namespace: namespace_name = namespace.name access = '' if private_access: access = 'CHECKED' r = """ <form action="%(action)s" method="POST"> <input type="hidden" name="return_url" value="%(return_url)s"> <input type="hidden" name="previous_name" value="%(previous_name)s"> <strong>%(error)s</strong><P> Name: <input name=name value="%(name)s" size=80><br> Namespace: <input name=namespace_name value="%(namespace_name)s" size=80><br> Private access: <input type="checkbox" name="access" %(access)s><br> Title: <input name=title value="%(title)s" size=80><br> Sub title: <input name=subtitle value="%(subtitle)s" size=80><br> """ % {'action': action, 'return_url': return_url, 'error': error, 'name': name, 'namespace_name': namespace_name, 'previous_name': previous_name, \ 'access': access, 'title': title, 'subtitle': subtitle} if namespace: r += "\nTiddlers: <ul>" namespace_name = namespace.name tiddlers_in_namespace = Tiddler.list_for(namespace) for tiddler in tiddlers_in_namespace: if tiddler.key() in tiddlers: checked = 'CHECKED' else: checked = '' r += """<li><input type=CHECKBOX NAME="%s" %s ><a href="/namespace/%s/tiddler/%s">%s</a></li>""" % (util.url_encode(tiddler.title), checked, util.url_encode(namespace.name), util.url_encode(tiddler.title), tiddler.title) r += """ </ul> <input type=submit label="Submit"> </form> """ return r
def list_in_html(self, type_url, namespace): results = Tiddler.list_for(namespace) r = "<ul>\n" for tiddler in results: r += "<li><a href=\"%s/%s\">%s</a></li>\n"%(type_url, util.url_encode(tiddler.title),tiddler.title) r += "</ul>\n" return r
def list_in_html(self, type_url, namespace): results = Tiddler.list_for(namespace) r = "<ul>\n" for tiddler in results: r += "<li><a href=\"%s/%s\">%s</a></li>\n" % ( type_url, util.url_encode(tiddler.title), tiddler.title) r += "</ul>\n" return r
def post(self, *args): """""" previous_title = self.request.get('previous_title') title = self.request.get('title') tags = self.request.get('tags') text = self.request.get('text') return_url = self.request.get('return_url') error = "" if self.namespace and self.namespace.own_by(self.current_user): if previous_title and (previous_title != title): previous_tiddler = Tiddler.get_by_key_name( previous_title, parent=self.namespace) if not previous_tiddler: error = "can't delete previous tiddler '%s'" % previous_title else: previous_tiddler.delete() modifier = self.current_user.username if not User.get_by_username(modifier) or not User.get_by_username( modifier).is_registered(): error = "Current user not registered" if (error): body = self.create_form(self.type_url, self.type_url, error, title, tags, text) self.send_page(body) else: tiddler = Tiddler.create_or_update(self.namespace, modifier=modifier, title=title, tags=tags, text=text, newTitle=title) self.redirect(return_url + "/" + util.url_encode(tiddler.title)) else: if self.namespace: self.error(401) else: self.error(404) return
def initialize(self, request, response): """ W: Vérifier l'existence des ressources ???? """ super(Handler, self).initialize(request, response) # Attributes if 'suffix' in self.url_groupdict: self.suffix = self.url_groupdict['suffix'] else: self.suffix = '' if self.suffix: self.type_url = self.ressource_url = self.request.path_info[0:( len(self.request.path_info) - len(self.suffix))] # without suffix else: self.type_url = self.ressource_url = self.request.path_info self.current_user = None if User.get_current_user() and User.get_current_user().is_registered(): self.current_user = User.get_current_user() # Attributes present only if ressource reference it if 'username' in self.url_groupdict: self.user = User.get_by_username( util.url_decode(self.url_groupdict['username'])) if 'namespace_id' in self.url_groupdict: self.namespace = Namespace.get_by_key_name(util.url_decode( self.url_groupdict['namespace_id']), parent=self.user) if 'tiddler_id' in self.url_groupdict: self.tiddler = Tiddler.get_by_key_name(util.url_decode( self.url_groupdict['tiddler_id']), parent=self.namespace) if 'tiddlywiki_id' in self.url_groupdict: self.tiddlywiki = Tiddlywiki.get_by_key_name(util.url_decode( self.url_groupdict['tiddlywiki_id']), parent=self.user) # set type_url if 'type' in self.url_groupdict: t = self.type = self.url_groupdict['type'] if self.user: self.type_url = '/' + util.url_encode(self.user.username) else: self.type_url = '/' + self.url_groupdict['username'] if t == 'namespaces': self.type_url += '/' + config.namespace_name elif t == 'tiddlers': self.type_url += '/' + config.namespace_name + '/' + self.url_groupdict[ 'namespace_id'] + '/' + config.tiddler_name elif t == 'tiddlywikis': self.type_url += '/' + config.tiddlywiki_name
def get(self, *args): """""" # iterate on each Tiddler nb = self.request.get("nb") if not nb: nb = 0 else: nb = int(nb) body = '<ul>' query = Tiddler.all() query.order('title') tiddlers = query.fetch(50, 50 * nb) for t in tiddlers: body += '<li>%s:%s:%s</li>' % (t.title, t.modifier, t.modifier2) if t.modifier2: t.modifier = t.modifier2 t.modifier2 = None t.put() body += '</ul>' self.send_page(content_body=body)
def initialize(self, request, response): """ W: Vérifier l'existence des ressources ???? """ super(Handler, self).initialize(request, response) # Attributes if 'suffix' in self.url_groupdict: self.suffix = self.url_groupdict['suffix'] else: self.suffix = '' if self.suffix: self.type_url = self.ressource_url = self.request.path_info[0:(len(self.request.path_info)-len(self.suffix))] # without suffix else: self.type_url = self.ressource_url = self.request.path_info self.current_user = None if User.get_current_user() and User.get_current_user().is_registered(): self.current_user = User.get_current_user() # Attributes present only if ressource reference it if 'username' in self.url_groupdict: self.user = User.get_by_username(util.url_decode(self.url_groupdict['username'])) if 'namespace_id' in self.url_groupdict: self.namespace = Namespace.get_by_key_name(util.url_decode(self.url_groupdict['namespace_id']), parent=self.user) if 'tiddler_id' in self.url_groupdict: self.tiddler = Tiddler.get_by_key_name(util.url_decode(self.url_groupdict['tiddler_id']),parent=self.namespace) if 'tiddlywiki_id' in self.url_groupdict: self.tiddlywiki = Tiddlywiki.get_by_key_name(util.url_decode(self.url_groupdict['tiddlywiki_id']),parent=self.user) # set type_url if 'type' in self.url_groupdict: t = self.type = self.url_groupdict['type'] if self.user: self.type_url = '/'+util.url_encode(self.user.username) else: self.type_url = '/'+self.url_groupdict['username'] if t == 'namespaces': self.type_url += '/'+config.namespace_name elif t == 'tiddlers': self.type_url += '/' + config.namespace_name + '/' + self.url_groupdict['namespace_id'] + '/' + config.tiddler_name elif t == 'tiddlywikis': self.type_url += '/'+config.tiddlywiki_name
def get(self, *args): """""" # iterate on each Tiddler nb = self.request.get("nb") if not nb: nb = 0 else: nb = int(nb) body = '<ul>' query = Tiddler.all() query.order('title') tiddlers = query.fetch(50, 50*nb) for t in tiddlers: body+='<li>%s:%s:%s</li>'%(t.title,t.modifier,t.modifier2) if t.modifier2: t.modifier = t.modifier2 t.modifier2 = None t.put() body += '</ul>' self.send_page(content_body=body)
def post(self, *args): """ """ ressource_menu = "" error = "" name = self.request.get('name') namespace_name = self.request.get('namespace_name') access = self.request.get('access') title = self.request.get('title') subtitle = self.request.get('subtitle') if access == 'on': private_access = True access='CHECKED' else: private_access = False namespace = None tiddlers = [] try: if namespace_name: namespace = Namespace.get_by_key_name(namespace_name, parent=self.user) else: #use tiddlywiki name as default namespace_name namespace_name = name namespace = Namespace.get_by_key_name(namespace_name, parent=self.user) if not namespace: # then create default namespace namespace = Namespace.create_or_update(name, self.user, private_access=private_access) if not namespace: error = "Namespace '%s' unknown"%namespace_name else: for tiddler in Tiddler.list_for(namespace): if self.request.get(util.url_encode(tiddler.title)) == 'on': tiddlers.append(tiddler.key()) return_url = self.request.get('return_url') except OwnerException, e: error = e