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
"""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
def test_eq(self): Person = defaultnamedtuple('Person', 'name age', age=10) bob1 = Person('Bob') bob2 = Person('Bob') assert bob1 == bob2
def test_ne(self): Person = defaultnamedtuple('Person', 'name age', age=10) bob = Person('Bob') mary = Person('Mary') assert bob != mary
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
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
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)
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
def test_all_required(self): Person = defaultnamedtuple('Person', ['name']) bob = Person('Bob') assert bob.name == 'Bob'
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)
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,