Last active
August 25, 2020 14:47
Revisions
-
michaelmhoffman revised this gist
Apr 29, 2020 . No changes.There are no files selected for viewing
-
michaelmhoffman created this gist
Apr 29, 2020 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,31 @@ (defun new-copyright () "Generate new copyright string." (format-time-string "Copyright %Y Michael M. Hoffman <[email protected]>")) (define-auto-insert 'python-mode `( "Description: " "#!/usr/bin/env python3.6" \n "\"\"\"" (setq basename (buffer-file-basename)) ": " str \n "\"\"\"" \n \n "__version__ = \"0.1\"" \n \n "# " (new-copyright) \n \n "from argparse import Namespace" \n "from os import EX_OK" \n "import sys" \n "from typing import List, Optional" \n \n \n "def " (setq namebase (file-name-sans-extension basename)) "(args: Namespace) -> int:\n" " return EX_OK\n\n\n" "def parse_args(args: List[str]) -> Namespace:\n" " from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser\n\n" " description = __doc__.splitlines()[0].partition(\": \")[2]\n" " parser = ArgumentParser(description=description,\n" " formatter_class=ArgumentDefaultsHelpFormatter)\n\n" " version = f\"%(prog)s {__version__}\"\n" " parser.add_argument(\"--version\", action=\"version\", version=version)\n\n" " return parser.parse_args(args)\n\n\n" "def main(argv: List[str] = sys.argv[1:]) -> int:\n" " args = parse_args(argv)\n\n" " return " namebase "(args)\n\n\n" "if __name__ == \"__main__\":\n" " sys.exit(main())\n")) This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,39 @@ #!/usr/bin/env python3.6 """REPLACE_THIS.py: REPLACE_WITH_DESCRIPTION """ __version__ = "0.1" # Copyright 2020 Michael M. Hoffman <[email protected]> from argparse import Namespace from os import EX_OK import sys from typing import List, Optional def REPLACE_THIS(args: Namespace) -> int: return EX_OK def parse_args(args: List[str]) -> Namespace: from argparse import ArgumentDefaultsHelpFormatter, ArgumentParser description = __doc__.splitlines()[0].partition(": ")[2] parser = ArgumentParser(description=description, formatter_class=ArgumentDefaultsHelpFormatter) version = f"%(prog)s {__version__}" parser.add_argument("--version", action="version", version=version) return parser.parse_args(args) def main(argv: List[str] = sys.argv[1:]) -> int: args = parse_args(argv) return REPLACE_THIS(args) if __name__ == "__main__": sys.exit(main())