diff --git a/python/rocketmq/signature.py b/python/rocketmq/signature.py index 3b507dedc..ed39f9b70 100644 --- a/python/rocketmq/signature.py +++ b/python/rocketmq/signature.py @@ -38,6 +38,10 @@ class Signature: __CREDENTIAL = "Credential" __SIGNED_HEADERS = "SignedHeaders" __SIGNATURE = "Signature" + try: + __CLIENT_VERSION = importlib.metadata.version("rocketmq") + except Exception: + __CLIENT_VERSION = "0.1.0" @staticmethod def sign(client_config: ClientConfig, client_id: str): @@ -45,7 +49,7 @@ def sign(client_config: ClientConfig, client_id: str): metadata = [ (Signature.__LANGUAGE_KEY, "PYTHON"), (Signature.__PROTOCOL_VERSION, "v2"), - (Signature.__CLIENT_VERSION_KEY, importlib.metadata.version("rocketmq")), + (Signature.__CLIENT_VERSION_KEY, Signature.__CLIENT_VERSION), ( Signature.__DATE_TIME_KEY, date_time, diff --git a/python/rocketmq/simple_subscription_settings.py b/python/rocketmq/simple_subscription_settings.py index 6d1930088..2ee60089f 100644 --- a/python/rocketmq/simple_subscription_settings.py +++ b/python/rocketmq/simple_subscription_settings.py @@ -16,7 +16,7 @@ from typing import Dict from google.protobuf.duration_pb2 import Duration -from rocketmq.filter_expression import ExpressionType +from rocketmq.filter_expression import ExpressionType, FilterExpression from rocketmq.log import logger from rocketmq.protocol.definition_pb2 import \ FilterExpression as ProtoFilterExpression @@ -30,13 +30,6 @@ from .settings import ClientType, ClientTypeHelper, Settings -# Assuming a simple representation of FilterExpression for the purpose of this example -class FilterExpression: - def __init__(self, type, expression): - self.Type = type - self.Expression = expression - - class SimpleSubscriptionSettings(Settings): def __init__(self, clientId, endpoints, consumerGroup, requestTimeout, longPollingTimeout, @@ -60,12 +53,12 @@ def to_protobuf(self): subscriptionEntry = ProtoSubscriptionEntry() filterExpression = ProtoFilterExpression() - if value.type == ExpressionType.Tag: + if value.type.value == ExpressionType.Tag.value: filterExpression.type = ProtoFilterType.TAG - elif value.type == ExpressionType.Sql92: + elif value.type.value == ExpressionType.Sql92.value: filterExpression.type = ProtoFilterType.SQL else: - logger.warn(f"[Bug] Unrecognized filter type={value.Type} for simple consumer") + logger.warn(f"[Bug] Unrecognized filter type={value.type} for simple consumer") filterExpression.expression = value.expression subscriptionEntry.topic.CopyFrom(topic)