Show all bookmarks with empty titles or no tags.

Signed-off-by: Arun Prakash Jana <engineerarun@gmail.com>
This commit is contained in:
Arun Prakash Jana 2016-03-25 13:22:52 +05:30
parent eae1237ea7
commit b5f066ba43
3 changed files with 24 additions and 3 deletions

View File

@ -46,6 +46,7 @@ If you find `buku` useful, please consider donating via PayPal.
- Refresh all bookmarks online - Refresh all bookmarks online
- Auto-compact DB on a single bookmark removal - Auto-compact DB on a single bookmark removal
- Delete all bookmarks from DB - Delete all bookmarks from DB
- Show all bookmarks with empty titles or no tags (for bookkeeping)
- Add a bookmark at N<sup>th</sup> index, to fill deleted bookmark indices - Add a bookmark at N<sup>th</sup> index, to fill deleted bookmark indices
- Secure parameterized SQLite3 queries to access database - Secure parameterized SQLite3 queries to access database
- Handle multiple HTTP redirections (reports redireted URL, loops, IP blocking) - Handle multiple HTTP redirections (reports redireted URL, loops, IP blocking)
@ -130,6 +131,7 @@ You may need to use `sudo` with `PREFIX` depending on your permissions on destin
-a URL tag 1, tag 2, ... add URL as bookmark with comma separated tags -a URL tag 1, tag 2, ... add URL as bookmark with comma separated tags
-d N delete entry at DB index N (from -P), move last entry to N -d N delete entry at DB index N (from -P), move last entry to N
-D delete ALL bookmarks -D delete ALL bookmarks
-e show bookmarks with empty titles or no tags
-g show all tags (sorted alphabetically) -g show all tags (sorted alphabetically)
-i N insert entry at DB index N, useful to fill deleted index -i N insert entry at DB index N, useful to fill deleted index
-k decrypt (unlock) database file -k decrypt (unlock) database file

22
buku
View File

@ -51,6 +51,7 @@ addurl = False
addindex = None addindex = None
online = False online = False
delete = False delete = False
empty = False
openurl = None openurl = None
show = False show = False
showindex = None showindex = None
@ -79,6 +80,7 @@ def usage():
print(" -a URL tag 1, tag 2, ... add URL as bookmark with comma separated tags") print(" -a URL tag 1, tag 2, ... add URL as bookmark with comma separated tags")
print(" -d N delete entry at DB index N (from -P), move last entry to N") print(" -d N delete entry at DB index N (from -P), move last entry to N")
print(" -D delete ALL bookmarks") print(" -D delete ALL bookmarks")
print(" -e show bookmarks with empty titles or no tags")
print(" -g show all tags (sorted alphabetically)") print(" -g show all tags (sorted alphabetically)")
print(" -i N insert entry at DB index N, useful to fill deleted index") print(" -i N insert entry at DB index N, useful to fill deleted index")
print(" -k decrypt (unlock) database file") print(" -k decrypt (unlock) database file")
@ -420,11 +422,20 @@ def cleardb(conn, cur, index):
# Print all records in the table # Print all records in the table
def printdb(cur, index): def printdb(cur, index, empty=False):
global showOpt global showOpt
resultset = None
if index == None: # Show all entries if index == None: # Show all entries
for row in cur.execute('SELECT * FROM bookmarks'): if empty == False:
cur.execute('SELECT * FROM bookmarks')
resultset = cur.fetchall()
else:
cur.execute("SELECT * FROM bookmarks WHERE metadata = '' OR tags = ','")
resultset = cur.fetchall()
print("\x1b[1m%d records found\x1b[21m\n" % len(resultset))
for row in resultset:
if showOpt == 1: if showOpt == 1:
print("%s %s" % (row[0], row[1])) print("%s %s" % (row[0], row[1]))
elif showOpt == 2: elif showOpt == 2:
@ -743,7 +754,7 @@ if len(sys.argv) < 2:
# Check cmdline options # Check cmdline options
try: try:
optlist, keywords = getopt(sys.argv[1:], "d:i:m:o:p:t:u:x:aDgklPRrsSwz") optlist, keywords = getopt(sys.argv[1:], "d:i:m:o:p:t:u:x:aDegklPRrsSwz")
if len(optlist) < 1: if len(optlist) < 1:
usage() usage()
@ -773,6 +784,8 @@ try:
usage() usage()
delete = True delete = True
elif opt[0] == "-e":
empty = True
elif opt[0] == "-g": elif opt[0] == "-g":
showTags = True showTags = True
elif opt[0] == "-i": elif opt[0] == "-i":
@ -933,6 +946,9 @@ if show == True:
if showTags == True: if showTags == True:
showUniqueTags(cur) showUniqueTags(cur)
if empty == True:
printdb(cur, None, empty)
# Open URL in browser # Open URL in browser
if openurl != None: if openurl != None:
fetchopen(openurl) fetchopen(openurl)

3
buku.1
View File

@ -48,6 +48,9 @@ in DB (from '-P' output).
.B \-D .B \-D
Delete ALL bookmarks. Delete ALL bookmarks.
.TP .TP
.B \-e
Show all bookmarks with empty titles or no tags (for bookkeeping).
.TP
.B \-g .B \-g
Show all unique tags sorted aplhabetically. Show all unique tags sorted aplhabetically.
.TP .TP