def testCleanDict(self): """Tests if the fields in the dict is HTML escaped as desired. """ target = {"name": "test", "param1": ">1000", "param2": "<1000", "param3": "a&b"} filter_fields = ["param1", "param2", "param3"] expected_dict = {"param3": u"a&b", "name": "test", "param1": u">1000", "param2": u"<1000"} self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) filter_fields = [] expected_dict = {"param3": "a&b", "name": "test", "param1": ">1000", "param2": "<1000"} self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) # parameter not present in target filter_fields = ["other_param"] self.assertRaises(KeyError, dicts.cleanDict, target, filter_fields) from django.utils.safestring import mark_safe target["param1"] = mark_safe(target["param1"]) expected_dict = {"param3": u"a&b", "name": "test", "param1": ">1000", "param2": u"<1000"} filter_fields = ["param1", "param2", "param3"] self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) expected_dict = {"param3": u"a&b", "name": "test", "param1": u">1000", "param2": u"<1000"} self.assertEqual(dicts.cleanDict(target, filter_fields, escape_safe=True), expected_dict)
def testCleanDict(self): """Tests if the fields in the dict is HTML escaped as desired. """ target = { 'name': 'test', 'param1':'>1000', 'param2':'<1000', 'param3': 'a&b'} filter_fields = ['param1', 'param2', 'param3'] expected_dict = { 'param3': u'a&b', 'name': 'test', 'param1': u'>1000', 'param2': u'<1000' } self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) filter_fields = [] expected_dict = {'param3': 'a&b', 'name': 'test', 'param1': '>1000', 'param2': '<1000'} self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) #parameter not present in target filter_fields = ['other_param'] self.assertRaises(KeyError, dicts.cleanDict, target, filter_fields) from django.utils.safestring import mark_safe target['param1'] = mark_safe(target['param1']) expected_dict = { 'param3': u'a&b', 'name': 'test', 'param1': '>1000', 'param2': u'<1000'} filter_fields = ['param1', 'param2', 'param3'] self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) expected_dict = { 'param3': u'a&b', 'name': 'test', 'param1': u'>1000', 'param2': u'<1000'} self.assertEqual( dicts.cleanDict(target, filter_fields, escape_safe=True), expected_dict)
def testCleanDict(self): """Tests if the fields in the dict is HTML escaped as desired. """ target = { 'name': 'test', 'param1': '>1000', 'param2': '<1000', 'param3': 'a&b' } filter_fields = ['param1', 'param2', 'param3'] expected_dict = { 'param3': u'a&b', 'name': 'test', 'param1': u'>1000', 'param2': u'<1000' } self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) filter_fields = [] expected_dict = { 'param3': 'a&b', 'name': 'test', 'param1': '>1000', 'param2': '<1000' } self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) #parameter not present in target filter_fields = ['other_param'] self.assertRaises(KeyError, dicts.cleanDict, target, filter_fields) from django.utils.safestring import mark_safe target['param1'] = mark_safe(target['param1']) expected_dict = { 'param3': u'a&b', 'name': 'test', 'param1': '>1000', 'param2': u'<1000' } filter_fields = ['param1', 'param2', 'param3'] self.assertEqual(dicts.cleanDict(target, filter_fields), expected_dict) expected_dict = { 'param3': u'a&b', 'name': 'test', 'param1': u'>1000', 'param2': u'<1000' } self.assertEqual( dicts.cleanDict(target, filter_fields, escape_safe=True), expected_dict)
def entityToRowDict(entity, key_order, no_filter, extra_cols_func, button_ops_func, row_ops_func, args): """Returns the row dict for the specified entity. """ extra_cols = extra_cols_func(entity, *args) button_ops = button_ops_func(entity, *args) row_ops = row_ops_func(entity, *args) fields = set(key_order).difference(set(extra_cols)) columns = entity.toDict(list(fields)) columns.update(extra_cols) columns['key'] = str(entity.key().id_or_name()) filter_fields = [i for i in columns.keys() if i not in no_filter] columns = dicts.cleanDict(columns, filter_fields) operations = { "row": row_ops, "buttons": button_ops, } result = { "columns": columns, "operations": operations, } return result