Skip to content

Commit

Permalink
Update bencode function so it also handles nested mongoengine BaseDic…
Browse files Browse the repository at this point in the history
…t types.
  • Loading branch information
Kami committed Aug 27, 2015
1 parent 6dfc5a3 commit 03fdb94
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 2 deletions.
4 changes: 2 additions & 2 deletions st2common/st2common/models/db/trigger.py
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,8 @@ def get_uid(self):
uid = super(TriggerDB, self).get_uid()

parameters = getattr(self, 'parameters', {})
parameters = dict(parameters)
parameters = hashlib.md5(bencode.bencode(parameters)).hexdigest()
parameters = bencode.bencode(parameters)
parameters = hashlib.md5(parameters).hexdigest()

uid = uid + self.UID_SEPARATOR + parameters
return uid
Expand Down
3 changes: 3 additions & 0 deletions st2common/st2common/util/bencode.py
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@

from types import UnicodeType

from mongoengine.base.datastructures import BaseDict

import bencode as bencode_upstream

__all__ = [
Expand All @@ -35,6 +37,7 @@ def encode_unicode(x, r):

# Patch bencode so it also knows how to encode unicode types
bencode_upstream.encode_func[UnicodeType] = encode_unicode
bencode_upstream.encode_func[BaseDict] = bencode_upstream.encode_dict


def bencode(x):
Expand Down

0 comments on commit 03fdb94

Please sign in to comment.