Show tags moved from -S to --st.
This commit is contained in:
parent
348e12534d
commit
7f0dbd972c
13
README.md
13
README.md
@ -107,7 +107,7 @@ Shell completion scripts for Bash, Fish and Zsh can be found in respective subdi
|
||||
|
||||
usage: buku [-a URL [tags ...]] [-u [N [URL tags ...]]]
|
||||
[-t [...]] [-c [...]] [-d [N]] [-h]
|
||||
[-s keyword [...]] [-S keyword [...]] [--st keyword [...]]
|
||||
[-s keyword [...]] [-S keyword [...]] [--st [...]]
|
||||
[-k [N]] [-l [N]] [-p [N]] [-f N]
|
||||
[-r oldtag [newtag ...]] [-j] [-o N] [-z]
|
||||
|
||||
@ -134,11 +134,10 @@ Shell completion scripts for Bash, Fish and Zsh can be found in respective subdi
|
||||
search bookmarks for ANY matching keyword
|
||||
-S, --sall keyword [...]
|
||||
search bookmarks with ALL keywords
|
||||
special keywords -
|
||||
"tags" : list all tags alphabetically
|
||||
special keyword -
|
||||
"blank": list entries with empty title/tag
|
||||
--st, --stag keyword [...]
|
||||
search bookmarks by tag
|
||||
--st, --stag [...] search bookmarks by tag
|
||||
list all tags alphabetically, if no arguments
|
||||
|
||||
encryption options:
|
||||
-l, --lock [N] encrypt DB file with N (> 0, default 8)
|
||||
@ -178,7 +177,7 @@ Shell completion scripts for Bash, Fish and Zsh can be found in respective subdi
|
||||
- Substrings match (`match` matches `rematched`) for URL, title and tags.
|
||||
- `-s` : match any of the keywords in URL, title or tags.
|
||||
- `-S` : match all the keywords in URL, title or tags.
|
||||
- `--st` : search bookmarks by tag.
|
||||
- `--st` : search bookmarks by tag, or show all tags alphabetically.
|
||||
- You can search bookmarks by tag (see [examples](#examples)).
|
||||
- Search results are indexed serially. This index is different from actual database index of a bookmark record which is shown within `[]` after the URL.
|
||||
- Auto DB compaction: when a record is deleted, the last record is moved to the index.
|
||||
@ -229,7 +228,7 @@ The last index is moved to the deleted index to keep the DB compact.
|
||||
Note the commas (,) before and after the tag. Comma is the tag delimiter in DB.
|
||||
11. List **all unique tags** alphabetically:
|
||||
|
||||
$ buku -S tags
|
||||
$ buku --st
|
||||
12. **Encrypt or decrypt** DB with **custom number of iterations** (15) to generate key:
|
||||
|
||||
$ buku -l 15
|
||||
|
41
buku
41
buku
@ -48,6 +48,7 @@ except ImportError:
|
||||
|
||||
# Globals
|
||||
update = False # Update a bookmark in DB
|
||||
tagsearch = False # Search bookmarks by tag
|
||||
titleData = None # Title fetched from a page
|
||||
titleManual = None # Manually add a title offline
|
||||
description = None # Description of the bookmark
|
||||
@ -1019,7 +1020,7 @@ def printmsg(msg, level=None):
|
||||
|
||||
|
||||
class customUpdateAction(argparse.Action):
|
||||
"""Class to capture if an optional param
|
||||
"""Class to capture if optional param 'update'
|
||||
is actually used, even if sans arguments
|
||||
"""
|
||||
|
||||
@ -1031,8 +1032,20 @@ class customUpdateAction(argparse.Action):
|
||||
setattr(args, self.dest, values)
|
||||
|
||||
|
||||
class customTagSearchAction(argparse.Action):
|
||||
"""Class to capture if optional param 'stag'
|
||||
is actually used, even if sans arguments
|
||||
"""
|
||||
|
||||
def __call__(self, parser, args, values, option_string=None):
|
||||
global tagsearch
|
||||
|
||||
tagsearch = True
|
||||
setattr(args, self.dest, values)
|
||||
|
||||
|
||||
class customTitleAction(argparse.Action):
|
||||
"""Class to capture if an optional param
|
||||
"""Class to capture if optional param 'title'
|
||||
is actually used, even if sans arguments
|
||||
"""
|
||||
|
||||
@ -1040,12 +1053,11 @@ class customTitleAction(argparse.Action):
|
||||
global titleManual
|
||||
|
||||
titleManual = ''
|
||||
# NOTE: the following converts a None argument to an empty array []
|
||||
setattr(args, self.dest, values)
|
||||
|
||||
|
||||
class customDescAction(argparse.Action):
|
||||
"""Class to capture if an optional param
|
||||
"""Class to capture if optional param 'comment'
|
||||
is actually used, even if sans arguments
|
||||
"""
|
||||
|
||||
@ -1053,7 +1065,6 @@ class customDescAction(argparse.Action):
|
||||
global description
|
||||
|
||||
description = ''
|
||||
# NOTE: the following converts a None argument to an empty array []
|
||||
setattr(args, self.dest, values)
|
||||
|
||||
|
||||
@ -1105,7 +1116,7 @@ argparser = ExtendedArgumentParser(
|
||||
formatter_class=argparse.RawTextHelpFormatter,
|
||||
usage='''buku [-a URL [tags ...]] [-u [N [URL tags ...]]]
|
||||
[-t [...]] [-c [...]] [-d [N]] [-h]
|
||||
[-s keyword [...]] [-S keyword [...]] [--st keyword [...]]
|
||||
[-s keyword [...]] [-S keyword [...]] [--st [...]]
|
||||
[-k [N]] [-l [N]] [-p [N]] [-f N]
|
||||
[-r oldtag [newtag ...]] [-j] [-o N] [-z]''',
|
||||
add_help=False
|
||||
@ -1140,14 +1151,13 @@ search_group=argparser.add_argument_group(title="search options",
|
||||
search bookmarks for ANY matching keyword
|
||||
-S, --sall keyword [...]
|
||||
search bookmarks with ALL keywords
|
||||
special keywords -
|
||||
"tags" : list all tags alphabetically
|
||||
special keyword -
|
||||
"blank": list entries with empty title/tag
|
||||
--st, --stag keyword [...]
|
||||
search bookmarks by tag''')
|
||||
--st, --stag [...] search bookmarks by tag
|
||||
list all tags alphabetically, if no arguments''')
|
||||
search_group.add_argument('-s', '--sany', nargs='+', metavar='keyword', help=argparse.SUPPRESS)
|
||||
search_group.add_argument('-S', '--sall', nargs='+', metavar='keyword', help=argparse.SUPPRESS)
|
||||
search_group.add_argument('--st', '--stag', nargs='+', dest='stag', metavar='keyword', help=argparse.SUPPRESS)
|
||||
search_group.add_argument('--st', '--stag', nargs='*', dest='stag', action=customTagSearchAction, metavar='keyword', help=argparse.SUPPRESS)
|
||||
|
||||
# Encryption options
|
||||
crypto_group=argparser.add_argument_group(title="encryption options",
|
||||
@ -1255,17 +1265,18 @@ if args.sany is not None:
|
||||
|
||||
# Search URLs, titles, tags with all keywords
|
||||
if args.sall is not None:
|
||||
if args.sall[0] == 'tags' and len(args.sall) == 1:
|
||||
showUniqueTags(cur)
|
||||
elif args.sall[0] == 'blank' and len(args.sall) == 1:
|
||||
if args.sall[0] == 'blank' and len(args.sall) == 1:
|
||||
printdb(cur, 0, True)
|
||||
else:
|
||||
searchdb(cur, args.sall, True)
|
||||
|
||||
# Search bookmarks by tag
|
||||
if args.stag is not None:
|
||||
if tagsearch == True:
|
||||
if len(args.stag) > 0:
|
||||
tag = ',' + " ".join(args.stag) + ','
|
||||
searchTag(cur, tag)
|
||||
else:
|
||||
showUniqueTags(cur)
|
||||
|
||||
# Update record
|
||||
if update == True:
|
||||
|
14
buku.1
14
buku.1
@ -7,7 +7,7 @@ buku \- A private command-line bookmark manager. Your mini web!
|
||||
.br
|
||||
[-t [...]] [-c [...]] [-d [N]] [-h]
|
||||
.br
|
||||
[-s keyword [...]] [-S keyword [...]] [--st keyword [...]]
|
||||
[-s keyword [...]] [-S keyword [...]] [--st [...]]
|
||||
.br
|
||||
[-k [N]] [-l [N]] [-p [N]] [-f N]
|
||||
.br
|
||||
@ -37,7 +37,7 @@ Search works in mysterious ways:
|
||||
- Substrings match ('match' matches 'rematched') for URL, title and tags.
|
||||
- -s : match any of the keywords in URL, title or tags.
|
||||
- -S : match all the keywords in URL, title or tags.
|
||||
- --st : search bookmarks by tag.
|
||||
- --st : search bookmarks by tag, or show all tags alphabetically.
|
||||
- You can search bookmarks by tag (see examples below).
|
||||
- Search results are indexed serially. This index is different from actual database index of a bookmark record which is shown within '[]' after the URL.
|
||||
.PP
|
||||
@ -83,14 +83,12 @@ Search bookmarks for ANY of the keyword(s) in URL, title or tags and show the re
|
||||
.BI \-S " " \--sall " keyword [...]"
|
||||
Search bookmarks with ALL keywords in URL, title or tags and show the results. Behaviour same as -s.
|
||||
.br
|
||||
Special keywords:
|
||||
.br
|
||||
"tags" : list all tags alphabetically
|
||||
Special keyword:
|
||||
.br
|
||||
"blank": list entries with empty title/tag
|
||||
.TP
|
||||
.BI \--st " " \--stag " keyword [...]"
|
||||
Search bookmarks by tag.
|
||||
.BI \--st " " \--stag " [...]"
|
||||
Search bookmarks by tag. List all tags alphabetically, if no arguments.
|
||||
.SH ENCRYPTION OPTIONS
|
||||
.TP
|
||||
.BI \-l " " \--lock " [N]"
|
||||
@ -252,7 +250,7 @@ List \fBall unique tags\fR alphabetically:
|
||||
.PP
|
||||
.EX
|
||||
.IP
|
||||
.B buku -S tags
|
||||
.B buku --st
|
||||
.PP
|
||||
.IP 12. 4
|
||||
\fBEncrypt or decrypt\fR DB with \fBcustom number of iterations\fR (15) to generate key:
|
||||
|
Loading…
Reference in New Issue
Block a user