some changes based on code review with zach

This commit is contained in:
Evan Prodromou 2009-06-10 13:52:15 -07:00
parent 5469e46ef5
commit 361a52a9c8
3 changed files with 19 additions and 40 deletions

View File

@ -120,7 +120,8 @@ class Notice extends Memcached_DataObject
} }
} }
static function saveNew($profile_id, $content, $source=null, $is_local=1, $reply_to=null, $uri=null) { static function saveNew($profile_id, $content, $source=null,
$is_local=1, $reply_to=null, $uri=null, $created=null) {
$profile = Profile::staticGet($profile_id); $profile = Profile::staticGet($profile_id);
@ -166,7 +167,11 @@ class Notice extends Memcached_DataObject
$notice->query('BEGIN'); $notice->query('BEGIN');
$notice->reply_to = $reply_to; $notice->reply_to = $reply_to;
$notice->created = common_sql_now(); if (!empty($created)) {
$notice->created = $created;
} else {
$notice->created = common_sql_now();
}
$notice->content = $final; $notice->content = $final;
$notice->rendered = common_render_content($final, $notice); $notice->rendered = common_render_content($final, $notice);
$notice->source = $source; $notice->source = $source;

View File

@ -85,4 +85,9 @@ class Notice_inbox extends Memcached_DataObject
return $ids; return $ids;
} }
function &pkeyGet($kv)
{
return Memcached_DataObject::pkeyGet('Notice_inbox', $kv);
}
} }

View File

@ -255,42 +255,11 @@ class TwitterStatusFetcher extends Daemon
// check to see if we've already imported the status // check to see if we've already imported the status
if (!$notice) { if (!$notice) {
$notice = new Notice(); $created = strftime('%Y-%m-%d %H:%M:%S',
$notice->profile_id = $id; strtotime($status->created_at));;
$notice->query('BEGIN'); $notice = Notice::saveNew($id, $status->text, 'twitter',
-2, null, $uri, $created);
// XXX: figure out reply_to
$notice->reply_to = null;
// XXX: Should this be common_sql_now() instead of status create date?
$notice->created = strftime('%Y-%m-%d %H:%M:%S',
strtotime($status->created_at));
$notice->content = $status->text;
$notice->rendered = common_render_content($status->text, $notice);
$notice->source = 'twitter';
$notice->is_local = 0;
$notice->uri = $uri;
$notice_id = $notice->insert();
if (!$notice_id) {
common_log_db_error($notice, 'INSERT', __FILE__);
if (defined('SCRIPT_DEBUG')) {
common_debug('Could not save notice!');
}
}
// XXX: Figure out a better way to link Twitter replies?
$notice->saveReplies();
// XXX: Do we want to pollute our tag cloud with
// hashtags from Twitter?
$notice->saveTags();
$notice->saveGroups();
$notice->query('COMMIT');
if (defined('SCRIPT_DEBUG')) { if (defined('SCRIPT_DEBUG')) {
common_debug("Saved status $status->id" . common_debug("Saved status $status->id" .
@ -298,13 +267,13 @@ class TwitterStatusFetcher extends Daemon
} }
} }
if (!Notice_inbox::staticGet('notice_id', $notice->id)) { if (!Notice_inbox::pkeyGet(array('notice_id' => $notice->id,
'user_id' => $flink->user_id))) {
// Add to inbox // Add to inbox
$inbox = new Notice_inbox(); $inbox = new Notice_inbox();
$inbox->user_id = $flink->user_id; $inbox->user_id = $flink->user_id;
$inbox->notice_id = $notice->id; $inbox->notice_id = $notice->id;
$inbox->created = common_sql_now(); $inbox->created = $notice->created;
$inbox->insert(); $inbox->insert();
} }