summaryrefslogtreecommitdiff
path: root/pnote/tools/admin.py
diff options
context:
space:
mode:
Diffstat (limited to 'pnote/tools/admin.py')
-rw-r--r--pnote/tools/admin.py48
1 files changed, 48 insertions, 0 deletions
diff --git a/pnote/tools/admin.py b/pnote/tools/admin.py
new file mode 100644
index 0000000..f3e03d5
--- /dev/null
+++ b/pnote/tools/admin.py
@@ -0,0 +1,48 @@
+from pnote.tools.tool import Tool
+import argparse
+from datetime import datetime
+
+class ToolAdmin(Tool):
+
+ def add_parser(self,subparsers):
+ self.p = subparsers.add_parser("admin", description="Manage your notes tags")
+ self.p.add_argument("--fix-dry", help="fix new and deleted note files (DRY RUN)", action='store_true')
+ self.p.add_argument("--fix", help="fix new and delete note files", action='store_true')
+ self.p.add_argument("--import", help="Import file(s) to notes", nargs="+", dest="imports")
+ self.p.add_argument("--timestamp", help="Timestamp to use for file(s) import")
+ self.p.add_argument("--file-infos", help="Get note file(s) infos", action='store_true')
+ self.p.add_argument("--subpath", help="")
+ self.p.add_argument("-s", "--subpaths", help="Subpath to use for file(s) infos", nargs="+")
+
+ def run(self, project, args):
+ if args.fix_dry:
+ project.fix(True)
+ elif args.fix:
+ project.fix(False)
+ elif args.imports:
+ if args.timestamp:
+ for f in args.imports:
+ project.addfile(f,int(args.timestamp))
+ else:
+ for f in args.imports:
+ project.addfile(f)
+ elif args.file_infos:
+ if args.subpaths:
+ subpaths=args.subpaths
+ else:
+ subpaths=project.find(None)
+ first=True
+ for subpath in subpaths:
+ if not first:
+ print()
+ print("=> "+subpath)
+ ts_created=project.getfileinfo(subpath,"created")
+ ts_added=project.getfileinfo(subpath,"added")
+ print("Created on: "+str(datetime.fromtimestamp(int(ts_created))))
+ print("Added on: "+str(datetime.fromtimestamp(int(ts_added))))
+ print("Added with host: "+str(project.getfileinfo(subpath,"hostname")))
+ print("Added host infos: "+str(project.getfileinfo(subpath,"platform")))
+ print("Tags: "+str(project.listtags(subpath)))
+ first=False
+ else:
+ self.p.print_help()