python实用程序库
friend的Python项目详细描述
什么是朋友?
friend是所有那些在python项目中不断重新实现的实用程序,所有这些工具结合在一起并决定和谐相处。
也许您刚刚解析了一些yaml,其中包含“snake_case”中的一些配置,您希望将此配置传递给一个boto3函数,该函数的值与“PascalCase”中的值相同。然后您可能会发现snake_to_pascal_obj或它的一个变体派上用场。
with open('conf.yml') as f: conf = yaml.load(f) ec2 = boto3.resource('ec2') ec2.create_instances( ImageId='ami-12345678', BlockDeviceMappings=snake_to_pascal_obj(conf['block_device_mappings']), .... )
或者您需要向该脚本添加一个重试,该脚本会不断破坏您的jenkins作业,因为公司代理失败的次数约为5%。当然,您可以添加一个try/except并将其包装在一个for循环中,但是将retryabledecorator放在这个有问题的函数的顶部将为您在一个可配置的行中完成这项工作。
@retryable(times=5) def flaky_function(): status = requests.get('https://service.corp/v2/status').json() if 'error' in status: send_important_email(status['error'])
阅读http://friend.readthedocs.io上的完整文档。