This is an automated email from the ASF dual-hosted git repository. gstein pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/steve.git
commit 5c5e70b81898521a4897e2267ac8ff2c6a0c962c Author: Greg Stein <[email protected]> AuthorDate: Sat Feb 21 23:52:39 2026 -0600 feat: add tally script for elections --- v3/server/bin/tally.py | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/v3/server/bin/tally.py b/v3/server/bin/tally.py new file mode 100755 index 0000000..3546edb --- /dev/null +++ b/v3/server/bin/tally.py @@ -0,0 +1,50 @@ +#!/usr/bin/env -S uv run --script + +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import argparse +import datetime +import pathlib +import logging +import yaml + +import steve.election +import steve.persondb + +_LOGGER = logging.getLogger(__name__) + +THIS_DIR = pathlib.Path(__file__).resolve().parent +DB_FNAME = THIS_DIR.parent / 'steve.db' + + +def main(spy: bool): + ### show list of elections (only close; and open if SPY) + ### select an election + ### provide a tally per issue + pass + + +if __name__ == '__main__': + logging.basicConfig(level=logging.INFO) + + parser = argparse.ArgumentParser( + formatter_class=argparse.ArgumentDefaultsHelpFormatter + ) + args = parser.parse_args() + + main(False)
