#!/usr/bin/env python3

# Copyright (c) 2024 Danny van Dyk
#
# This file is part of the EOS project. EOS is free software;
# you can redistribute it and/or modify it under the terms of the GNU General
# Public License version 2, as published by the Free Software Foundation.
#
# EOS is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
# FOR A PARTICULAR PURPOSE.  See the GNU General Public License for more
# details.
#
# You should have received a copy of the GNU General Public License along with
# this program; if not, write to the Free Software Foundation, Inc., 59 Temple
# Place, Suite 330, Boston, MA  02111-1307  USA

import argparse
import eos
import collections
import yaml
import sys

def main():
    parser = argparse.ArgumentParser(description='List observables implemented in EOS')
    parser.add_argument('qns', metavar='QUALIFIEDNAME', type=str, nargs='*', help='Qualified name of an observable')

    args = parser.parse_args()

    obs = eos.Observables()

    for qn, entry in obs:
        if args.qns and qn not in args.qns:
            continue

        print(f'{qn}')


if __name__ == '__main__':
    main()
