summaryrefslogtreecommitdiff
path: root/pnote/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to 'pnote/__main__.py')
-rw-r--r--pnote/__main__.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/pnote/__main__.py b/pnote/__main__.py
new file mode 100644
index 0000000..e539c36
--- /dev/null
+++ b/pnote/__main__.py
@@ -0,0 +1,44 @@
+#!/usr/bin/env python
+
+import os, argparse
+from pnote.project import *
+from pnote.tools import *
+from pnote import __version__
+
+def main():
+ ## Parse arguments
+ parser = argparse.ArgumentParser(
+ prog='PNote',
+ description='Note management tool',
+ epilog='pnote v'+__version__)
+ parser.add_argument('path', help="Path to a pnote project")
+ parser.add_argument('-t', '--today', help="Open today's note file", action="store_true")
+ parser.add_argument('-o', '--open', help="Open specific note file")
+ subparsers = parser.add_subparsers(dest="tool", help='Tool to use')
+
+ # Tools
+ searcht=ToolSearch()
+ searcht.add_parser(subparsers)
+ tagt=ToolTag()
+ tagt.add_parser(subparsers)
+ admint=ToolAdmin()
+ admint.add_parser(subparsers)
+
+ # Parse arguments
+ args = parser.parse_args()
+
+ ## Load project
+ project=Project(args.path)
+
+ ## Run tool
+ if args.tool == "search":
+ searcht.run(project,args)
+ elif args.tool == "tag":
+ tagt.run(project,args)
+ elif args.tool == "admin":
+ admint.run(project,args)
+ else:
+ if args.today:
+ project.opentoday()
+ elif args.open:
+ project.open(args.open)