<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,5 +1,5 @@
 #!/usr/bin/env python
-import sys, os, inspect
+import sys, os, inspect, re
 path = os.path.dirname(inspect.currentframe().f_code.co_filename) or '.'
 os.chdir(path)
 sys.path.append(path)
@@ -12,9 +12,9 @@ from doubanbot import config
 
 urls = (
  '[/]+', 'index',
- '/douban/subscribe/([^\/]+)', 'subscribe',
- '/douban/auth/([a-zA-Z0-9]{32})', 'auth',
- '/douban/callback.*', 'callback',
+ '/bot/subscribe/([^\/]+)', 'subscribe',
+ '/bot/auth/([a-zA-Z0-9]{32})', 'auth',
+ '/bot/callback.*', 'callback',
 )
 
 
@@ -102,6 +102,9 @@ class callback:
         user.jid = authen.jid
         user.uid = people.uid.text
         user.name = people.title.text
+        match = re.search('^.*\/(\d+)$', people.GetSelfLink().href)
+        if match: 
+            user.nid = match.group(1)
         user.auth = True
         user.key = access_key
         user.secret = access_secret</diff>
      <filename>index.py</filename>
    </modified>
    <modified>
      <diff>@@ -33,7 +33,7 @@ class UserStuff(JidSet):
         self.last_dm_id = last_dm_id
 
         self.uid = None
-        self.name = None
+        self.nid = None
         self.key = None
         self.secret = None
         self.auth = None
@@ -109,7 +109,7 @@ class UserStuff(JidSet):
             entry_id = int(entry.id) 
             if entry_id &gt; self.last_cb_id:
                 self.last_cb_id = entry_id
-                if self.name == entry.authorName.decode('utf-8'):
+                if self.nid == entry.authorId:
                     continue
                 plain = &quot;%s: %s &quot; % (entry.authorName.decode('utf-8'), entry.title.decode('utf-8'))
                 html = &quot;&lt;a href=\&quot;%s\&quot;&gt;%s&lt;/a&gt;: %s&quot; % (entry.authorLink, entry.authorName.decode('utf-8'), entry.htmlContent.decode('utf-8'))
@@ -224,14 +224,14 @@ class UserRegistry(object):
             self.users[short_jid] = UserStuff(short_jid, last_cb_id, last_dm_id)
         self.users[short_jid].add(full_jid)
 
-    def set_creds(self, short_jid, uid, name, key, secret, quiet_until):
+    def set_creds(self, short_jid, uid, nid, key, secret, quiet_until):
         u = self.users.get(short_jid)
         if not u:
             log.msg(&quot;Couldn't find %s to set creds&quot; % short_jid)
             return
 
         u.uid = uid
-        u.name = name
+        u.nid = nid
         u.key = key
         u.secret = secret
         u.quiet_until = quiet_until
@@ -281,7 +281,7 @@ def _load_user(entity, session):
         u = models.User.update_status(jid, None, session)
     if u.active is False or u.auth is False:
         return ((u.last_cb_id, u.last_dm_id), ('', '', '', '', u.quiet_until))
-    return ((u.last_cb_id, u.last_dm_id), (u.uid, u.name, u.key, u.secret, u.quiet_until))
+    return ((u.last_cb_id, u.last_dm_id), (u.uid, u.nid, u.key, u.secret, u.quiet_until))
 
 def _init_user(u, short_jid, full_jids):
     if u:</diff>
      <filename>lib/doubanbot/scheduling.py</filename>
    </modified>
    <modified>
      <diff>@@ -74,19 +74,6 @@ class User(object):
             if not session:
                 s.close()
 
-    @staticmethod
-    def to_check(session, timeout=1):
-        query = &quot;&quot;&quot;select * from users
-                    where users.active = :uactive 
-                    and users.auth = :uauth
-                    and users.status not in ('dnd', 'offline', 'unavailable', 'unsubscribed')
-                    and (users.last_check is null or users.last_check &lt; :ulast_check)
-                    limit 50
-                &quot;&quot;&quot;
-        then = datetime.datetime.now() - datetime.timedelta(minutes=timeout)
-        return session.query(User).from_statement(query).params(
-            uactive=True, uauth=True, ulast_check=then)
-        
 
 class Authen(object):
     def __init__(self, jid, hash):
@@ -150,6 +137,7 @@ class Token(object):
 _users_table = Table('users', _metadata,
     Column('jid', String(128), primary_key=True, index=True, unique=True),
     Column('uid', String(128), index=True),
+    Column('nid', Integer, index=True),
     Column('key', String(32)),
     Column('secret', String(16)),
     Column('name', String(255)),
@@ -160,7 +148,6 @@ _users_table = Table('users', _metadata,
     Column('auto_post', Boolean, default=False),
     Column('quiet_until', DateTime),
     Column('create_date', DateTime, default=datetime.datetime.now),
-    Column('last_check', DateTime),
     Column('last_cb_id', Integer),
     Column('last_dm_id', Integer),
     Column('last_modified', DateTime, onupdate=datetime.datetime.now),</diff>
      <filename>lib/models.py</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3ea0f7455c7fbab799f1acd4a3ee406e753a1fb4</id>
    </parent>
  </parents>
  <author>
    <name>tsing</name>
    <email>tsing@jianqing.org</email>
  </author>
  <url>http://github.com/tsing/doubanbot/commit/af2b124e1d6785ae82a40e621935042b083fa63f</url>
  <id>af2b124e1d6785ae82a40e621935042b083fa63f</id>
  <committed-date>2009-02-02T06:04:51-08:00</committed-date>
  <authored-date>2009-02-02T06:04:51-08:00</authored-date>
  <message>Use the numeric id to identifiy the douban user</message>
  <tree>9597b026593bdf913ec7817f18cacac289af079b</tree>
  <committer>
    <name>tsing</name>
    <email>tsing@jianqing.org</email>
  </committer>
</commit>
