Source code for tendril.scripts.genvmapaudits

# Copyright (C) 2015 Chintalagiri Shashank
#
# This file is part of Tendril.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# 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 Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
"""
This file is part of tendril
See the COPYING, README, and INSTALL files for more information
"""


import argparse
from .helpers import add_base_options


[docs]def run(vobj=None, force=False, lazy=False): from tendril.sourcing.map import export_vendor_map_audit from tendril.sourcing.electronics import vendor_list maxage = -1 if force is True: maxage = 0 if lazy is True: maxage = -1 if not vobj: for v in vendor_list: export_vendor_map_audit(v, maxage) else: export_vendor_map_audit(vobj, maxage)
[docs]def main(): parser = argparse.ArgumentParser( description='(Re)generate vendor map audits.', prog='tendril-genvmapaudit' ) add_base_options(parser) parser.add_argument( 'vendor_name', metavar='VENDOR_NAME', type=str, nargs='?', help='Name of the vendor.' ) parser.add_argument( '--all', '-a', action='store_true', default=False, help='Run for all vendors. If used, will ignore VENDOR_NAME.' ) parser.add_argument( '--force', '-f', action='store_true', default=False, help='Regenerate for all parts, even if they are not stale.' ) parser.add_argument( '--lazy', '-l', action='store_true', default=False, help="Don't regenerate for parts which exist, even if they are stale." ) args = parser.parse_args() if args.all: run(force=args.force) return if not args.vendor_name: parser.print_help() return from tendril.sourcing.electronics import get_vendor_by_name from tendril.sourcing.electronics import vendor_list v = get_vendor_by_name(args.vendor_name) if not v: parser.print_help() print("") print("recognized vendors: ") for v in vendor_list: print(" {0:<20} {1}".format(v.cname, v.name)) return run(v, args.force, args.lazy)
if __name__ == '__main__': main()