|
|
85a850 |
'''
|
|
|
85a850 |
Command line behavior for centpkg
|
|
|
85a850 |
'''
|
|
|
85a850 |
#
|
|
|
85a850 |
# Author(s):
|
|
|
85a850 |
# Jesse Keating <jkeating@redhat.com>
|
|
|
85a850 |
# Pat Riehecky <riehecky@fnal.gov>
|
|
|
85a850 |
# Brian Stinson <bstinson@ksu.edu>
|
|
|
85a850 |
#
|
|
|
85a850 |
# This program is free software; you can redistribute it and/or modify it
|
|
|
85a850 |
# under the terms of the GNU General Public License as published by the
|
|
|
85a850 |
# Free Software Foundation; either version 2 of the License, or (at your
|
|
|
85a850 |
# option) any later version. See http://www.gnu.org/copyleft/gpl.html for
|
|
|
85a850 |
# the full text of the license.
|
|
|
85a850 |
|
|
Brian Stinson |
aa8548 |
import sys
|
|
Brian Stinson |
aa8548 |
import os
|
|
Brian Stinson |
aa8548 |
import logging
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
from pyrpkg.cli import cliClient
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
class centpkgClient(cliClient):
|
|
|
85a850 |
'''
|
|
|
85a850 |
Where we import our custom stuff
|
|
|
85a850 |
'''
|
|
Brian Stinson |
aa8548 |
def __init__(self, config, name='centpkg'):
|
|
|
85a850 |
'''init'''
|
|
Brian Stinson |
aa8548 |
super(centpkgClient, self).__init__(config, name)
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
if __name__ == '__main__':
|
|
Brian Stinson |
aa8548 |
client = centpkgClient()
|
|
Brian Stinson |
aa8548 |
client.do_imports()
|
|
Brian Stinson |
aa8548 |
client.parse_cmdline()
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
if not client.args.path:
|
|
Brian Stinson |
aa8548 |
try:
|
|
|
85a850 |
client.args.path = os.getcwd()
|
|
|
85a850 |
except OSError as err_msg:
|
|
Brian Stinson |
aa8548 |
print('Could not get current path')
|
|
|
85a850 |
print(err_msg)
|
|
Brian Stinson |
aa8548 |
sys.exit(1)
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
log = client.site.log
|
|
Brian Stinson |
aa8548 |
client.setupLogging(log)
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
if client.args.v:
|
|
Brian Stinson |
aa8548 |
log.setLevel(logging.DEBUG)
|
|
Brian Stinson |
aa8548 |
elif client.args.q:
|
|
Brian Stinson |
aa8548 |
log.setLevel(logging.WARNING)
|
|
Brian Stinson |
aa8548 |
else:
|
|
Brian Stinson |
aa8548 |
log.setLevel(logging.INFO)
|
|
Brian Stinson |
aa8548 |
|
|
Brian Stinson |
aa8548 |
# Run the necessary command
|
|
Brian Stinson |
aa8548 |
try:
|
|
Brian Stinson |
aa8548 |
client.args.command()
|
|
Brian Stinson |
aa8548 |
except KeyboardInterrupt:
|
|
Brian Stinson |
aa8548 |
pass
|