예제 #1
0
파일: namespace.py 프로젝트: tobibeer/bidix
 def post(self, *args):
     """"""
     # fields from form
     previous_name = self.request.get('previous_name')
     name = self.request.get('name')
     authors = self.request.get('authors')
     readers = self.request.get('readers')
     access = self.request.get('access')
     return_url = self.request.get('return_url')
     owner_name = self.request.get('owner')
     owner = User.get_by_username(owner_name)
     error = ""
     if not owner:
         owner = self.current_user
     if access == 'on':
         private_access = True
         access = 'CHECKED'
     else:
         private_access = False
         access = ''
     if previous_name:
         previous_namespace = Namespace.get_by_key_name(previous_name,
                                                        parent=owner)
         if not previous_namespace or not previous_namespace.own_by(
                 self.current_user):
             self.error(401)
             return
         if previous_name != name:
             if not previous_namespace:
                 error = "can't delete previous namespace '%s'" % previous_name
             else:
                 previous_namespace.delete()
     if (error):
         body = self.create_form(self.type_url,
                                 self.type_url,
                                 error=error,
                                 owner=owner,
                                 owner=owner_name,
                                 name=name,
                                 previous_name=previous_name,
                                 authors=authors,
                                 readers=readers,
                                 access=access)
     else:
         namespace = Namespace.create_or_update(
             name=name,
             owner=owner,
             authors=authors,
             readers=readers,
             private_access=private_access)
         self.redirect(return_url + "/" + util.url_encode(namespace.name))
예제 #2
0
 def post(self, *args):
     """"""
     # fields from form
     previous_name = self.request.get("previous_name")
     name = self.request.get("name")
     authors = self.request.get("authors")
     readers = self.request.get("readers")
     access = self.request.get("access")
     return_url = self.request.get("return_url")
     owner_name = self.request.get("owner")
     owner = User.get_by_username(owner_name)
     error = ""
     if not owner:
         owner = self.current_user
     if access == "on":
         private_access = True
         access = "CHECKED"
     else:
         private_access = False
         access = ""
     if previous_name:
         previous_namespace = Namespace.get_by_key_name(previous_name, parent=owner)
         if not previous_namespace or not previous_namespace.own_by(self.current_user):
             self.error(401)
             return
         if previous_name != name:
             if not previous_namespace:
                 error = "can't delete previous namespace '%s'" % previous_name
             else:
                 previous_namespace.delete()
     if error:
         body = self.create_form(
             self.type_url,
             self.type_url,
             error=error,
             owner=owner,
             owner=owner_name,
             name=name,
             previous_name=previous_name,
             authors=authors,
             readers=readers,
             access=access,
         )
     else:
         namespace = Namespace.create_or_update(
             name=name, owner=owner, authors=authors, readers=readers, private_access=private_access
         )
         self.redirect(return_url + "/" + util.url_encode(namespace.name))
예제 #3
0
 def list_in_html(self, type_url, owner, for_user):
     results = Namespace.query_for_user(owner, for_user)
     r = "<ul>\n"
     for namespace in results:
         r += '<li><a href="%s/%s">%s</a></li>\n' % (type_url, util.url_encode(namespace.name), namespace.name)
     r += "</ul>\n"
     return r
예제 #4
0
파일: namespace.py 프로젝트: tobibeer/bidix
 def list_in_html(self, type_url, owner, for_user):
     results = Namespace.query_for_user(owner, for_user)
     r = "<ul>\n"
     for namespace in results:
         r += "<li><a href=\"%s/%s\">%s</a></li>\n" % (
             type_url, util.url_encode(namespace.name), namespace.name)
     r += "</ul>\n"
     return r
예제 #5
0
파일: home.py 프로젝트: ParoTheParrot/bidix
	def get(self, *args):
		body = """
<h1>Welcome to TiddlyHome</h1>
This is the shadow page for <a href="http://tiddlyhome.appspot.com/BidiX/namespaces/TiddlyHome/tiddlers/HomePage.html">
http://tiddlyhome.appspot.com/BidiX/namespaces/TiddlyHome/tiddlers/HomePage.html</a>
		"""
		if User.get_by_username(config.TH_owner):
			homePageTiddler = Namespace.get_tiddler("HomePage")
			if homePageTiddler:
				if homePageTiddler.html:
					body = homePageTiddler.html
				else:
					body = homePageTiddler.text
		self.send_page(content_body=body)
예제 #6
0
    def get(self, *args):
        body = """
<h1>TiddlyHome Help</h1>
This is the shadow page for <a href="http://tiddlyhome.appspot.com/BidiX/namespaces/TiddlyHome/tiddlers/HelpPage.html">
http://tiddlyhome.appspot.com/BidiX/namespaces/TiddlyHome/tiddlers/HelpPage.html</a>
		"""
        if User.get_by_username(config.TH_owner):
            homePageTiddler = Namespace.get_tiddler("HelpPage")
            if homePageTiddler:
                if homePageTiddler.html:
                    body = homePageTiddler.html
                else:
                    body = homePageTiddler.text
        self.send_page(content_body=body)
예제 #7
0
    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
예제 #8
0
	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
예제 #9
0
	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