def self.fetch_title(uri)
return unless uri
key = %w{ termtter plugins appendtitle title}.push(Digest::SHA1.hexdigest(uri)).join('-')
if v = memcache_client.get(key)
logger.debug "appendtitle: cache hit for #{uri}"
return v
end
memcache_client.set(key, '', config.plugins.appendtitle.cache_expire)
begin
logger.debug "appendtitle: fetching title for #{uri}"
source = Nokogiri(open(uri).read)
if source and source.at('title')
title = source.at('title').text
memcache_client.set(key, title, config.plugins.appendtitle.cache_expire)
return title
end
nil
rescue Timeout::Error
nil
rescue
nil
end
end