コード例 #1
0
    def test_pickle_dict(self):
        items = {
            'name': u'jon',
            'animal': 'dog',
            'boolean': True,
            'number': 42,
            'list': ['a', 'b'],
            'dict': {
                'foo': 'bar'
            },
        }
        pickled = pickle_dict(items)
        expected = (
            ('name', u'jon'),
            ('animal', 'dog'),
            ('boolean', 'I01\n.'),
            ('number', 'I42\n.'),
            (
                'list',
                "(lp1\nS'a'\naS'b'\na.",
            ),
            ('dict', "(dp1\nS'foo'\np2\nS'bar'\np3\ns."),
        )

        self.assertEqual(len(pickled.items()), 7)
        for key, val in expected:
            self.assertEqual(pickled.get(key), val)
        fields = pickled.get('_pickled').split(',')
        self.assertEqual(sorted(fields), ['boolean', 'dict', 'list', 'number'])
        self.assertEqual(unpickle_dict(pickled), items)
        self.assertEqual(unpickle_dict(pickle_dict(items)), items)
コード例 #2
0
ファイル: test_common.py プロジェクト: beenje/xbmcswift2
    def test_pickle_dict(self):
        items = {
            'name': u'jon',
            'animal': 'dog',
            'boolean': True,
            'number': 42,
            'list': ['a', 'b'],
            'dict': {'foo': 'bar'},
        }
        pickled = pickle_dict(items)
        expected = (
            ('name', u'jon'),
            ('animal', 'dog'),
            ('boolean', 'I01\n.'),
            ('number', 'I42\n.'),
            ('list', "(lp0\nS'a'\np1\naS'b'\np2\na."),
            ('dict', "(dp0\nS'foo'\np1\nS'bar'\np2\ns."),
        )


        self.assertEqual(len(pickled.items()), 7)
        for key, val in expected:
            self.assertEqual(pickled.get(key), val)
        fields = pickled.get('_pickled').split(',')
        self.assertEqual(sorted(fields), ['boolean', 'dict', 'list', 'number'])
        self.assertEqual(unpickle_dict(pickled), items)
        self.assertEqual(unpickle_dict(pickle_dict(items)), items)
コード例 #3
0
ファイル: urls.py プロジェクト: uguer30/Project
 def _make_qs(self, items):
     '''Returns a query string for the given dictionary of items. All keys
     and values in the provided items will be urlencoded. If necessary, any
     python objects will be pickled before being urlencoded.
     '''
     return urlencode(pickle_dict(items))
コード例 #4
0
ファイル: urls.py プロジェクト: noobsandnerds/addons4xbox
 def _make_qs(self, items):
     '''Returns a query string for the given dictionary of items. All keys
     and values in the provided items will be urlencoded. If necessary, any
     python objects will be pickled before being urlencoded.
     '''
     return urlencode(pickle_dict(items))