Skip to content

Instantly share code, notes, and snippets.

@kayakaya
Created January 29, 2010 14:40
Show Gist options
  • Save kayakaya/289762 to your computer and use it in GitHub Desktop.
Save kayakaya/289762 to your computer and use it in GitHub Desktop.
#!/usr/bin/ruby
require 'rubygems'
require 'rubytter'
require 'yaml'
require 'pit'
require 'pp'
def to_yaml(users, filename)
users.to_yaml
open(filename, 'w') do |f|
YAML.dump(users, f)
end
end
def get_friends(client, username)
friends = Array.new
last = nil
begin
last = client.friends(username, :cursor => last ? last.next_cursor : -1)
friends.concat(last.users)
rescue Timeout::Error, StandardError
puts "print Timeout::Error, StandardError"
break
end until last.next_cursor == 0
return friends
end
def get_followers(client, username)
followers = Array.new
last = nil
begin
last = client.followers(username, :cursor => last ? last.next_cursor : -1)
followers.concat(last.users)
rescue Timeout::Error, StandardError
puts "print Timeout::Error, StandardError"
break
end until last.next_cursor == 0
return followers
end
def create_client
config = Pit.get("twitter")
username = config['username']
password = config['password']
return Rubytter.new(username, password)
end
username = 'kayakaya'
client = create_client
to_yaml(get_friends(client, username), 'friends.yaml')
to_yaml(get_followers(client, username), 'followers.yaml')
#!/usr/bin/env ruby
require 'yaml'
require 'date'
require 'pp'
def read_friends
file = 'friends.yaml'
return friends = YAML.load_file(file)
end
def read_followers
file = 'followers.yaml'
return friends = YAML.load_file(file)
end
def count_create(users)
created_years = Array.new
users.each do |user|
created_date = Date.parse(user['created_at'])
created_years << created_date.year
end
return created_years
end
friends = read_friends
followers = read_followers
friends_created_year = count_create(friends)
followers_created_year = count_create(followers)
[2006, 2007, 2008, 2009,2010].each do |year|
puts "#{year},#{friends_created_year.count(year)},#{followers_created_year.count(year)}"
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment