annotate mail/file-count/file_count.py @ 332:d4893670f888 default tip

WIP: use watchdog reboot timer on pi
author drewp@bigasterisk.com
date Thu, 27 Feb 2025 11:09:29 -0800
parents 5b88b38f2471
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()