74 lines
1.7 KiB
JSON
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}"
|
|
}
|
|
} |