summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-09-07 10:53:11 -0400
committerEvan Prodromou <evan@status.net>2010-09-07 10:53:11 -0400
commit9793e4ceb42f484da7faa06fc822c7973eba6784 (patch)
tree448276ef9681e91f8036ba9a6de76b4680ec7f28
parent21bea141402370021f72bc42c65b8d6ea870c913 (diff)
Store foreign ID for synch info, not user ID
-rw-r--r--plugins/TwitterBridge/TwitterBridgePlugin.php2
-rw-r--r--plugins/TwitterBridge/Twitter_synch_status.php26
-rwxr-xr-xplugins/TwitterBridge/daemons/twitterstatusfetcher.php12
3 files changed, 20 insertions, 20 deletions
diff --git a/plugins/TwitterBridge/TwitterBridgePlugin.php b/plugins/TwitterBridge/TwitterBridgePlugin.php
index d3efb074b..21a10775d 100644
--- a/plugins/TwitterBridge/TwitterBridgePlugin.php
+++ b/plugins/TwitterBridge/TwitterBridgePlugin.php
@@ -383,7 +383,7 @@ class TwitterBridgePlugin extends Plugin
// home_timeline, messages (in), messages (out), ...
$schema->ensureTable('twitter_synch_status',
- array(new ColumnDef('user_id', 'integer', null,
+ array(new ColumnDef('foreign_id', 'bigint', null,
false, 'PRI'),
new ColumnDef('timeline', 'varchar', 255,
false, 'PRI'),
diff --git a/plugins/TwitterBridge/Twitter_synch_status.php b/plugins/TwitterBridge/Twitter_synch_status.php
index 8ac2bdc57..1b3ad48fe 100644
--- a/plugins/TwitterBridge/Twitter_synch_status.php
+++ b/plugins/TwitterBridge/Twitter_synch_status.php
@@ -52,7 +52,7 @@ require_once INSTALLDIR . '/classes/Memcached_DataObject.php';
class Twitter_synch_status extends Memcached_DataObject
{
public $__table = 'twitter_synch_status'; // table name
- public $user_id; // int(4) primary_key not_null
+ public $foreign_id; // int(4) primary_key not_null
public $timeline; // varchar(255) primary_key not_null
public $last_id; // bigint not_null
public $created; // datetime not_null
@@ -61,7 +61,7 @@ class Twitter_synch_status extends Memcached_DataObject
/**
* Get an instance by key
*
- * @param string $k Key to use to lookup (usually 'user_id' for this class)
+ * @param string $k Key to use to lookup (usually 'foreign_id' for this class)
* @param mixed $v Value to lookup
*
* @return User_greeting_count object found, or null for no hits
@@ -84,7 +84,7 @@ class Twitter_synch_status extends Memcached_DataObject
function table()
{
- return array('user_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
+ return array('foreign_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
'timeline' => DB_DATAOBJECT_STR + DB_DATAOBJECT_NOTNULL,
'last_id' => DB_DATAOBJECT_INT + DB_DATAOBJECT_NOTNULL,
'created' => DB_DATAOBJECT_STR + DB_DATAOBJECT_DATE + DB_DATAOBJECT_TIME + DB_DATAOBJECT_NOTNULL,
@@ -122,7 +122,7 @@ class Twitter_synch_status extends Memcached_DataObject
function keyTypes()
{
- return array('user_id' => 'K',
+ return array('foreign_id' => 'K',
'timeline' => 'K');
}
@@ -142,9 +142,9 @@ class Twitter_synch_status extends Memcached_DataObject
return array(false, false, false);
}
- static function getLastId($user_id, $timeline)
+ static function getLastId($foreign_id, $timeline)
{
- $tss = self::staticGet(array('user_id' => $user_id,
+ $tss = self::staticGet(array('foreign_id' => $foreign_id,
'timeline' => $timeline));
if (empty($tss)) {
@@ -154,20 +154,20 @@ class Twitter_synch_status extends Memcached_DataObject
}
}
- static function setLastId($user_id, $timeline, $last_id)
+ static function setLastId($foreign_id, $timeline, $last_id)
{
- $tss = self::staticGet(array('user_id' => $user_id,
+ $tss = self::staticGet(array('foreign_id' => $foreign_id,
'timeline' => $timeline));
if (empty($tss)) {
$tss = new Twitter_synch_status();
- $tss->user_id = $user_id;
- $tss->timeline = $timeline;
- $tss->last_id = $last_id;
- $tss->created = common_sql_now();
- $tss->modified = $tss->created;
+ $tss->foreign_id = $foreign_id;
+ $tss->timeline = $timeline;
+ $tss->last_id = $last_id;
+ $tss->created = common_sql_now();
+ $tss->modified = $tss->created;
$tss->insert();
diff --git a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
index c5c275221..79c915503 100755
--- a/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
+++ b/plugins/TwitterBridge/daemons/twitterstatusfetcher.php
@@ -182,7 +182,7 @@ class TwitterStatusFetcher extends ParallelizingDaemon
$timeline = null;
- $lastId = Twitter_synch_status::getLastId($flink->user_id, 'home_timeline');
+ $lastId = Twitter_synch_status::getLastId($flink->foreign_id, 'home_timeline');
try {
$timeline = $client->statusesHomeTimeline($lastId);
@@ -200,8 +200,6 @@ class TwitterStatusFetcher extends ParallelizingDaemon
common_debug(LOG_INFO, $this->name() . ' - Retrieved ' . sizeof($timeline) . ' statuses from Twitter.');
- $lastSeenId = null;
-
// Reverse to preserve order
foreach (array_reverse($timeline) as $status) {
@@ -232,9 +230,11 @@ class TwitterStatusFetcher extends ParallelizingDaemon
}
}
- if (!empty($lastSeenId)) {
- Twitter_synch_status::setLastId($flink->user_id, 'home_timeline', $lastSeenId);
- }
+ assert(!empty($timeline)); // checked above
+
+ // First status is last in time
+
+ Twitter_synch_status::setLastId($flink->foreign_id, 'home_timeline', $timeline[0]->id);
// Okay, record the time we synced with Twitter for posterity