annotate mail/file-count/file_count.py @ 326:5b88b38f2471

huge reorg, reog toplevel functions in preparation of a ui with nice task lists
author drewp@bigasterisk.com
date Mon, 20 Jan 2025 21:55:08 -0800
parents templates/file-count/file_count.py@67fb7b27bfea
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
253
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
1 import http.server
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
2 import socketserver
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
3 import os
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
4 import sys
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
5
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
6 interface, port, dir, metric_name = sys.argv[1:]
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
7
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
8
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
9 class Web(http.server.SimpleHTTPRequestHandler):
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
10
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
11 def do_GET(self):
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
12 files_count = len(os.listdir(dir))
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
13 self.send_response(200)
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
14 self.send_header('Content-type', 'text/plain')
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
15 self.end_headers()
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
16 self.wfile.write(f'{metric_name} {files_count}'.encode())
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
17
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
18
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
19 with socketserver.TCPServer((interface, int(port)), Web) as httpd:
67fb7b27bfea maildir file count service
drewp@bigasterisk.com
parents:
diff changeset
20 httpd.serve_forever()