Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion libraries/botbuilder-azure/botbuilder/azure/blob_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,11 @@ async def write(self, changes: Dict[str, object]):
)

for (name, item) in changes.items():
e_tag = item.e_tag if hasattr(item, "e_tag") else item.get("e_tag", None)
e_tag = None
if isinstance(item, dict):
e_tag = item.get("e_tag", None)
elif hasattr(item, "e_tag"):
e_tag = item.e_tag
e_tag = None if e_tag == "*" else e_tag
if e_tag == "":
raise Exception("blob_storage.write(): etag missing")
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,11 @@ async def write(self, changes: Dict[str, object]):
await self.initialize()

for (key, change) in changes.items():
e_tag = change.get("e_tag", None)
e_tag = None
if isinstance(change, dict):
e_tag = change.get("e_tag", None)
elif hasattr(change, "e_tag"):
e_tag = change.e_tag
doc = {
"id": CosmosDbKeyEscape.sanitize_key(
key, self.config.key_suffix, self.config.compatibility_mode
Expand Down
10 changes: 5 additions & 5 deletions libraries/botbuilder-azure/botbuilder/azure/cosmosdb_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -183,11 +183,11 @@ async def write(self, changes: Dict[str, object]):
# iterate over the changes
for (key, change) in changes.items():
# store the e_tag
e_tag = (
change.e_tag
if hasattr(change, "e_tag")
else change.get("e_tag", None)
)
e_tag = None
if isinstance(change, dict):
e_tag = change.get("e_tag", None)
elif hasattr(change, "e_tag"):
e_tag = change.e_tag
# create the new document
doc = {
"id": CosmosDbKeyEscape.sanitize_key(key),
Expand Down
16 changes: 8 additions & 8 deletions libraries/botbuilder-core/botbuilder/core/memory_storage.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,21 +48,21 @@ async def write(self, changes: Dict[str, StoreItem]):
# If it exists then we want to cache its original value from memory
if key in self.memory:
old_state = self.memory[key]
if not isinstance(old_state, StoreItem):
if isinstance(old_state, dict):
old_state_etag = old_state.get("e_tag", None)
elif old_state.e_tag:
elif hasattr(old_state, "e_tag"):
old_state_etag = old_state.e_tag

new_state = new_value

# Set ETag if applicable
new_value_etag = (
new_value.e_tag
if hasattr(new_value, "e_tag")
else new_value.get("e_tag", None)
)
new_value_etag = None
if isinstance(new_value, dict):
new_value_etag = new_value.get("e_tag", None)
elif hasattr(new_value, "e_tag"):
new_value_etag = new_value.e_tag
if new_value_etag == "":
raise Exception("blob_storage.write(): etag missing")
raise Exception("memory_storage.write(): etag missing")
if (
old_state_etag is not None
and new_value_etag is not None
Expand Down