#426 Use a hash of the config in the key cache
Merged 6 years ago by abompard. Opened 6 years ago by abompard.
abompard/fedora-hubs fix/widget-cache-key  into  develop

@@ -38,7 +38,8 @@ 

          super(CachedFunctionTest, self).tearDown()

  

      def test_get_cache_key(self):

-         value = '%d|DummyFunction|{"text": "Testing."}' % self.w_instance.idx

+         value = ('%d|DummyFunction|c7540fbb81683902959eb96e23be42ba'

+                  % self.w_instance.idx)

          self.assertEqual(

              self.fn.get_cache_key(),

              value.encode("ascii"),

file modified
+6 -1
@@ -1,6 +1,7 @@ 

  from __future__ import unicode_literals

  

  import datetime

+ import hashlib

  import json

  import logging

  
@@ -61,7 +62,11 @@ 

      def get_cache_key(self):

          key_elements = [str(self.instance.idx), self.__class__.__name__]

          if self.invalidate_on_config_change:

-             key_elements.append(json.dumps(self.instance.config))

+             key_elements.append(

+                 hashlib.md5(

+                     json.dumps(self.instance.config).encode("utf-8")

+                 ).hexdigest()

+             )

          return "|".join(key_elements).encode('utf-8')

  

      def get_data(self):

Because some configurations can be very long.

rebased onto 90e1877

6 years ago

Pull-Request has been merged by abompard

6 years ago