1

74 lines
1.7 KiB
JSON

{
"CLI App Skeleton": {
"prefix": "cli_app",
"body": [
"import argparse",
"import sys",
"import logging",
"",
"logger = logging.getLogger(__name__)",
"",
"def main() -> int:",
"\t# Handle program arguments",
"\tap = argparse.ArgumentParser(prog='$1', description='$2')",
"\t$3",
"\tap.add_argument('-v', '--verbose', help='Enable verbose logging', action='store_true')"
"\targs = ap.parse_args()",
"",
"\t# Configure logging",
"\tlogging.basicConfig(",
"\t\tlevel=logging.DEBUG if args.verbose else logging.INFO,",
"\t\tformat='%(levelname)s:\t%(message)s',",
"\t)",
"",
"\treturn 0",
"",
"if __name__ == \"__main__\":",
"\tsys.exit(main())"
]
},
"Request error handler": {
"prefix": "rerror",
"body": [
"if int($1.status_code / 100) != 2:",
"\treturn $2"
]
},
"Path to the current file": {
"prefix": "__filepath__",
"body": "Path(__file__)"
},
"Path to the current file's parent directory": {
"prefix": "__filedir__",
"body": "Path(__file__).parent"
},
"Disable formatting for block": {
"prefix": "nofmt",
"body": [
"# fmt: off",
"$1",
"# fmt: on",
"$2"
]
},
"Import Path from pathlib": {
"prefix": "impath",
"body": "from pathlib import Path"
},
"Get a logger instance": {
"prefix": "logger",
"body": "logger = logging.getLogger(${1|__name__,'werkzeug'|})"
},
"Import dataclass": {
"prefix":"impdataclass",
"body": "from dataclasses import dataclass${1:, field}"
},
"Import datetime": {
"prefix":"impdatetime",
"body": "from datetime import datetime"
},
"Import enums": {
"prefix":"impenum",
"body": "from enum import Enum${1:, auto}"
}
}