Example #1
0
    def get_object(self):
        identifier = self.kwargs['identifier']
        if '-' in identifier or '_' in identifier or '.' in identifier:
            return get_object_or_404(Link, identifier=identifier)

        # decode based on the identifier
        pk = base64.decode(identifier)
        try:
            link = Link.objects.get(Q(pk=pk) | Q(identifier=identifier))
        except Link.DoesNotExist:
            raise Http404

        return link
Example #2
0
    def get_redirect_url(self, **kwargs):
        identifier = self.kwargs['identifier']

        # If identifier includes a link it means we don't need to do a base64
        # decode. Just a fetch based on the identifier
        if '-' in identifier or '_' in identifier or '.' in identifier:
            link = get_object_or_404(Link, identifier=identifier)
            link.log(self.request)
            return link.original_url

        # decode based on the identifier
        pk = base64.decode(identifier)
        try:
            link = Link.objects.get(Q(pk=pk) | Q(identifier=identifier))
        except Link.DoesNotExist:
            raise Http404

        link.log(self.request)
        return link.original_url
Example #3
0
 def test_base64(self):
     self.assertEqual(base64.encode(1234), 'JI')
     self.assertEqual(base64.decode('JI'), 1234)
     self.assertEqual(base64.encode(-1234), '$JI')
     self.assertEqual(base64.decode('$JI'), -1234)
Example #4
0
 def test_base64(self):
     self.assertEqual(base64.encode(1234), 'JI')
     self.assertEqual(base64.decode('JI'), 1234)
     self.assertEqual(base64.encode(-1234), '$JI')
     self.assertEqual(base64.decode('$JI'), -1234)
Example #5
0
 def get_real_uuid(self):
     """ Renvoyer l'UUID au format UUID """
     s = "%x" % base64.decode(self.uuid)
     uuid = "-".join([s[0:4], s[4:8], s[8:12], s[12:16]])
     return uuid
Example #6
0
 def test_base64(self):
     self.assertEqual(base64.encode(1234), "JI")
     self.assertEqual(base64.decode("JI"), 1234)
     self.assertEqual(base64.encode(-1234), "$JI")
     self.assertEqual(base64.decode("$JI"), -1234)