Skip to content

Commit 067a6d6

Browse files
committed
Merge branch 'develop' into improv/logger-extra-kwargs
* develop: chore: general simplifications and cleanup (#255)
2 parents 9537890 + 157a7bc commit 067a6d6

File tree

11 files changed

+31
-53
lines changed

11 files changed

+31
-53
lines changed

aws_lambda_powertools/logging/filters.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,4 @@ def filter(self, record): # noqa: A003
1313
created by loggers who don't have a handler.
1414
"""
1515
logger = record.name
16-
return False if self.logger in logger else True
16+
return self.logger not in logger

aws_lambda_powertools/logging/formatter.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,7 @@ def _build_root_keys(**kwargs):
7474
@staticmethod
7575
def _get_latest_trace_id():
7676
xray_trace_id = os.getenv("_X_AMZN_TRACE_ID")
77-
trace_id = xray_trace_id.split(";")[0].replace("Root=", "") if xray_trace_id else None
78-
79-
return trace_id
77+
return xray_trace_id.split(";")[0].replace("Root=", "") if xray_trace_id else None
8078

8179
def update_formatter(self, **kwargs):
8280
self.log_format.update(kwargs)

aws_lambda_powertools/logging/logger.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -291,9 +291,10 @@ def _get_log_level(level: Union[str, int]) -> Union[str, int]:
291291
return level
292292

293293
log_level: str = level or os.getenv("LOG_LEVEL")
294-
log_level = log_level.upper() if log_level is not None else logging.INFO
294+
if log_level is None:
295+
return logging.INFO
295296

296-
return log_level
297+
return log_level.upper()
297298

298299
@staticmethod
299300
def _get_caller_filename():
@@ -303,9 +304,7 @@ def _get_caller_filename():
303304
# Before previous frame => Caller
304305
frame = inspect.currentframe()
305306
caller_frame = frame.f_back.f_back.f_back
306-
filename = caller_frame.f_globals["__name__"]
307-
308-
return filename
307+
return caller_frame.f_globals["__name__"]
309308

310309

311310
def set_package_logger(

aws_lambda_powertools/metrics/base.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -240,10 +240,7 @@ def add_dimension(self, name: str, value: str):
240240
# Cast value to str according to EMF spec
241241
# Majority of values are expected to be string already, so
242242
# checking before casting improves performance in most cases
243-
if isinstance(value, str):
244-
self.dimension_set[name] = value
245-
else:
246-
self.dimension_set[name] = str(value)
243+
self.dimension_set[name] = value if isinstance(value, str) else str(value)
247244

248245
def add_metadata(self, key: str, value: Any):
249246
"""Adds high cardinal metadata for metrics object

aws_lambda_powertools/tracing/tracer.py

+7-9
Original file line numberDiff line numberDiff line change
@@ -454,24 +454,22 @@ async def async_tasks():
454454
method_name = f"{method.__name__}"
455455

456456
if inspect.iscoroutinefunction(method):
457-
decorate = self._decorate_async_function(
457+
return self._decorate_async_function(
458458
method=method, capture_response=capture_response, method_name=method_name
459459
)
460460
elif inspect.isgeneratorfunction(method):
461-
decorate = self._decorate_generator_function(
461+
return self._decorate_generator_function(
462462
method=method, capture_response=capture_response, method_name=method_name
463463
)
464464
elif hasattr(method, "__wrapped__") and inspect.isgeneratorfunction(method.__wrapped__):
465-
decorate = self._decorate_generator_function_with_context_manager(
465+
return self._decorate_generator_function_with_context_manager(
466466
method=method, capture_response=capture_response, method_name=method_name
467467
)
468468
else:
469-
decorate = self._decorate_sync_function(
469+
return self._decorate_sync_function(
470470
method=method, capture_response=capture_response, method_name=method_name
471471
)
472472

473-
return decorate
474-
475473
def _decorate_async_function(self, method: Callable = None, capture_response: bool = True, method_name: str = None):
476474
@functools.wraps(method)
477475
async def decorate(*args, **kwargs):
@@ -650,9 +648,9 @@ def __build_config(
650648

651649
self._config["provider"] = provider if provider is not None else self._config["provider"]
652650
self._config["auto_patch"] = auto_patch if auto_patch is not None else self._config["auto_patch"]
653-
self._config["service"] = is_service if is_service else self._config["service"]
654-
self._config["disabled"] = is_disabled if is_disabled else self._config["disabled"]
655-
self._config["patch_modules"] = patch_modules if patch_modules else self._config["patch_modules"]
651+
self._config["service"] = is_service or self._config["service"]
652+
self._config["disabled"] = is_disabled or self._config["disabled"]
653+
self._config["patch_modules"] = patch_modules or self._config["patch_modules"]
656654

657655
@classmethod
658656
def _reset_config(cls):

aws_lambda_powertools/utilities/parameters/dynamodb.py

+1-5
Original file line numberDiff line numberDiff line change
@@ -206,8 +206,4 @@ def _get_multiple(self, path: str, **sdk_options) -> Dict[str, str]:
206206
response = self.table.query(**sdk_options)
207207
items.extend(response.get("Items", []))
208208

209-
retval = {}
210-
for item in items:
211-
retval[item[self.sort_attr]] = item[self.value_attr]
212-
213-
return retval
209+
return {item[self.sort_attr]: item[self.value_attr] for item in items}

aws_lambda_powertools/utilities/parser/envelopes/cloudwatch.py

+3-4
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,6 @@ def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Lis
3636
logger.debug(f"Parsing incoming data with SNS model {CloudWatchLogsModel}")
3737
parsed_envelope = CloudWatchLogsModel.parse_obj(data)
3838
logger.debug(f"Parsing CloudWatch records in `body` with {model}")
39-
output = []
40-
for record in parsed_envelope.awslogs.decoded_data.logEvents:
41-
output.append(self._parse(data=record.message, model=model))
42-
return output
39+
return [
40+
self._parse(data=record.message, model=model) for record in parsed_envelope.awslogs.decoded_data.logEvents
41+
]

aws_lambda_powertools/utilities/parser/envelopes/dynamodb.py

+7-9
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,11 @@ def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Lis
3232
"""
3333
logger.debug(f"Parsing incoming data with DynamoDB Stream model {DynamoDBStreamModel}")
3434
parsed_envelope = DynamoDBStreamModel.parse_obj(data)
35-
output = []
3635
logger.debug(f"Parsing DynamoDB Stream new and old records with {model}")
37-
for record in parsed_envelope.Records:
38-
output.append(
39-
{
40-
"NewImage": self._parse(data=record.dynamodb.NewImage, model=model),
41-
"OldImage": self._parse(data=record.dynamodb.OldImage, model=model),
42-
}
43-
)
44-
return output
36+
return [
37+
{
38+
"NewImage": self._parse(data=record.dynamodb.NewImage, model=model),
39+
"OldImage": self._parse(data=record.dynamodb.OldImage, model=model),
40+
}
41+
for record in parsed_envelope.Records
42+
]

aws_lambda_powertools/utilities/parser/envelopes/kinesis.py

+4-5
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
class KinesisDataStreamEnvelope(BaseEnvelope):
1212
"""Kinesis Data Stream Envelope to extract array of Records
1313
14-
The record's data parameter is a base64 encoded string which is parsed into a bytes array,
14+
The record's data parameter is a base64 encoded string which is parsed into a bytes array,
1515
though it can also be a JSON encoded string.
1616
Regardless of its type it'll be parsed into a BaseModel object.
1717
@@ -36,8 +36,7 @@ def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Lis
3636
"""
3737
logger.debug(f"Parsing incoming data with Kinesis model {KinesisDataStreamModel}")
3838
parsed_envelope: KinesisDataStreamModel = KinesisDataStreamModel.parse_obj(data)
39-
output = []
4039
logger.debug(f"Parsing Kinesis records in `body` with {model}")
41-
for record in parsed_envelope.Records:
42-
output.append(self._parse(data=record.kinesis.data.decode("utf-8"), model=model))
43-
return output
40+
return [
41+
self._parse(data=record.kinesis.data.decode("utf-8"), model=model) for record in parsed_envelope.Records
42+
]

aws_lambda_powertools/utilities/parser/envelopes/sns.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,5 @@ def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Lis
3535
"""
3636
logger.debug(f"Parsing incoming data with SNS model {SnsModel}")
3737
parsed_envelope = SnsModel.parse_obj(data)
38-
output = []
3938
logger.debug(f"Parsing SNS records in `body` with {model}")
40-
for record in parsed_envelope.Records:
41-
output.append(self._parse(data=record.Sns.Message, model=model))
42-
return output
39+
return [self._parse(data=record.Sns.Message, model=model) for record in parsed_envelope.Records]

aws_lambda_powertools/utilities/parser/envelopes/sqs.py

+1-4
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,5 @@ def parse(self, data: Optional[Union[Dict[str, Any], Any]], model: Model) -> Lis
3535
"""
3636
logger.debug(f"Parsing incoming data with SQS model {SqsModel}")
3737
parsed_envelope = SqsModel.parse_obj(data)
38-
output = []
3938
logger.debug(f"Parsing SQS records in `body` with {model}")
40-
for record in parsed_envelope.Records:
41-
output.append(self._parse(data=record.body, model=model))
42-
return output
39+
return [self._parse(data=record.body, model=model) for record in parsed_envelope.Records]

0 commit comments

Comments
 (0)