sax-machine 0.2.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +2 -0
- data/.travis.yml +14 -4
- data/Gemfile +5 -1
- data/Guardfile +2 -2
- data/HISTORY.md +23 -6
- data/README.md +111 -40
- data/Rakefile +4 -3
- data/lib/sax-machine.rb +11 -2
- data/lib/sax-machine/{sax_ancestor_config.rb → config/sax_ancestor.rb} +3 -7
- data/lib/sax-machine/{sax_attribute_config.rb → config/sax_attribute.rb} +4 -6
- data/lib/sax-machine/{sax_collection_config.rb → config/sax_collection.rb} +6 -10
- data/lib/sax-machine/{sax_element_config.rb → config/sax_element.rb} +16 -17
- data/lib/sax-machine/{sax_element_value_config.rb → config/sax_element_value.rb} +5 -7
- data/lib/sax-machine/{sax_handler.rb → handlers/sax_abstract_handler.rb} +28 -32
- data/lib/sax-machine/handlers/sax_nokogiri_handler.rb +16 -0
- data/lib/sax-machine/handlers/sax_ox_handler.rb +41 -0
- data/lib/sax-machine/sax_config.rb +9 -9
- data/lib/sax-machine/sax_configure.rb +1 -6
- data/lib/sax-machine/sax_document.rb +28 -17
- data/lib/sax-machine/version.rb +2 -2
- data/sax-machine.gemspec +8 -11
- data/spec/fixtures/atom-content.html +15 -0
- data/spec/{sax-machine → fixtures}/atom.xml +0 -0
- data/spec/sax-machine/sax_activerecord_spec.rb +23 -0
- data/spec/sax-machine/sax_configure_spec.rb +48 -0
- data/spec/sax-machine/sax_document_spec.rb +333 -280
- data/spec/sax-machine/sax_include_spec.rb +43 -0
- data/spec/spec_helper.rb +11 -2
- metadata +36 -41
- data/spec/benchmarks/amazon.xml +0 -40
- data/spec/benchmarks/benchmark.rb +0 -158
- data/spec/benchmarks/public_timeline.xml +0 -411
- data/spec/sax-machine/configure_sax_machine_spec.rb +0 -53
- data/spec/sax-machine/include_sax_machine_spec.rb +0 -42
@@ -0,0 +1,43 @@
|
|
1
|
+
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
|
2
|
+
|
3
|
+
class A
|
4
|
+
include SAXMachine
|
5
|
+
element :title
|
6
|
+
end
|
7
|
+
|
8
|
+
class B < A
|
9
|
+
element :b
|
10
|
+
end
|
11
|
+
|
12
|
+
class C < B
|
13
|
+
element :c
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "SAXMachine inheritance" do
|
17
|
+
before do
|
18
|
+
xml = "<top><title>Test</title><b>Matched!</b><c>And Again</c></top>"
|
19
|
+
@a = A.new
|
20
|
+
@a.parse xml
|
21
|
+
@b = B.new
|
22
|
+
@b.parse xml
|
23
|
+
@c = C.new
|
24
|
+
@c.parse xml
|
25
|
+
end
|
26
|
+
|
27
|
+
it { expect(@a).to be_a(A) }
|
28
|
+
it { expect(@a).not_to be_a(B) }
|
29
|
+
it { expect(@a).to be_a(SAXMachine) }
|
30
|
+
it { expect(@a.title).to eq("Test") }
|
31
|
+
it { expect(@b).to be_a(A) }
|
32
|
+
it { expect(@b).to be_a(B) }
|
33
|
+
it { expect(@b).to be_a(SAXMachine) }
|
34
|
+
it { expect(@b.title).to eq("Test") }
|
35
|
+
it { expect(@b.b).to eq("Matched!") }
|
36
|
+
it { expect(@c).to be_a(A) }
|
37
|
+
it { expect(@c).to be_a(B) }
|
38
|
+
it { expect(@c).to be_a(C) }
|
39
|
+
it { expect(@c).to be_a(SAXMachine) }
|
40
|
+
it { expect(@c.title).to eq("Test") }
|
41
|
+
it { expect(@c.b).to eq("Matched!") }
|
42
|
+
it { expect(@c.c).to eq("And Again") }
|
43
|
+
end
|
data/spec/spec_helper.rb
CHANGED
@@ -1,15 +1,24 @@
|
|
1
1
|
begin
|
2
2
|
require 'simplecov'
|
3
|
+
require 'coveralls'
|
4
|
+
|
5
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
6
|
+
SimpleCov::Formatter::HTMLFormatter,
|
7
|
+
Coveralls::SimpleCov::Formatter
|
8
|
+
]
|
9
|
+
|
3
10
|
SimpleCov.start do
|
4
|
-
add_filter
|
11
|
+
add_filter '/spec/'
|
5
12
|
end
|
6
13
|
rescue LoadError
|
7
14
|
end
|
8
15
|
|
9
16
|
require File.expand_path(File.dirname(__FILE__) + '/../lib/sax-machine')
|
17
|
+
if ENV['HANDLER'] == 'ox'
|
18
|
+
SAXMachine.handler = :ox
|
19
|
+
end
|
10
20
|
|
11
21
|
RSpec.configure do |config|
|
12
|
-
config.treat_symbols_as_metadata_keys_with_true_values = true
|
13
22
|
config.run_all_when_everything_filtered = true
|
14
23
|
config.filter_run :focus
|
15
24
|
end
|
metadata
CHANGED
@@ -1,115 +1,110 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sax-machine
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Paul Dix
|
9
8
|
- Julien Kirch
|
10
9
|
- Ezekiel Templin
|
10
|
+
- Dmitry Krasnoukhov
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2014-07-22 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: nokogiri
|
18
18
|
requirement: !ruby/object:Gem::Requirement
|
19
|
-
none: false
|
20
19
|
requirements:
|
21
|
-
- - ~>
|
20
|
+
- - "~>"
|
22
21
|
- !ruby/object:Gem::Version
|
23
22
|
version: 1.6.0
|
24
23
|
type: :runtime
|
25
24
|
prerelease: false
|
26
25
|
version_requirements: !ruby/object:Gem::Requirement
|
27
|
-
none: false
|
28
26
|
requirements:
|
29
|
-
- - ~>
|
27
|
+
- - "~>"
|
30
28
|
- !ruby/object:Gem::Version
|
31
29
|
version: 1.6.0
|
32
30
|
- !ruby/object:Gem::Dependency
|
33
31
|
name: rspec
|
34
32
|
requirement: !ruby/object:Gem::Requirement
|
35
|
-
none: false
|
36
33
|
requirements:
|
37
|
-
- - ~>
|
34
|
+
- - "~>"
|
38
35
|
- !ruby/object:Gem::Version
|
39
|
-
version:
|
36
|
+
version: '3.0'
|
40
37
|
type: :development
|
41
38
|
prerelease: false
|
42
39
|
version_requirements: !ruby/object:Gem::Requirement
|
43
|
-
none: false
|
44
40
|
requirements:
|
45
|
-
- - ~>
|
41
|
+
- - "~>"
|
46
42
|
- !ruby/object:Gem::Version
|
47
|
-
version:
|
43
|
+
version: '3.0'
|
48
44
|
description:
|
49
45
|
email: paul@pauldix.net
|
50
46
|
executables: []
|
51
47
|
extensions: []
|
52
48
|
extra_rdoc_files: []
|
53
49
|
files:
|
54
|
-
- .gitignore
|
55
|
-
- .rspec
|
56
|
-
- .travis.yml
|
50
|
+
- ".gitignore"
|
51
|
+
- ".rspec"
|
52
|
+
- ".travis.yml"
|
57
53
|
- Gemfile
|
58
54
|
- Guardfile
|
59
55
|
- HISTORY.md
|
60
56
|
- README.md
|
61
57
|
- Rakefile
|
62
58
|
- lib/sax-machine.rb
|
63
|
-
- lib/sax-machine/
|
64
|
-
- lib/sax-machine/
|
65
|
-
- lib/sax-machine/
|
59
|
+
- lib/sax-machine/config/sax_ancestor.rb
|
60
|
+
- lib/sax-machine/config/sax_attribute.rb
|
61
|
+
- lib/sax-machine/config/sax_collection.rb
|
62
|
+
- lib/sax-machine/config/sax_element.rb
|
63
|
+
- lib/sax-machine/config/sax_element_value.rb
|
64
|
+
- lib/sax-machine/handlers/sax_abstract_handler.rb
|
65
|
+
- lib/sax-machine/handlers/sax_nokogiri_handler.rb
|
66
|
+
- lib/sax-machine/handlers/sax_ox_handler.rb
|
66
67
|
- lib/sax-machine/sax_config.rb
|
67
68
|
- lib/sax-machine/sax_configure.rb
|
68
69
|
- lib/sax-machine/sax_document.rb
|
69
|
-
- lib/sax-machine/sax_element_config.rb
|
70
|
-
- lib/sax-machine/sax_element_value_config.rb
|
71
|
-
- lib/sax-machine/sax_handler.rb
|
72
70
|
- lib/sax-machine/version.rb
|
73
71
|
- sax-machine.gemspec
|
74
|
-
- spec/
|
75
|
-
- spec/
|
76
|
-
- spec/
|
77
|
-
- spec/sax-machine/
|
78
|
-
- spec/sax-machine/configure_sax_machine_spec.rb
|
79
|
-
- spec/sax-machine/include_sax_machine_spec.rb
|
72
|
+
- spec/fixtures/atom-content.html
|
73
|
+
- spec/fixtures/atom.xml
|
74
|
+
- spec/sax-machine/sax_activerecord_spec.rb
|
75
|
+
- spec/sax-machine/sax_configure_spec.rb
|
80
76
|
- spec/sax-machine/sax_document_spec.rb
|
77
|
+
- spec/sax-machine/sax_include_spec.rb
|
81
78
|
- spec/spec_helper.rb
|
82
79
|
homepage: http://github.com/pauldix/sax-machine
|
83
80
|
licenses:
|
84
81
|
- MIT
|
82
|
+
metadata: {}
|
85
83
|
post_install_message:
|
86
84
|
rdoc_options: []
|
87
85
|
require_paths:
|
88
86
|
- lib
|
89
87
|
required_ruby_version: !ruby/object:Gem::Requirement
|
90
|
-
none: false
|
91
88
|
requirements:
|
92
|
-
- -
|
89
|
+
- - ">="
|
93
90
|
- !ruby/object:Gem::Version
|
94
91
|
version: '0'
|
95
92
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
96
|
-
none: false
|
97
93
|
requirements:
|
98
|
-
- -
|
94
|
+
- - ">="
|
99
95
|
- !ruby/object:Gem::Version
|
100
96
|
version: '0'
|
101
97
|
requirements: []
|
102
98
|
rubyforge_project:
|
103
|
-
rubygems_version:
|
99
|
+
rubygems_version: 2.2.2
|
104
100
|
signing_key:
|
105
|
-
specification_version:
|
106
|
-
summary: Declarative SAX Parsing with Nokogiri
|
101
|
+
specification_version: 4
|
102
|
+
summary: Declarative SAX Parsing with Nokogiri or Ox
|
107
103
|
test_files:
|
108
|
-
- spec/
|
109
|
-
- spec/
|
110
|
-
- spec/
|
111
|
-
- spec/sax-machine/
|
112
|
-
- spec/sax-machine/configure_sax_machine_spec.rb
|
113
|
-
- spec/sax-machine/include_sax_machine_spec.rb
|
104
|
+
- spec/fixtures/atom-content.html
|
105
|
+
- spec/fixtures/atom.xml
|
106
|
+
- spec/sax-machine/sax_activerecord_spec.rb
|
107
|
+
- spec/sax-machine/sax_configure_spec.rb
|
114
108
|
- spec/sax-machine/sax_document_spec.rb
|
109
|
+
- spec/sax-machine/sax_include_spec.rb
|
115
110
|
- spec/spec_helper.rb
|
data/spec/benchmarks/amazon.xml
DELETED
@@ -1,40 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<ItemSearchResponse xmlns="http://webservices.amazon.com/AWSECommerceService/2005-10-05">
|
3
|
-
<OperationRequest>
|
4
|
-
<HTTPHeaders>
|
5
|
-
<Header Name="UserAgent">
|
6
|
-
</Header>
|
7
|
-
</HTTPHeaders>
|
8
|
-
<RequestId>16WRJBVEM155Q026KCV1</RequestId>
|
9
|
-
<Arguments>
|
10
|
-
<Argument Name="SearchIndex" Value="Books"></Argument>
|
11
|
-
<Argument Name="Service" Value="AWSECommerceService"></Argument>
|
12
|
-
<Argument Name="Title" Value="Ruby on Rails"></Argument>
|
13
|
-
<Argument Name="Operation" Value="ItemSearch"></Argument>
|
14
|
-
<Argument Name="AWSAccessKeyId" Value="dontbeaswoosh"></Argument>
|
15
|
-
</Arguments>
|
16
|
-
<RequestProcessingTime>0.064924955368042</RequestProcessingTime>
|
17
|
-
</OperationRequest>
|
18
|
-
<Items>
|
19
|
-
<Request>
|
20
|
-
<IsValid>True</IsValid>
|
21
|
-
<ItemSearchRequest>
|
22
|
-
<SearchIndex>Books</SearchIndex>
|
23
|
-
<Title>Ruby on Rails</Title>
|
24
|
-
</ItemSearchRequest>
|
25
|
-
</Request>
|
26
|
-
<TotalResults>22</TotalResults>
|
27
|
-
<TotalPages>3</TotalPages>
|
28
|
-
<Item>
|
29
|
-
<ASIN>0321480791</ASIN>
|
30
|
-
<DetailPageURL>http://www.amazon.com/gp/redirect.html%3FASIN=0321480791%26tag=ws%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0321480791%253FSubscriptionId=dontbeaswoosh</DetailPageURL>
|
31
|
-
<ItemAttributes>
|
32
|
-
<Author>Michael Hartl</Author>
|
33
|
-
<Author>Aurelius Prochazka</Author>
|
34
|
-
<Manufacturer>Addison-Wesley Professional</Manufacturer>
|
35
|
-
<ProductGroup>Book</ProductGroup>
|
36
|
-
<Title>RailsSpace: Building a Social Networking Website with Ruby on Rails (Addison-Wesley Professional Ruby Series)</Title>
|
37
|
-
</ItemAttributes>
|
38
|
-
</Item>
|
39
|
-
</Items>
|
40
|
-
</ItemSearchResponse>
|
@@ -1,158 +0,0 @@
|
|
1
|
-
require 'rubygems'
|
2
|
-
require 'benchmark'
|
3
|
-
require 'happymapper'
|
4
|
-
require 'sax-machine'
|
5
|
-
require 'rfeedparser'
|
6
|
-
include Benchmark
|
7
|
-
benchmark_iterations = 100
|
8
|
-
|
9
|
-
module Feedzirra
|
10
|
-
class AtomEntry
|
11
|
-
include SAXMachine
|
12
|
-
element :title
|
13
|
-
element :name, :as => :author
|
14
|
-
element "feedburner:origLink", :as => :url
|
15
|
-
element :summary
|
16
|
-
element :content
|
17
|
-
element :published
|
18
|
-
end
|
19
|
-
|
20
|
-
# Class for parsing Atom feeds
|
21
|
-
class Atom
|
22
|
-
include SAXMachine
|
23
|
-
element :title
|
24
|
-
element :link, :value => :href, :as => :url, :with => {:type => "text/html"}
|
25
|
-
element :link, :value => :href, :as => :feed_url, :with => {:type => "application/atom+xml"}
|
26
|
-
elements :entry, :as => :entries, :class => AtomEntry
|
27
|
-
end
|
28
|
-
end
|
29
|
-
feed_text = File.read("spec/sax-machine/atom.xml")
|
30
|
-
|
31
|
-
benchmark do |t|
|
32
|
-
t.report("feedzirra") do
|
33
|
-
benchmark_iterations.times {
|
34
|
-
Feedzirra::Atom.new.parse(feed_text)
|
35
|
-
}
|
36
|
-
end
|
37
|
-
|
38
|
-
t.report("rfeedparser") do
|
39
|
-
benchmark_iterations.times {
|
40
|
-
FeedParser.parse(feed_text)
|
41
|
-
}
|
42
|
-
end
|
43
|
-
end
|
44
|
-
|
45
|
-
# class AtomEntry
|
46
|
-
# include SAXMachine
|
47
|
-
# element :title
|
48
|
-
# element :name, :as => :author
|
49
|
-
# element :summary
|
50
|
-
# end
|
51
|
-
# class Atom
|
52
|
-
# include SAXMachine
|
53
|
-
# element :title
|
54
|
-
# elements :entry, :as => :entries, :class => AtomEntry
|
55
|
-
# end
|
56
|
-
#
|
57
|
-
# class Entry
|
58
|
-
# include HappyMapper
|
59
|
-
# element :title, String
|
60
|
-
# element :name, String
|
61
|
-
# element :summary, String
|
62
|
-
# end
|
63
|
-
# class Feed
|
64
|
-
# include HappyMapper
|
65
|
-
# element :title, String
|
66
|
-
# has_many :entry, Entry
|
67
|
-
# end
|
68
|
-
# feed_text = File.read("spec/sax-machine/atom.xml")
|
69
|
-
#
|
70
|
-
# benchmark do |t|
|
71
|
-
# t.report("sax-machine") do
|
72
|
-
# benchmark_iterations.times {
|
73
|
-
# Atom.new.parse(feed_text)
|
74
|
-
# }
|
75
|
-
# end
|
76
|
-
#
|
77
|
-
# t.report("happymapper") do
|
78
|
-
# benchmark_iterations.times {
|
79
|
-
# Feed.parse(feed_text)
|
80
|
-
# }
|
81
|
-
# end
|
82
|
-
# end
|
83
|
-
|
84
|
-
# xml = File.read("spec/benchmarks/public_timeline.xml")
|
85
|
-
# class Status
|
86
|
-
# include HappyMapper
|
87
|
-
#
|
88
|
-
# element :text, String
|
89
|
-
# element :source, String
|
90
|
-
# end
|
91
|
-
#
|
92
|
-
# class Statuses
|
93
|
-
# include SAXMachine
|
94
|
-
#
|
95
|
-
# elements :status, {:as => :statuses, :class => Class.new do
|
96
|
-
# include SAXMachine
|
97
|
-
# element :text
|
98
|
-
# element :source
|
99
|
-
# end}
|
100
|
-
# end
|
101
|
-
#
|
102
|
-
# benchmark do |t|
|
103
|
-
# t.report("happy mapper") do
|
104
|
-
# benchmark_iterations.times {
|
105
|
-
# Status.parse(xml)
|
106
|
-
# }
|
107
|
-
# end
|
108
|
-
#
|
109
|
-
# t.report("sax-machine") do
|
110
|
-
# benchmark_iterations.times {
|
111
|
-
# Statuses.parse(xml)
|
112
|
-
# }
|
113
|
-
# end
|
114
|
-
# end
|
115
|
-
|
116
|
-
# xml = File.read("spec/benchmarks/amazon.xml")
|
117
|
-
# class HItem
|
118
|
-
# include HappyMapper
|
119
|
-
#
|
120
|
-
# tag 'Item' # if you put class in module you need tag
|
121
|
-
# element :asin, String, :tag => 'ASIN'
|
122
|
-
# element :detail_page_url, String, :tag => 'DetailPageURL'
|
123
|
-
# element :manufacturer, String, :tag => 'Manufacturer', :deep => true
|
124
|
-
# end
|
125
|
-
# class HItems
|
126
|
-
# include HappyMapper
|
127
|
-
#
|
128
|
-
# tag 'Items' # if you put class in module you need tag
|
129
|
-
# # element :total_results, Integer, :tag => 'TotalResults'
|
130
|
-
# # element :total_pages, Integer, :tag => 'TotalPages'
|
131
|
-
# has_many :items, Item
|
132
|
-
# end
|
133
|
-
#
|
134
|
-
# class Item
|
135
|
-
# include SAXMachine
|
136
|
-
#
|
137
|
-
# element :ASIN, :as => :asin
|
138
|
-
# element :DetailPageUrl, :as => :detail_page_url
|
139
|
-
# element :Manufacturer, :as => :manufacturer
|
140
|
-
# end
|
141
|
-
# class Items
|
142
|
-
# include SAXMachine
|
143
|
-
# elements :Item, :as => :items
|
144
|
-
# end
|
145
|
-
#
|
146
|
-
# benchmark do |t|
|
147
|
-
# t.report("sax-machine") do
|
148
|
-
# benchmark_iterations.times {
|
149
|
-
# Items.new.parse(xml)
|
150
|
-
# }
|
151
|
-
# end
|
152
|
-
#
|
153
|
-
# t.report("happymapper") do
|
154
|
-
# benchmark_iterations.times {
|
155
|
-
# HItems.parse(xml)
|
156
|
-
# }
|
157
|
-
# end
|
158
|
-
# end
|
@@ -1,411 +0,0 @@
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
-
<statuses type="array">
|
3
|
-
<status>
|
4
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
5
|
-
<id>1122786091</id>
|
6
|
-
<text>@Ryudokun :-P</text>
|
7
|
-
<source>web</source>
|
8
|
-
<truncated>false</truncated>
|
9
|
-
<in_reply_to_status_id>1122783776</in_reply_to_status_id>
|
10
|
-
<in_reply_to_user_id>14090866</in_reply_to_user_id>
|
11
|
-
<favorited>false</favorited>
|
12
|
-
<user>
|
13
|
-
<id>2685941</id>
|
14
|
-
<name>Zafiro Hernández</name>
|
15
|
-
<screen_name>kethzy</screen_name>
|
16
|
-
<description>Escritora de la revista Niponia, turistologa y loca enamorada</description>
|
17
|
-
<location>Mexico</location>
|
18
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/57794212/candado_normal.jpg</profile_image_url>
|
19
|
-
<url>http://www.niponia.com.mx</url>
|
20
|
-
<protected>false</protected>
|
21
|
-
<followers_count>280</followers_count>
|
22
|
-
</user>
|
23
|
-
</status><status>
|
24
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
25
|
-
<id>1122786090</id>
|
26
|
-
<text>New blog post: Welcome to Life Sais http://lifesais.com/2009/01/life-sais/</text>
|
27
|
-
<source><a href="http://alexking.org/projects/wordpress">Twitter Tools</a></source>
|
28
|
-
<truncated>false</truncated>
|
29
|
-
<in_reply_to_status_id />
|
30
|
-
<in_reply_to_user_id />
|
31
|
-
<favorited>false</favorited>
|
32
|
-
<user>
|
33
|
-
<id>16279065</id>
|
34
|
-
<name>Sais</name>
|
35
|
-
<screen_name>Sais</screen_name>
|
36
|
-
<description>I'm sort of a big deal hehehehe*</description>
|
37
|
-
<location>NY</location>
|
38
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/69122175/Picture_2_normal.png</profile_image_url>
|
39
|
-
<url>http://www.supersais.com/blog</url>
|
40
|
-
<protected>false</protected>
|
41
|
-
<followers_count>134</followers_count>
|
42
|
-
</user>
|
43
|
-
</status><status>
|
44
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
45
|
-
<id>1122786089</id>
|
46
|
-
<text>On Youtube. Youtube.com/TinyHustla</text>
|
47
|
-
<source>web</source>
|
48
|
-
<truncated>false</truncated>
|
49
|
-
<in_reply_to_status_id />
|
50
|
-
<in_reply_to_user_id />
|
51
|
-
<favorited>false</favorited>
|
52
|
-
<user>
|
53
|
-
<id>19052333</id>
|
54
|
-
<name>Alonzo Nuno</name>
|
55
|
-
<screen_name>SouljaSkoolSwag</screen_name>
|
56
|
-
<description />
|
57
|
-
<location />
|
58
|
-
<profile_image_url>http://static.twitter.com/images/default_profile_normal.png</profile_image_url>
|
59
|
-
<url />
|
60
|
-
<protected>false</protected>
|
61
|
-
<followers_count>0</followers_count>
|
62
|
-
</user>
|
63
|
-
</status><status>
|
64
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
65
|
-
<id>1122786088</id>
|
66
|
-
<text>@scanhead it will be a well deserved win if it walks away with Best Animated. I can't think of anything that comes close</text>
|
67
|
-
<source><a href="http://www.tweetdeck.com/">TweetDeck</a></source>
|
68
|
-
<truncated>false</truncated>
|
69
|
-
<in_reply_to_status_id>1122156627</in_reply_to_status_id>
|
70
|
-
<in_reply_to_user_id>16721278</in_reply_to_user_id>
|
71
|
-
<favorited>false</favorited>
|
72
|
-
<user>
|
73
|
-
<id>14518496</id>
|
74
|
-
<name>David Chapman</name>
|
75
|
-
<screen_name>davechappers</screen_name>
|
76
|
-
<description></description>
|
77
|
-
<location>Cambridge</location>
|
78
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/70439325/Photo_3_normal.jpg</profile_image_url>
|
79
|
-
<url></url>
|
80
|
-
<protected>false</protected>
|
81
|
-
<followers_count>2</followers_count>
|
82
|
-
</user>
|
83
|
-
</status><status>
|
84
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
85
|
-
<id>1122786087</id>
|
86
|
-
<text>Craps is an interesting game.</text>
|
87
|
-
<source><a href="http://orangatame.com/products/twitterberry/">TwitterBerry</a></source>
|
88
|
-
<truncated>false</truncated>
|
89
|
-
<in_reply_to_status_id />
|
90
|
-
<in_reply_to_user_id />
|
91
|
-
<favorited>false</favorited>
|
92
|
-
<user>
|
93
|
-
<id>16436531</id>
|
94
|
-
<name>chaser1975</name>
|
95
|
-
<screen_name>chaser1975</screen_name>
|
96
|
-
<description></description>
|
97
|
-
<location>Jacksonville</location>
|
98
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/63201969/July8_2008_047_normal.jpg</profile_image_url>
|
99
|
-
<url></url>
|
100
|
-
<protected>false</protected>
|
101
|
-
<followers_count>27</followers_count>
|
102
|
-
</user>
|
103
|
-
</status><status>
|
104
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
105
|
-
<id>1122786086</id>
|
106
|
-
<text>Intel's net profit drops 90 percent... ouch. http://tinyurl.com/8elfpl</text>
|
107
|
-
<source><a href="http://iconfactory.com/software/twitterrific">twitterrific</a></source>
|
108
|
-
<truncated>false</truncated>
|
109
|
-
<in_reply_to_status_id />
|
110
|
-
<in_reply_to_user_id />
|
111
|
-
<favorited>false</favorited>
|
112
|
-
<user>
|
113
|
-
<id>14970813</id>
|
114
|
-
<name>blobinabottle</name>
|
115
|
-
<screen_name>blobinabottle</screen_name>
|
116
|
-
<description></description>
|
117
|
-
<location></location>
|
118
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/54912507/domo_normal.jpg</profile_image_url>
|
119
|
-
<url>http://blobinabottle.blogspot.com</url>
|
120
|
-
<protected>false</protected>
|
121
|
-
<followers_count>38</followers_count>
|
122
|
-
</user>
|
123
|
-
</status><status>
|
124
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
125
|
-
<id>1122786083</id>
|
126
|
-
<text>Re-pinging @Greed32: hahah I'm bored/curious and plus I only respond to good answers and normal people</text>
|
127
|
-
<source><a href="http://twitter.com/twinkleking">Twinkle</a></source>
|
128
|
-
<truncated>false</truncated>
|
129
|
-
<in_reply_to_status_id />
|
130
|
-
<in_reply_to_user_id />
|
131
|
-
<favorited>false</favorited>
|
132
|
-
<user>
|
133
|
-
<id>18010200</id>
|
134
|
-
<name>lenalover</name>
|
135
|
-
<screen_name>lenalover</screen_name>
|
136
|
-
<description>escapism is key in this fantasy world </description>
|
137
|
-
<location>Pompton Lakes, New Jersey</location>
|
138
|
-
<profile_image_url>http://static.twitter.com/images/default_profile_normal.png</profile_image_url>
|
139
|
-
<url></url>
|
140
|
-
<protected>false</protected>
|
141
|
-
<followers_count>31</followers_count>
|
142
|
-
</user>
|
143
|
-
</status><status>
|
144
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
145
|
-
<id>1122786082</id>
|
146
|
-
<text>And what is the grocery store membership all about anyway?</text>
|
147
|
-
<source><a href="http://www.twittermail.com/">TwitterMail</a></source>
|
148
|
-
<truncated>false</truncated>
|
149
|
-
<in_reply_to_status_id />
|
150
|
-
<in_reply_to_user_id />
|
151
|
-
<favorited>false</favorited>
|
152
|
-
<user>
|
153
|
-
<id>14221234</id>
|
154
|
-
<name>susbarefoot</name>
|
155
|
-
<screen_name>susbarefoot</screen_name>
|
156
|
-
<description>In life, we have poop.</description>
|
157
|
-
<location>Raleigh, NC</location>
|
158
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/54048743/avatar_normal.gif</profile_image_url>
|
159
|
-
<url></url>
|
160
|
-
<protected>false</protected>
|
161
|
-
<followers_count>49</followers_count>
|
162
|
-
</user>
|
163
|
-
</status><status>
|
164
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
165
|
-
<id>1122786081</id>
|
166
|
-
<text>@nfreader I...should be FLYING! NOT SWIMMING!!</text>
|
167
|
-
<source><a href="http://iconfactory.com/software/twitterrific">twitterrific</a></source>
|
168
|
-
<truncated>false</truncated>
|
169
|
-
<in_reply_to_status_id>1122783193</in_reply_to_status_id>
|
170
|
-
<in_reply_to_user_id>10014522</in_reply_to_user_id>
|
171
|
-
<favorited>false</favorited>
|
172
|
-
<user>
|
173
|
-
<id>5723532</id>
|
174
|
-
<name>Bradley</name>
|
175
|
-
<screen_name>warbrain</screen_name>
|
176
|
-
<description></description>
|
177
|
-
<location>Des Plaines, IL (42.028351,-87</location>
|
178
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/69653184/Photo_112_normal.jpg</profile_image_url>
|
179
|
-
<url>http://bradleysays.com</url>
|
180
|
-
<protected>false</protected>
|
181
|
-
<followers_count>420</followers_count>
|
182
|
-
</user>
|
183
|
-
</status><status>
|
184
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
185
|
-
<id>1122786080</id>
|
186
|
-
<text>You guys are too funny, do you think we have worn out TWTTRSTRM yet? LOL I'm heading off for the night, not feeling too well * pout *</text>
|
187
|
-
<source>web</source>
|
188
|
-
<truncated>false</truncated>
|
189
|
-
<in_reply_to_status_id />
|
190
|
-
<in_reply_to_user_id />
|
191
|
-
<favorited>false</favorited>
|
192
|
-
<user>
|
193
|
-
<id>16618589</id>
|
194
|
-
<name>Pretty Bullet</name>
|
195
|
-
<screen_name>prettybullet</screen_name>
|
196
|
-
<description>The prettiest bullet on Squidoo!</description>
|
197
|
-
<location>Spanish, Ontario Canada</location>
|
198
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/67497171/1avatar-xmas-78_normal.jpg</profile_image_url>
|
199
|
-
<url>http://www.squidoo.com/lensmasters/awelldressedbullet</url>
|
200
|
-
<protected>false</protected>
|
201
|
-
<followers_count>109</followers_count>
|
202
|
-
</user>
|
203
|
-
</status><status>
|
204
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
205
|
-
<id>1122786079</id>
|
206
|
-
<text>Thinks her scones are good but a little well done...</text>
|
207
|
-
<source><a href="http://help.twitter.com/index.php?pg=kb.page&id=75">txt</a></source>
|
208
|
-
<truncated>false</truncated>
|
209
|
-
<in_reply_to_status_id />
|
210
|
-
<in_reply_to_user_id />
|
211
|
-
<favorited>false</favorited>
|
212
|
-
<user>
|
213
|
-
<id>15357848</id>
|
214
|
-
<name>brittymine</name>
|
215
|
-
<screen_name>brittymine</screen_name>
|
216
|
-
<description>i make your dreams come true!</description>
|
217
|
-
<location>at my house!</location>
|
218
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/56368682/543476751_70398214dc_t_normal.jpg</profile_image_url>
|
219
|
-
<url></url>
|
220
|
-
<protected>false</protected>
|
221
|
-
<followers_count>15</followers_count>
|
222
|
-
</user>
|
223
|
-
</status><status>
|
224
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
225
|
-
<id>1122786078</id>
|
226
|
-
<text>Mariam N’KASSAI : Togo:
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
$0 of $1,025 raised.
|
232
|
-
|
233
|
-
Started raising funds on Jan 1.. http://tinyurl.com/99bx65</text>
|
234
|
-
<source><a href="http://twitterfeed.com">twitterfeed</a></source>
|
235
|
-
<truncated>false</truncated>
|
236
|
-
<in_reply_to_status_id />
|
237
|
-
<in_reply_to_user_id />
|
238
|
-
<favorited>false</favorited>
|
239
|
-
<user>
|
240
|
-
<id>18072695</id>
|
241
|
-
<name>Microfinance</name>
|
242
|
-
<screen_name>Microfinance</screen_name>
|
243
|
-
<description />
|
244
|
-
<location />
|
245
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/69655320/kiva_normal.jpg</profile_image_url>
|
246
|
-
<url />
|
247
|
-
<protected>false</protected>
|
248
|
-
<followers_count>12</followers_count>
|
249
|
-
</user>
|
250
|
-
</status><status>
|
251
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
252
|
-
<id>1122786077</id>
|
253
|
-
<text>@VibeMagazine ...jokin.. but nah fo' real i killed it, though!! lol</text>
|
254
|
-
<source>web</source>
|
255
|
-
<truncated>false</truncated>
|
256
|
-
<in_reply_to_status_id>1122779374</in_reply_to_status_id>
|
257
|
-
<in_reply_to_user_id>14691200</in_reply_to_user_id>
|
258
|
-
<favorited>false</favorited>
|
259
|
-
<user>
|
260
|
-
<id>16541773</id>
|
261
|
-
<name>Leroy Duncan Jr.</name>
|
262
|
-
<screen_name>gooduncan</screen_name>
|
263
|
-
<description>imma music lover, cool and funny in a nerdy way brother, spread peace not hate, get along with one another...</description>
|
264
|
-
<location>North Carolina</location>
|
265
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/69820903/my_stare_normal.jpg</profile_image_url>
|
266
|
-
<url></url>
|
267
|
-
<protected>false</protected>
|
268
|
-
<followers_count>15</followers_count>
|
269
|
-
</user>
|
270
|
-
</status><status>
|
271
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
272
|
-
<id>1122786076</id>
|
273
|
-
<text>tonight was great to be a part of. looking forward to sunday to see Gods work in action.</text>
|
274
|
-
<source><a href="http://help.twitter.com/index.php?pg=kb.page&id=75">txt</a></source>
|
275
|
-
<truncated>false</truncated>
|
276
|
-
<in_reply_to_status_id />
|
277
|
-
<in_reply_to_user_id />
|
278
|
-
<favorited>false</favorited>
|
279
|
-
<user>
|
280
|
-
<id>19048879</id>
|
281
|
-
<name>Erica Rupert</name>
|
282
|
-
<screen_name>ericarupert</screen_name>
|
283
|
-
<description>obsessed with Bryson ; )</description>
|
284
|
-
<location>Gville</location>
|
285
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/71370743/127_127_normal.JPG</profile_image_url>
|
286
|
-
<url></url>
|
287
|
-
<protected>false</protected>
|
288
|
-
<followers_count>2</followers_count>
|
289
|
-
</user>
|
290
|
-
</status><status>
|
291
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
292
|
-
<id>1122786075</id>
|
293
|
-
<text>@Crystal_clear I need to update my twitter</text>
|
294
|
-
<source>web</source>
|
295
|
-
<truncated>false</truncated>
|
296
|
-
<in_reply_to_status_id>1122782227</in_reply_to_status_id>
|
297
|
-
<in_reply_to_user_id>11832612</in_reply_to_user_id>
|
298
|
-
<favorited>false</favorited>
|
299
|
-
<user>
|
300
|
-
<id>16586561</id>
|
301
|
-
<name>KristinaLeigh</name>
|
302
|
-
<screen_name>KristinaLeigh</screen_name>
|
303
|
-
<description>A Momma with a six year old son with Bipolar and one girl on the way....</description>
|
304
|
-
<location>Mandeville</location>
|
305
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/61244564/Phillip_normal.jpg</profile_image_url>
|
306
|
-
<url>http://itrhymeswithbanana.blogspot.com</url>
|
307
|
-
<protected>false</protected>
|
308
|
-
<followers_count>42</followers_count>
|
309
|
-
</user>
|
310
|
-
</status><status>
|
311
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
312
|
-
<id>1122786074</id>
|
313
|
-
<text>RT @BreakingNewsOn: The Minnesota Star Tribune which was founded in 1867 says it has filed for Chapter 11 bankruptcy, according to its w ...</text>
|
314
|
-
<source><a href="http://socialscope.net">SocialScope</a></source>
|
315
|
-
<truncated>false</truncated>
|
316
|
-
<in_reply_to_status_id />
|
317
|
-
<in_reply_to_user_id />
|
318
|
-
<favorited>false</favorited>
|
319
|
-
<user>
|
320
|
-
<id>12332112</id>
|
321
|
-
<name>Amit Kumar</name>
|
322
|
-
<screen_name>amitkumar01</screen_name>
|
323
|
-
<description>CEO Ubiquitous Systems </description>
|
324
|
-
<location>San Francisco, California 9410</location>
|
325
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/52548135/frameAndServeImage.pl_normal.jpeg</profile_image_url>
|
326
|
-
<url>http:///www.socialscope.net</url>
|
327
|
-
<protected>false</protected>
|
328
|
-
<followers_count>125</followers_count>
|
329
|
-
</user>
|
330
|
-
</status><status>
|
331
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
332
|
-
<id>1122786073</id>
|
333
|
-
<text>Annie made my birthday cake herself! She is sooooo proud.</text>
|
334
|
-
<source><a href="http://iconfactory.com/software/twitterrific">twitterrific</a></source>
|
335
|
-
<truncated>false</truncated>
|
336
|
-
<in_reply_to_status_id />
|
337
|
-
<in_reply_to_user_id />
|
338
|
-
<favorited>false</favorited>
|
339
|
-
<user>
|
340
|
-
<id>17530527</id>
|
341
|
-
<name>TimRhodus</name>
|
342
|
-
<screen_name>TimRhodus</screen_name>
|
343
|
-
<description>Christ-follower, Husband of Kathi, Dad of Trevor &amp; Annie, Pastor of 400-500 amazing people</description>
|
344
|
-
<location>Carlinville, IL</location>
|
345
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/65406330/Tim_2_normal.jpg</profile_image_url>
|
346
|
-
<url>http://www.timrhodus.com</url>
|
347
|
-
<protected>false</protected>
|
348
|
-
<followers_count>70</followers_count>
|
349
|
-
</user>
|
350
|
-
</status><status>
|
351
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
352
|
-
<id>1122786072</id>
|
353
|
-
<text>Demo de Skate 2 na PSN européia!</text>
|
354
|
-
<source><a href="http://twitterfox.net/">TwitterFox</a></source>
|
355
|
-
<truncated>false</truncated>
|
356
|
-
<in_reply_to_status_id />
|
357
|
-
<in_reply_to_user_id />
|
358
|
-
<favorited>false</favorited>
|
359
|
-
<user>
|
360
|
-
<id>15067571</id>
|
361
|
-
<name>jcvasc</name>
|
362
|
-
<screen_name>jcvasc</screen_name>
|
363
|
-
<description>Um viciado em DVD e BD - DVDBDAddict</description>
|
364
|
-
<location>Porto Alegre - Brazil</location>
|
365
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/55257978/avatar_81190_f_normal.jpg</profile_image_url>
|
366
|
-
<url>http://jcvasc.wordpress.com</url>
|
367
|
-
<protected>false</protected>
|
368
|
-
<followers_count>84</followers_count>
|
369
|
-
</user>
|
370
|
-
</status><status>
|
371
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
372
|
-
<id>1122786064</id>
|
373
|
-
<text>@shortyawards I vote for @StockTwits in the Shorty Awards Finals for #finance because it's the best thing going on Twitter</text>
|
374
|
-
<source>web</source>
|
375
|
-
<truncated>false</truncated>
|
376
|
-
<in_reply_to_status_id>1122785132</in_reply_to_status_id>
|
377
|
-
<in_reply_to_user_id>17663756</in_reply_to_user_id>
|
378
|
-
<favorited>false</favorited>
|
379
|
-
<user>
|
380
|
-
<id>899941</id>
|
381
|
-
<name>Sam Huleatt</name>
|
382
|
-
<screen_name>squasher98</screen_name>
|
383
|
-
<description>I dream Workstreams and post two interesting links daily on the Twitter</description>
|
384
|
-
<location>New York, NY</location>
|
385
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/54138892/newyearsme_normal.jpg</profile_image_url>
|
386
|
-
<url>http://Leveragingideas.com</url>
|
387
|
-
<protected>false</protected>
|
388
|
-
<followers_count>506</followers_count>
|
389
|
-
</user>
|
390
|
-
</status><status>
|
391
|
-
<created_at>Fri Jan 16 03:13:39 +0000 2009</created_at>
|
392
|
-
<id>1122786062</id>
|
393
|
-
<text>Once again, I glance at The Super-Organism in a bookstore display and see the title as... erm... something else. It fools me every time.</text>
|
394
|
-
<source>web</source>
|
395
|
-
<truncated>false</truncated>
|
396
|
-
<in_reply_to_status_id />
|
397
|
-
<in_reply_to_user_id />
|
398
|
-
<favorited>false</favorited>
|
399
|
-
<user>
|
400
|
-
<id>17876737</id>
|
401
|
-
<name>Amanda</name>
|
402
|
-
<screen_name>irreverentmuse</screen_name>
|
403
|
-
<description></description>
|
404
|
-
<location>Boston, MA, USA</location>
|
405
|
-
<profile_image_url>http://s3.amazonaws.com/twitter_production/profile_images/66363500/amandaMA_normal.jpg</profile_image_url>
|
406
|
-
<url>http://www.irreverentmusings.com</url>
|
407
|
-
<protected>false</protected>
|
408
|
-
<followers_count>11</followers_count>
|
409
|
-
</user>
|
410
|
-
</status>
|
411
|
-
</statuses>
|