~widelands-dev/widelands-website/trunk

« back to all changes in this revision

Viewing changes to wlms/db/djangobridge.py

  • Committer: Holger Rapp
  • Date: 2009-02-26 22:38:49 UTC
  • Revision ID: sirver@kallisto.local-20090226223849-1563ij0uuw0lz0zu
First version of widelands online help

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
2
 
# encoding: utf-8
3
 
 
4
 
import base64
5
 
import hashlib
6
 
import os
7
 
import sys
8
 
 
9
 
# Setup stuff needed for django
10
 
os.environ["DJANGO_SETTINGS_MODULE"] = "settings"
11
 
sys.path.append("..")
12
 
 
13
 
from django.contrib.auth.models import User
14
 
from wlggz.models import GGZAuth
15
 
 
16
 
class DjangoDatabaseBridge(object):
17
 
    _GGZPERMS2PERMS = {
18
 
          7: "REGISTERED",
19
 
        127: "SUPERUSER",
20
 
    }
21
 
 
22
 
    def check_user(self, user, password):
23
 
        try:
24
 
            djuser = User.objects.get(username=user)
25
 
            perm = GGZAuth.objects.get(user=djuser)
26
 
            cor_digest = base64.standard_b64decode(perm.password)
27
 
            given_digest = hashlib.sha1(password).digest()
28
 
            if cor_digest == given_digest:
29
 
                return self._GGZPERMS2PERMS[perm.permissions]
30
 
        except (User.DoesNotExist, GGZAuth.DoesNotExist) as e:
31
 
            pass
32
 
        return False
33
 
 
34
 
    def user_exists(self, user):
35
 
        try:
36
 
            djuser = User.objects.get(username=user)
37
 
            return True
38
 
        except User.DoesNotExist:
39
 
            pass
40
 
        return False
41
 
 
42