summaryrefslogtreecommitdiff
path: root/pnote/tools/tag.py
diff options
context:
space:
mode:
authorLoic Guegan <manzerbredes@mailbox.org>2024-02-20 21:26:58 +0100
committerLoic Guegan <manzerbredes@mailbox.org>2024-02-20 21:26:58 +0100
commite8b7eaf6255ce94660fd0e66e2da24a01bf651d9 (patch)
treeb83595a870758063d07e86388e22499219c6665c /pnote/tools/tag.py
parent317df7cf30be4c7051a1c45bc2a2af0c6604e009 (diff)
Add source code
Diffstat (limited to 'pnote/tools/tag.py')
-rw-r--r--pnote/tools/tag.py33
1 files changed, 33 insertions, 0 deletions
diff --git a/pnote/tools/tag.py b/pnote/tools/tag.py
new file mode 100644
index 0000000..e45b8c8
--- /dev/null
+++ b/pnote/tools/tag.py
@@ -0,0 +1,33 @@
+from pnote.tools.tool import Tool
+import argparse
+
+class ToolTag(Tool):
+
+ def add_parser(self,subparsers):
+ p = subparsers.add_parser("tag", description="Manage your notes tags")
+ p.add_argument("-s", "--subpaths", help="Subpaths to edit", nargs="+")
+ p.add_argument("-a", "--add", help="Add tags to notes", nargs="+")
+ p.add_argument("-d", "--delete", help="Delete tags from notes", nargs="+")
+ p.add_argument('-l', '--last-edited', help="Tag last edited file", action="store_true")
+
+ def run(self, project, args):
+ if args.subpaths:
+ if args.add:
+ project.addtags(args.subpaths,args.add)
+ elif args.delete:
+ project.deletetags(args.subpaths,args.delete)
+ else:
+ for subpath in args.subpaths:
+ for tag in project.listtags(subpath):
+ print(tag)
+ else:
+ if args.delete:
+ project.obliteratetags(args.delete)
+ elif args.add:
+ if args.last_edited:
+ project.addtagslastedited(args.add)
+ else:
+ project.addtagstoday(args.add)
+ else:
+ for tag in project.listtags():
+ print(tag)