예제 #1
0
    def test_settings(self):
        from jsonpublish import dumps, register_adapter, jsonsettings
        from datetime import date
        o = date(1987, 5, 8)

        def adapt_date(d, with_year=True):
            if with_year:
                return d.strftime("%Y-%m-%d")
            else:
                return d.strftime("%m-%d")

        register_adapter(date, adapt_date)
        self.assertEqual(dumps(o), '"1987-05-08"')
        self.assertEqual(dumps(jsonsettings(o, with_year=False)), '"05-08"')
예제 #2
0
 def test_settings(self):
     from jsonpublish import dumps, register_adapter, jsonsettings
     from datetime import date
     o = date(1987, 5, 8)
     def adapt_date(d, with_year=True):
         if with_year:
             return d.strftime("%Y-%m-%d")
         else:
             return d.strftime("%m-%d")
     register_adapter(date, adapt_date)
     self.assertEqual(
         dumps(o),
         '"1987-05-08"')
     self.assertEqual(
         dumps(jsonsettings(o, with_year=False)),
         '"05-08"')
예제 #3
0
 def test_adapt(self):
     from jsonpublish import dumps, register_adapter
     from datetime import date
     o = date(1987, 5, 8)
     self.assertRaises(TypeError, dumps, o)
     register_adapter(date, lambda d: d.strftime("%Y-%m-%d"))
     self.assertEqual(dumps(o), '"1987-05-08"')
예제 #4
0
        def advice(parent_object, *args, **kw):
            request = parent_object.request
            wijziging = request.audit_manager.create_revision()

            result = fn(parent_object, *args, **kw)

            if hasattr(request, 'user') and request.user is not None and 'actor' in request.user:
                actor = request.user['actor']
                wijziging.updated_by = actor.get('uri', None)
                wijziging.updated_by_omschrijving = actor.get('omschrijving', None)
            else:
                wijziging.updated_by = 'publiek'
                wijziging.updated_by_omschrijving = 'publiek'

            r_id = request.matchdict.get('id')
            wijziging.resource_object_id = r_id
            if result is not None:
                wijziging.resource_object_id = result.id if not r_id else int(r_id)
                try:
                    wijziging.resource_object_json = json.loads(dumps(jsonsettings(result, request=request)))
                except Exception as e:
                    log.error(e)

            wijziging.versie = _get_versie_hash(wijziging)
            wijziging.actie = kwargs.get('actie') if kwargs.get('actie') else _action_from_request(request)

            request.audit_manager.save(wijziging)

            return result
예제 #5
0
 def test_adapt(self):
     from jsonpublish import dumps, register_adapter
     from datetime import date
     o = date(1987, 5, 8)
     self.assertRaises(
         TypeError,
         dumps, o)
     register_adapter(
         date, lambda d: d.strftime("%Y-%m-%d"))
     self.assertEqual(
         dumps(o),
         '"1987-05-08"')
예제 #6
0
    def test_json_method(self):
        from jsonpublish import dumps

        class User(object):
            def __init__(self, username, birthday):
                self.username = username
                self.birthday = birthday

            def __json__(self):
                return {
                    "username": self.username,
                    "birthday": self.birthday
                }

        self.assertEqual(
            dumps(User("andrey", 1987)),
            '{"username": "******", "birthday": 1987}'
        )