Esempio n. 1
0
	def test_ne_2(self):
		Person = defaultnamedtuple('Person', 'name age', age=10)
		bob1 = Person('Bob')
		Person2 = defaultnamedtuple('Person2', 'name age', age=10)
		bob2 = Person2('Bob')
		assert bob1 != bob2
Esempio n. 2
0
"""Improvements surrounding the options for
and configuration of logging.
"""
import logging
import sys
from k.stdlib.collections import defaultnamedtuple

_LoggingOptions = defaultnamedtuple( #pylint: disable-msg=C0103
		'LoggingOptions',
		['logfile', 'loglevel'],
		logfile="stderr", loglevel='error'
		)

class LoggingOptions(_LoggingOptions): #pylint: disable-msg=R0903,W0232
	"""
	Default named tuple that can be used to manually set logging options
	for use with get_logging_options

	:type logfile: String
	:param logfile: The file to log to, or "stdout" or "stderr"' to log to \
	those special file descriptors.  defaults to 'stderr'

	:type: loglevel: String
	:param loglevel: The level to log at. Valid levels are: debug, info, \
	warning, error, and critical. defaults to 'error'
	"""
	pass

def get_logging_options(parser, **kwargs):
	"""
	Provide default options for logging by adding them to a logging class
Esempio n. 3
0
	def test_eq(self):
		Person = defaultnamedtuple('Person', 'name age', age=10)
		bob1 = Person('Bob')
		bob2 = Person('Bob')
		assert bob1 == bob2
Esempio n. 4
0
	def test_ne(self):
		Person = defaultnamedtuple('Person', 'name age', age=10)
		bob = Person('Bob')
		mary = Person('Mary')
		assert bob != mary
Esempio n. 5
0
	def test_all_optional_2(self):
		Person = defaultnamedtuple('Person', ['name', 'age', 'height'], name=None, age=10, height=80)
		bob = Person('Bob', 35)
		assert bob.name == 'Bob'
		assert bob.age == 35
		assert bob.height == 80
Esempio n. 6
0
	def test_all_optional_3(self):
		Person = defaultnamedtuple('Person', ['name', 'age', 'height'], name=None, age=10, height=80)
		bob = Person(height=60)
		assert bob.name == None
		assert bob.age == 10
		assert bob.height == 60
Esempio n. 7
0
	def test_some_optional_fail(self):
		Person = defaultnamedtuple('Person', ['name', 'age', 'height'], height=80)
		error_text = "__new__\(\) takes exactly 4 arguments \(3 given\)"
		with self.assertRaisesRegexp(TypeError, error_text):
			bob = Person('Bob', height=60)
Esempio n. 8
0
	def test_some_optional_3(self):
		Person = defaultnamedtuple('Person', ['name', 'age', 'height'], age=10, height=80)
		bob = Person('Bob', height=60)
		assert bob.name == 'Bob'
		assert bob.age == 10
		assert bob.height == 60
Esempio n. 9
0
	def test_all_required(self):
		Person = defaultnamedtuple('Person', ['name'])
		bob = Person('Bob')
		assert bob.name == 'Bob'
Esempio n. 10
0
	def test_unknown_property(self):
		error_text = "Encountered default not listed in field_names: age"
		with self.assertRaisesRegexp(ValueError, error_text):
			defaultnamedtuple('Person', [], age=10)
Esempio n. 11
0
import re
import types
import yaml
import requests
from collections import namedtuple
from k.stdlib.collections import defaultnamedtuple


AWS_PATH = '/etc/knewton/configuration/aws'
K_AWS_PATH = os.path.expanduser('~/.k.aws')
DEFAULT_REGION_NAME = 'us-east-1'
OUTPUT_FORMATS = ['json', 'tsv', 'text']

AwsCreds = defaultnamedtuple(
	'AwsCreds',
	['access', 'secret', 'token', 'mode', 'env', 'privatekey', 'cert'],
	access=None, secret=None, token=None, mode=None, env=None,
	privatekey=None, cert=None)

RegionAwsCreds = namedtuple('RegionAwsCreds', ['region_name', 'creds'])

ManualOptions = defaultnamedtuple(
	'ManualOptions',
	["access_key", "secret_key", "aws_env", "readwrite", "forcefile", "forceiam"],
	access_key=None, secret_key=None, aws_env=None, readwrite=None,
	forcefile=None, forceiam=None)

def connection_hash(creds):
	return {
		'aws_access_key_id': creds.access,
		'aws_secret_access_key': creds.secret,