Mercurial > code > home > repos > reposync
diff hg_status.py @ 17:a4778c56cc03
update deps and k8s setup
author | drewp@bigasterisk.com |
---|---|
date | Sun, 12 Dec 2021 22:32:25 -0800 |
parents | db4037285592 |
children |
line wrap: on
line diff
--- a/hg_status.py Fri Aug 27 13:40:49 2021 -0700 +++ b/hg_status.py Sun Dec 12 22:32:25 2021 -0800 @@ -1,28 +1,28 @@ -from dataclasses import dataclass, field import datetime import json -import logging -from pathlib import Path import time import traceback +from dataclasses import dataclass, field +from pathlib import Path from typing import Dict, Optional, Tuple import cyclone.httpserver import cyclone.sse import cyclone.web +import docopt +import treq +import tzlocal from cycloneerr import PrettyErrorHandler from dateutil.parser import parse from dateutil.tz import tzlocal -import docopt +from prometheus_client.exposition import generate_latest +from prometheus_client.registry import REGISTRY from ruamel.yaml import YAML from standardservice.logsetup import log, verboseLogging -import treq from twisted.internet import reactor from twisted.internet.defer import inlineCallbacks, returnValue -from twisted.internet.utils import getProcessOutput, _UnexpectedErrorOutput -import tzlocal +from twisted.internet.utils import _UnexpectedErrorOutput, getProcessOutput -local = tzlocal.get_localzone() githubOwner = 'drewp' @@ -76,7 +76,7 @@ rows = yield runHg(self.path, ['log', '--limit', '1']) commit = rows[0] sec = commit['date'][0] - t = datetime.datetime.fromtimestamp(sec, local) + t = datetime.datetime.fromtimestamp(sec, tzlocal()) self._save('log', {'email': commit['user'], 't': t.isoformat(), 'message': commit['desc']}) returnValue(self._get('log')) @@ -91,7 +91,7 @@ }) ret = yield treq.json_content(resp) commit = ret[0]['commit'] - t = parse(commit['committer']['date']).astimezone(local).isoformat() + t = parse(commit['committer']['date']).astimezone(tzlocal()).isoformat() self._save('github', {'email': commit['committer']['email'], 't': t, 'message': commit['message']}) returnValue(self._get('github')) @@ -109,7 +109,7 @@ ? then push then github setdefault to master -then github delete clearing +then github delete clearing ''' @inlineCallbacks @@ -161,6 +161,13 @@ reactor.callLater(0, self.runOne) +class Metrics(cyclone.web.RequestHandler): + + def get(self): + self.add_header('content-type', 'text/plain') + self.write(generate_latest(REGISTRY)) + + def main(): args = docopt.docopt(''' Usage: @@ -171,9 +178,9 @@ ''') verboseLogging(args['--verbose']) - import sys - sys.path.append('/usr/lib/python3/dist-packages') - import OpenSSL + # import sys + # sys.path.append('/usr/lib/python3/dist-packages') + # import OpenSSL yaml = YAML(typ='safe') config = yaml.load(open('config.yaml')) @@ -192,6 +199,7 @@ }), (r'/status/events', Statuses), (r'/githubSync', GithubSync), + (r'/metrics', Metrics), ] cyclone.web.Application.__init__( self,