dotfiles

.vsnip/python.json [raw] [blame]
 1{
 2  "main": {
 3    "prefix": ["main"],
 4    "body": [
 5      "import argparse",
 6      "",
 7      "",
 8      "def main() -> None:",
 9      "    parser = argparse.ArgumentParser()",
10      "    args = parser.parse_args()",
11      ""
12    ]
13  },
14  "if __name__ == '__main__'": {
15    "prefix": ["ifmain"],
16    "body": [
17      "if __name__ == '__main__':",
18      "    ${0:pass}"
19    ]
20  },
21  "asyncio server": {
22    "prefix": "asyncserver",
23    "body": [
24      "import asyncio",
25      "",
26      "",
27      "async def handle_connection(reader: asyncio.StreamReader, writer: asyncio.StreamWriter) -> None:",
28      "    while True:",
29      "        line = await reader.readuntil(b'\\r\\n')",
30      "        print(line.strip().decode('utf-8'))",
31      "        writer.write(line)",
32      "        await writer.drain()",
33      "",
34      "",
35      "async def main() -> None:",
36      "    server = await asyncio.start_server(handle_connection, 'localhost', 9000)",
37      "",
38      "    async with server:",
39      "        print('Listening on localhost:9000')",
40      "        await server.serve_forever()",
41      "",
42      "",
43      "if __name__ == '__main__':",
44      "    asyncio.run(main())"
45    ]
46  }
47}