#!/usr/bin/env python3 # # Copyright (C) 2019 VyOS maintainers and contributors # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License version 2 or later as # published by the Free Software Foundation. # # This program 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, see <http://www.gnu.org/licenses/>. import argparse from sys import exit from subprocess import Popen, PIPE, STDOUT def _cmd(cmd): p = Popen(cmd, stdout=PIPE, stderr=STDOUT, shell=True) tmp = p.communicate()[0].strip() return tmp.decode() parser = argparse.ArgumentParser() parser.add_argument("--validate", action="store", help="Check if timezone is valid") if __name__ == '__main__': args = parser.parse_args() if args.validate: tz_data = _cmd('find /usr/share/zoneinfo/posix -type f -or -type l | sed -e s:/usr/share/zoneinfo/posix/::') tz_data = tz_data.split('\n') # if timezone can't be found in list it's invalid if args.validate not in tz_data: exit(1) else: parser.print_help() exit(1) exit(0)