getting file size for all dict files to be downloaded. coming to be 400mb or so.
[worddb.git] / libs / django_authopenid / .svn / text-base / models.py.svn-base
blob9826c452b6f643e7cfa3d7a063baa0062938bb2e
1 # -*- coding: utf-8 -*-
2 from django.conf import settings
3 from django.contrib.auth.models import User
4 from django.db import models
6 import md5, random, sys, os, time
8 __all__ = ['Nonce', 'Association', 'UserAssociation', 
9         'UserPasswordQueueManager', 'UserPasswordQueue']
11 class Nonce(models.Model):
12     """ openid nonce """
13     server_url = models.CharField(max_length=255)
14     timestamp = models.IntegerField()
15     salt = models.CharField(max_length=40)
16     
17     def __unicode__(self):
18         return u"Nonce: %s" % self.id
20     
21 class Association(models.Model):
22     """ association openid url and lifetime """
23     server_url = models.TextField(max_length=2047)
24     handle = models.CharField(max_length=255)
25     secret = models.TextField(max_length=255) # Stored base64 encoded
26     issued = models.IntegerField()
27     lifetime = models.IntegerField()
28     assoc_type = models.TextField(max_length=64)
29     
30     def __unicode__(self):
31         return u"Association: %s, %s" % (self.server_url, self.handle)
33 class UserAssociation(models.Model):
34     """ 
35     model to manage association between openid and user 
36     """
37     openid_url = models.CharField(blank=False, max_length=255)
38     user = models.ForeignKey(User, unique=True)
39     
40     def __unicode__(self):
41         return "Openid %s with user %s" % (self.openid_url, self.user)
43 class UserPasswordQueueManager(models.Manager):
44     """ manager for UserPasswordQueue object """
45     def get_new_confirm_key(self):
46         "Returns key that isn't being used."
47         # The random module is seeded when this Apache child is created.
48         # Use SECRET_KEY as added salt.
49         while 1:
50             confirm_key = md5.new("%s%s%s%s" % (
51                 random.randint(0, sys.maxint - 1), os.getpid(),
52                 time.time(), settings.SECRET_KEY)).hexdigest()
53             try:
54                 self.get(confirm_key=confirm_key)
55             except self.model.DoesNotExist:
56                 break
57         return confirm_key
60 class UserPasswordQueue(models.Model):
61     """
62     model for new password queue.
63     """
64     user = models.ForeignKey(User, unique=True)
65     new_password = models.CharField(max_length=30)
66     confirm_key = models.CharField(max_length=40)
68     objects = UserPasswordQueueManager()
70     def __unicode__(self):
71         return self.user.username