def test_alias(self): program = Command('list', alias=['ls']) program.option('-v, --verbose', 'show more log') program.parse( 'ls -v' ) assert program.verbose
def main(): command = Command('kindlepush', 'automatically deliver your docs to your kindle', version=__version__) command.option('-c, --count [count]', 'the count of the docs to deliver') try: with open(os.path.join(sys.path[0], 'kindlepush_config.json')) as f: config = json.load(f) except IOError: sys.exit("Check your config file in {0}".format(sys.path[0])) @command.action def read(number=config['number']): """ read the log file :param number: the count of days :option number: -n, --number [number] """ file_path = os.path.join(config['directory'], 'kindlepush.log') os.system('tail -n {0} {1}'.format(number, file_path)) @command.action def pending(): """ get pending deliveries """ login(config) titles = get_pending_deliveries() print "Pending Deliveries:" for title in titles: print '\t{0}'.format(title) command.parse() logging.basicConfig( filename=os.path.join(config['directory'], 'kindlepush.log'), level='INFO', format='%(asctime)s [%(levelname)s] %(message)s') # Disable unwanted log message from the requests library requests_log = logging.getLogger("requests") requests_log.setLevel(logging.WARNING) # Connect to the database lying the directory specified in the config database = sqlite3.connect(os.path.join(config['directory'], 'kindlepush.db')) # overwrite the value of count if user has specified it if command.count: config['count'] = command.count if not 'read' and 'pending' in sys.argv: try: login(config) deliver_all(get_contents(config), database) except KeyError: print 'KeyError, check your config file please.' except requests.exceptions.ConnectionError: print 'Check your network please.'
def test_parse(self): program = Command('parse', version='1.0.0') program.option('-f', 'force') program.option('-v, --verbose', 'show more log') program.option('--no-color', 'output without color') program.option('-t, --tag <tag>', 'tag name') program.option('-s [source]', 'source repo') program.option('--key <keyword>', 'keywords') program.print_version() program.print_help() program.parse( 'parse -f -v --verbose --no-color bar -t tag --key=what' ) assert program.get('-f') assert program.verbose assert program.tag == 'tag' assert program.color is False assert program.key == 'what'
def test_as_container(self): program = Command('container', version='1.0.0') program.option('-f', 'force') program.option('-v, --verbose', 'show more log') program.option('--no-color', 'output without color') program.option('-t, --tag <tag>', 'tag name') program.option('-s [source]', 'source repo') program.option('--key <keyword>', 'keywords') program.parse( 'container -f -v --verbose --no-color bar -t tag --key=what' ) assert 'verbose' in dict(program)
def test_get_default(self): program = Command('get-default') program.option('--output [dir]', 'output dir, default: site') assert program.output == 'site'
def test_missing_required(self): program = Command('missing-required') program.option('-o, --output <dir>', 'output directory') program.parse('missing-required')
def test_missing_option(self): program = Command('missing-option') program.option('-o, --output <dir>', 'output directory') program.parse('missing-option -o')
def test_parse(self): program = Command('foo') program.option('-f', 'force') program.option('-v, --verbose', 'show more log') program.option('--no-color', 'output without color') program.option('-t, --tag <tag>', 'tag name') program.option('-s <source>', 'source repo') program.option('--key <keyword>', 'keywords') program.parse( 'foo -f -v --verbose --no-color bar -t tag --key=what'.split() ) assert program.get('-f') assert program.verbose assert program.tag == 'tag' assert program.color is False assert program.keyword == 'what'
def test_parse(self): program = Command('parse', version='1.0.0') program.option('-f', 'force') program.option('-v, --verbose', 'show more log') program.option('--no-color', 'output without color') program.option('-t, --tag <tag>', 'tag name') program.option('-s [source]', 'source repo') program.option('--key <keyword>', 'keywords') program.print_version() program.print_help() program.parse('parse -f -v --verbose --no-color bar -t tag --key=what') assert program.get('-f') assert program.verbose assert program.tag == 'tag' assert program.color is False assert program.key == 'what'
def test_as_container(self): program = Command('container', version='1.0.0') program.option('-f', 'force') program.option('-v, --verbose', 'show more log') program.option('--no-color', 'output without color') program.option('-t, --tag <tag>', 'tag name') program.option('-s [source]', 'source repo') program.option('--key <keyword>', 'keywords') program.parse( 'container -f -v --verbose --no-color bar -t tag --key=what') assert 'verbose' in dict(program)