from google.appengine.ext import db
import random
import string

def make_address():
    """
    Returns a random alphanumeric string of 10 digits.  Since there
    are 57 choices per digit (we exclude '0', 'O', 'l', 'I' and '1'
    for readability), this gives:
    57 ** 10 = 3.62033331 x 10 ** 17

    possible results.  When there are a million accounts active,
    we need:
    10 ** 6 x 10 ** 6 = 10 ** 12

    possible results to have a one-in-a-million chance of a
    collision, so this seems like a safe number.
    """
    chars = string.letters + string.digits
    chars = chars.translate(string.maketrans('', ''), '0OlI1')
    return ''.join([ random.choice(chars) for i in range(10) ])
        
class EmailUser(db.Model):
    # the email address that the user sends events to:
    email_address = db.StringProperty(default=make_address())
    # the AuthSub token used to authenticate the user to gcal:
    auth_token = db.StringProperty()
    date_added = db.DateTimeProperty(auto_now_add=True)
    last_action = db.DateTimeProperty(auto_now_add=True)

@@ -130,18 +130,17 @@
 ring of 
-10
+8
  digits.
@@ -269,23 +269,22 @@
  ** 
-10 = 3.62033331
+8 = 1.11429157
  x 1
@@ -289,17 +289,17 @@
  10 ** 1
-7
+4
 %0A%0A    po
@@ -684,18 +684,17 @@
 n range(
-10
+8
 ) %5D)%0A   

Use 8 characters for email address rather than 10.