def action_browse_bookmarks(self): folder_id = int(self.args['folder_id']) curs = self.db_conn.cursor() curs.execute("select id, name, parent_id, path from bookmark_folders where parent_id = ?", (folder_id,)) for folder in curs.fetchall(): self.add_list_item({ 'Thumb': self.get_resource_path("images", "bookmark.png"), 'folder_id': folder[0], 'Title': "[%s]" % (folder[1],), 'action': 'browse_bookmarks', }, bookmark_parent=folder_id, bookmark_folder_id=folder[0]) curs.execute("select id, name, plugin_url, folder_id from bookmarks where folder_id = ?", (folder_id,)) logging.debug("Checking For Bookmarks") bookmarks = curs.fetchall() if not bookmarks: self.add_list_item({'Title': '-no bookmarks-'}) else: for bm in bookmarks: data = urldecode(bm[2].split("?", 1)[1]) data['Title'] = bm[1] self.add_list_item(data, is_folder=True, bookmark_parent=bm[3], bookmark_id=bm[0]) self.end_list(sort_methods=(xbmcplugin.SORT_METHOD_LABEL,))
def api_article_add(*, request, title, category, tag, content, summary): r = web.Response() blog = Blogs(title = title, user_id = getWebCookie(request, 'id'), summary = summary, content = content) id = yield from blog.save() category = urldecode(category) category = category[0].split(',') tags = tag.split('/') if id > 0: #文章分类插入 for i in category: blog_category = BlogCategory(blog_id = id, category_id = i) blog_category_id = yield from blog_category.save() #标签分类插入 for t in tags: t = t.strip() tag_title = yield from Tag.findAll('title=?', [t]) #如果标签存在,则插入博客标签表,若不存在,则两张表都要插入 if len(tag_title) > 0: tag_id = tag_title[0].get('id') else: tag = Tag(title = t) tag_id = yield from tag.save() blog_tag = BlogTag(blog_id = id, tag_id = tag_id) blog_tag_id = yield from blog_tag.save() if id > 0 and blog_category_id > 0 and blog_tag_id > 0: result = APIResult(1, '', '发布成功') else: result = APIResult(0, '', '发布失败') return jsonResult(r, result)
def action_browse_bookmarks(self): folder_id = int(self.args['folder_id']) curs = self.db_conn.cursor() curs.execute( "select id, name, parent_id, path from bookmark_folders where parent_id = ?", (folder_id, )) for folder in curs.fetchall(): self.add_list_item( { 'Thumb': self.get_resource_path("images", "bookmark.png"), 'folder_id': folder[0], 'Title': "[%s]" % (folder[1], ), 'action': 'browse_bookmarks', }, bookmark_parent=folder_id, bookmark_folder_id=folder[0]) curs.execute( "select id, name, plugin_url, folder_id from bookmarks where folder_id = ?", (folder_id, )) logging.debug("Checking For Bookmarks") bookmarks = curs.fetchall() if not bookmarks: self.add_list_item({'Title': '-no bookmarks-'}) else: for bm in bookmarks: data = urldecode(bm[2].split("?", 1)[1]) data['Title'] = bm[1] self.add_list_item(data, is_folder=True, bookmark_parent=bm[3], bookmark_id=bm[0]) self.end_list(sort_methods=(xbmcplugin.SORT_METHOD_LABEL, ))
def load_text_from_section_link(self, slink): pgname, anchor = slink.split('#') stitle = utils.urldecode(anchor) pg = self.wiki.pages[pgname] i = 1 while 1: section = pg.text(section=i) m = re.match('==+\s*(.*?)\s*==+', section) if m and m.group(1) == stitle: return section i += 1
def sign_encode(data): try: options = get_options() key = options['SIGN_KEY'] # enter_sign = data.split('&sign=')[1] _values = data.split('&sign=')[0] values = utils.urldecode(_values) _values_sort = sorted(values.iteritems(),key=lambda a:a[0],reverse=False) values_sort = urlencode(_values_sort) sign = utils.md5(values_sort+'&key='+key).upper() except: return 0 return sign
def action_add_to_bookmarks(self): curs = self.db_conn.cursor() curs.execute( "select id, name, parent_id, path from bookmark_folders order by path asc" ) rows = curs.fetchall() logging.debug(rows) items = ["(New Folder)"] items += [r[3] for r in rows] dialog = self.get_dialog() val = dialog.select("Select a Bookmark Folder", items) logging.debug("VAL:%s" % (val, )) if val == -1: return xbmcplugin.endOfDirectory(self.handle, succeeded=False) elif val == 0: folder = self.add_bookmark_folder() if not folder: return xbmcplugin.endOfDirectory(self.handle, succeeded=False) else: logging.debug("ITEMS:%s" % (items, )) logging.debug("ROWS:%s" % (rows, )) folder = [r for r in rows if r[3] == items[val]][0] bm = urldecode(self.args['url'].split("?", 1)[1]) name = self.get_modal_keyboard_input(bm['Title'], 'Bookmark Title') if name is None: return None curs.execute( "select * from bookmarks where folder_id = ? and plugin_url = ?", (folder[0], self.args['url'])) if curs.fetchall(): dialog.ok( "Bookmark Already Exists", "This location is already bookmarked in %s" % (folder[3], )) return None curs.execute( "insert into bookmarks (name, folder_id, plugin_url) values (?,?,?)", (name, folder[0], self.args['url'])) self.db_conn.commit() dialog.ok("Success!", "%s has been bookmarked!" % (name, )) return xbmcplugin.endOfDirectory(self.handle, succeeded=False)
def __init__(self, script_url, handle, querystring): proxy = self.get_setting("http_proxy") port = self.get_setting("http_proxy_port") if proxy and port: proxy_handler = urllib2.ProxyHandler({'http':'%s:%s'%(proxy,port)}) opener = urllib2.build_opener(proxy_handler) urllib2.install_opener(opener) self.script_url = script_url self.handle = int(handle) if len(querystring) > 2: self.querystring = querystring[1:] items = urldecode(self.querystring) self.args = dict(items) else: self.querystring = querystring self.args = {} self.connect_to_db() logging.debug("Constructed Plugin %s" % (self.__dict__,))
def action_add_to_bookmarks(self): curs = self.db_conn.cursor() curs.execute("select id, name, parent_id, path from bookmark_folders order by path asc") rows = curs.fetchall() logging.debug(rows) items = ["(New Folder)"] items += [r[3] for r in rows] dialog = self.get_dialog() val = dialog.select("Select a Bookmark Folder", items) logging.debug("VAL:%s" % (val,)) if val == -1: return xbmcplugin.endOfDirectory(self.handle, succeeded=False) elif val == 0: folder = self.add_bookmark_folder() if not folder: return xbmcplugin.endOfDirectory(self.handle, succeeded=False) else: logging.debug("ITEMS:%s" % (items,)) logging.debug("ROWS:%s" % (rows,)) folder = [r for r in rows if r[3] == items[val]][0] bm = urldecode(self.args['url'].split("?", 1)[1]) name = self.get_modal_keyboard_input(bm['Title'], 'Bookmark Title') if name is None: return None curs.execute("select * from bookmarks where folder_id = ? and plugin_url = ?", (folder[0], self.args['url'])) if curs.fetchall(): dialog.ok("Bookmark Already Exists", "This location is already bookmarked in %s" % (folder[3],)) return None curs.execute("insert into bookmarks (name, folder_id, plugin_url) values (?,?,?)", (name, folder[0], self.args['url'])) self.db_conn.commit() dialog.ok("Success!", "%s has been bookmarked!" % (name,)) return xbmcplugin.endOfDirectory(self.handle, succeeded=False)
def api_article_edit(*, request, id, title, category, tag, content, summary): r = web.Response() blog = yield from Blogs.findOne(id) blog = Blogs(id = id, title = title, summary = summary, content = content, update_time = currentTime(), create_time = blog.get('create_time'), user_id = blog.get('user_id'), view_count = blog.get('view_count')) result = yield from blog.update() category = urldecode(category) category = category[0].split(',') tags = tag.split('/') blog_category_id = 0 blog_tag_id = 0 if result > 0: #文章分类插入 blog_category_sql = 'delete from blog_category where blog_id = ?' yield from execute(blog_category_sql, [id]) blog_tag_sql = 'delete from blog_tag where blog_id = ?' yield from execute(blog_tag_sql, [id]) for i in category: blog_category = BlogCategory(blog_id = id, category_id = i) blog_category_id = yield from blog_category.save() #标签分类插入 for t in tags: t = t.strip() tag_title = yield from Tag.findAll('title=?', [t]) #如果标签存在,则插入博客标签表,若不存在,则两张表都要插入 if len(tag_title) > 0: tag_id = tag_title[0].get('id') else: tag = Tag(title = t) tag_id = yield from tag.save() blog_tag = BlogTag(blog_id = id, tag_id = tag_id) blog_tag_id = yield from blog_tag.save() if int(id) > 0 and int(blog_category_id) > 0 and int(blog_tag_id) > 0: result = APIResult(1, '', '修改成功') else: result = APIResult(0, '', '修改失败') return jsonResult(r, result)
def set_request(self,request): self._request = request self._arguments = utils.urldecode(self._request.body)
def set_request(self, request): self._request = request self._arguments = utils.urldecode(self._request.body)