示例#1
0
 def post(self):
     bm = self.get_bm()
     if bm is None:
         self.error(400)
         return
     parent_key = str(bm.bm_parent.key()) if bm.bm_parent else ''
     if self.request.get("action") == "Delete":
         bm.delete()
         self.redirect("/my_bookmarks?key=" + parent_key)
         return
     data = {}
     data["bm_title"] = self.request.get("bm_title", default_value="")
     data["url"] = self.request.get("url", default_value="")
     data["shared"] = True if self.request.get(
         "shared", default_value=None) else False
     data["bm_parent"] = bm.bm_parent
     err_msg = helper.validate_bookmark_data(data)
     if not err_msg:
         bm.title = data["bm_title"]
         bm.url = data["url"]
         bm.shared = data["shared"]
         bm.put()
         self.redirect("/my_bookmarks?key=" + parent_key)
     else:
         self.render("edit_bookmark", \
             { "bm": data, 
               "err_msg": err_msg,
               "current_folder_path": helper.get_folder_path(bm.bm_parent),
             })
示例#2
0
 def post(self):
     parent = self.get_parent_folder()
     parent_key = ''
     if parent:
         parent_key = str(parent.key())
     folder_name = self.request.get(
         "folder_name", default_value='').strip()
     shared = True if self.request.get(
         "shared", default_value=False) else False
     if folder_name:
         folder = Bookmark(
             title=folder_name,
             url=None,
             is_folder=True,
             bm_parent=parent,
             shared=shared,
             bm_path=(parent.bm_path if parent else '') \
                 + '::' + folder_name.lower()
         )
         folder.put()
         memcache.delete("nav")
         self.redirect("/my_bookmarks?key=" + parent_key)
     else:
         err_msg = ["Folder name is required.",]
         current_folder_path = helper.get_folder_path(parent)
         self.render("add_folder", locals())
示例#3
0
 def post(self):
     folder = self.get_folder()
     if folder is None:
         self.error(400)
         return
     parent_key = str(folder.bm_parent.key()) \
         if folder.bm_parent else ''
     if self.request.get("action") == "Delete":
         helper.delete_folder(folder)
         memcache.delete("nav")
         self.redirect("/my_bookmarks?key=" + parent_key)
         return
     folder_name = self.request.get(
         "folder_name", default_value='').strip()
     shared = True if self.request.get(
         "shared", default_value=False) else False
     if not folder_name:
         err_msg = ["Folder name is required."]
         context = {
             "folder_name": folder_name,
             "shared": shared,
             "key": str(folder.key()),
             "parent_key": str(folder.bm_parent.key()),
             "err_msg": err_msg,
             "current_folder_path": 
                 helper.get_folder_path(folder.bm_parent),
         }
         self.render("edit_folder", context)
     else:
         folder.title = folder_name
         folder.shared = shared
         # shared property of all the bookmarks in the folder ???
         folder.put()
         self.redirect("/my_bookmarks?key=" + parent_key)
示例#4
0
 def post(self):
     input_data = {
         "bm_title": self.request.get(
             "bm_title", default_value="").strip(),
         "url": self.request.get(
             "url", default_value="").strip(),
         "shared": True if self.request.get(
             "shared", default_value=False) else False,
     }
     parent = self.get_parent()
     err_msg = helper.validate_bookmark_data(input_data)
     if err_msg:
         input_data["err_msg"] = err_msg
         input_data["current_folder_path"] = \
                 helper.get_folder_path(parent)
         self.render("add_bookmark", input_data)
         return
     bm_path = helper.get_bm_path(parent) 
     bm = Bookmark(
             title=input_data["bm_title"],
             url=input_data["url"],
             shared=input_data["shared"],
             is_folder=False,
             bm_parent=parent,
             bm_path=bm_path
     )
     bm.put()
     parent_key = str(parent.key()) if parent else ""
     self.redirect("/my_bookmarks?key=" + parent_key)
示例#5
0
 def get(self):
     bm = self.get_bm()
     if bm is None:
         self.error(400)
     else: 
         self.render("edit_bookmark", \
             { "bm": bm, 
               "err_msg": None,
               "current_folder_path": helper.get_folder_path(bm.bm_parent), 
             }) 
示例#6
0
 def get(self):
     parent = self.get_parent()
     context = {
         "bm_title": "",
         "url": "",
         "shared": True if parent and parent.shared else False,
         "parent_key": str(parent.key()) if parent else "",
         "current_folder_path": helper.get_folder_path(parent),
     }
     self.render("add_bookmark", context)
示例#7
0
 def get(self):
     folder = self.get_folder()
     if folder is None:
         self.error(400)
         return
     context = {
         "folder_name": folder.title,
         "shared": folder.shared,
         "key": str(folder.key()),
         "parent_key": str(folder.bm_parent.key()) \
             if folder.bm_parent else '',
         "err_msg": None,
         "current_folder_path": helper.get_folder_path(folder.bm_parent),
     }
     self.render("edit_folder", context)
示例#8
0
 def get(self):
     parent_folder = self.get_parent_folder()
     parent_key = ''
     if parent_folder:
         parent_key = str(parent_folder.key())
     shared = False
     if parent_folder and parent_folder.shared:
         shared = True
     context = {
         "folder_name": "",
         "shared": shared,
         "parent_key": parent_key,
         "err_msg": None,
         "current_folder_path":
             helper.get_folder_path(parent_folder),
     }
     self.render("add_folder", context)
示例#9
0
 def get(self):
     nav = memcache.get('nav')
     if nav is None:
         nav = helper.create_nav_section(None)
         nav = '''<ul><li>
                 <a href="/my_bookmarks">My Bookmarks</a>
                 %s</li></ul>''' % (nav,)
         if not memcache.add('nav', nav, 3600):
             logging.error("Memcache set failed.")
     key = self.request.get('key', default_value=None)
     folder = db.get(key) if key else None
     query = Bookmark.gql(
         "WHERE bm_parent = :1 AND owner = :2 ORDER BY title",
         folder, users.get_current_user())
     context = {
         'nav': nav,
         'bookmarks': query,
         'current_folder_key': key if key else '',
         'current_folder_path': helper.get_folder_path(folder), 
     }
     self.render("my_bookmarks", context)