twitter2jabber 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +2 -2
- data/bin/twitter2jabber +2 -2
- data/lib/twitter2jabber.rb +8 -13
- data/lib/twitter2jabber/version.rb +1 -1
- metadata +124 -126
data/README
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
== VERSION
|
4
4
|
|
5
|
-
This documentation refers to twitter2jabber version 0.
|
5
|
+
This documentation refers to twitter2jabber version 0.6.0
|
6
6
|
|
7
7
|
|
8
8
|
== DESCRIPTION
|
@@ -28,7 +28,7 @@ RubyForge project:: http://rubyforge.org/projects/twitter2jabber
|
|
28
28
|
|
29
29
|
== LICENSE AND COPYRIGHT
|
30
30
|
|
31
|
-
Copyright (C) 2009-
|
31
|
+
Copyright (C) 2009-2012 Jens Wille
|
32
32
|
|
33
33
|
twitter2jabber is free software: you can redistribute it and/or modify it
|
34
34
|
under the terms of the GNU Affero General Public License as published by
|
data/bin/twitter2jabber
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
#! /usr/bin/ruby
|
1
|
+
#! /usr/bin/env ruby
|
2
2
|
|
3
3
|
#--
|
4
4
|
###############################################################################
|
@@ -26,7 +26,7 @@
|
|
26
26
|
###############################################################################
|
27
27
|
#++
|
28
28
|
|
29
|
-
$KCODE = 'u'
|
29
|
+
$KCODE = 'u' if RUBY_VERSION < '1.9'
|
30
30
|
|
31
31
|
require 'optparse'
|
32
32
|
require 'yaml'
|
data/lib/twitter2jabber.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
# #
|
4
4
|
# twitter2jabber - Twitter-to-Jabber gateway. #
|
5
5
|
# #
|
6
|
-
# Copyright (C) 2009-
|
6
|
+
# Copyright (C) 2009-2012 Jens Wille #
|
7
7
|
# #
|
8
8
|
# Authors: #
|
9
9
|
# Jens Wille <ww@blackwinter.de> #
|
@@ -24,7 +24,6 @@
|
|
24
24
|
###############################################################################
|
25
25
|
#++
|
26
26
|
|
27
|
-
require 'time'
|
28
27
|
require 'erb'
|
29
28
|
|
30
29
|
require 'rubygems'
|
@@ -159,7 +158,7 @@ class Twitter2Jabber
|
|
159
158
|
def twitter_connect(options = @twitter_options)
|
160
159
|
@twitter_options = options
|
161
160
|
|
162
|
-
@twitter = Twitter.new(
|
161
|
+
@twitter = Twitter::Client.new(
|
163
162
|
:consumer_key => options[:consumer_token],
|
164
163
|
:consumer_secret => options[:consumer_secret],
|
165
164
|
:oauth_token => options[:access_token],
|
@@ -191,12 +190,10 @@ class Twitter2Jabber
|
|
191
190
|
options = {}
|
192
191
|
options[:since_id] = last if last
|
193
192
|
|
194
|
-
tweets = twitter.
|
193
|
+
tweets = twitter.home_timeline(options)
|
195
194
|
return [] unless tweets.is_a?(Array)
|
196
195
|
|
197
|
-
tweets.sort_by { |tweet|
|
198
|
-
tweet.created_at = Time.parse(tweet.created_at)
|
199
|
-
}
|
196
|
+
tweets.sort_by { |tweet| tweet.created_at }
|
200
197
|
rescue Twitter::Error, Timeout::Error
|
201
198
|
[]
|
202
199
|
rescue => err
|
@@ -237,12 +234,12 @@ class Twitter2Jabber
|
|
237
234
|
end
|
238
235
|
|
239
236
|
def process_message(text)
|
240
|
-
text.gsub(
|
237
|
+
text.gsub(%r{https?://\S+}) { |match| LongURL.expand(match) rescue match }
|
241
238
|
end
|
242
239
|
|
243
240
|
def process_html(text)
|
244
|
-
text.gsub(/(
|
245
|
-
gsub(/(
|
241
|
+
text.gsub(/(?:\A|\W)@(\w+)/, '@<a href="https://twitter.com/\1">\1</a>').
|
242
|
+
gsub(/(?:\A|\W)#(\w+)/, '<a href="https://search.twitter.com/search?q=%23\1">#\1</a>')
|
246
243
|
end
|
247
244
|
|
248
245
|
def process_text(text)
|
@@ -323,7 +320,6 @@ le[n[gth]] STATUS -- Determine length
|
|
323
320
|
id, colon = $1, $2
|
324
321
|
|
325
322
|
tweet = twitter.status(id)
|
326
|
-
raise Twitter::NotFound unless tweet.is_a?(Hashie::Hash)
|
327
323
|
|
328
324
|
if body.empty?
|
329
325
|
options[:id] = id
|
@@ -335,14 +331,13 @@ le[n[gth]] STATUS -- Determine length
|
|
335
331
|
id, colon = $1, $2
|
336
332
|
|
337
333
|
tweet = twitter.status(id)
|
338
|
-
raise Twitter::NotFound unless tweet.is_a?(Hashie::Hash)
|
339
334
|
|
340
335
|
body.insert(0, ' ') unless body.empty?
|
341
336
|
body.insert(0, "@#{tweet.user.screen_name}#{colon}")
|
342
337
|
|
343
338
|
options[:in_reply_to_status_id] = id
|
344
339
|
end
|
345
|
-
rescue Twitter::NotFound
|
340
|
+
rescue Twitter::Error::NotFound
|
346
341
|
deliver(from, "TWEET NOT FOUND: #{id}")
|
347
342
|
return
|
348
343
|
end
|
metadata
CHANGED
@@ -1,181 +1,179 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: twitter2jabber
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.6.0
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 5
|
9
|
-
- 0
|
10
|
-
version: 0.5.0
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Jens Wille
|
14
9
|
autorequire:
|
15
10
|
bindir: bin
|
16
11
|
cert_chain: []
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2012-09-20 00:00:00.000000000 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
21
15
|
name: twitter
|
22
|
-
|
23
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
24
17
|
none: false
|
25
|
-
requirements:
|
26
|
-
- -
|
27
|
-
- !ruby/object:Gem::Version
|
28
|
-
|
29
|
-
segments:
|
30
|
-
- 0
|
31
|
-
version: "0"
|
18
|
+
requirements:
|
19
|
+
- - ! '>='
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '0'
|
32
22
|
type: :runtime
|
33
|
-
version_requirements: *id001
|
34
|
-
- !ruby/object:Gem::Dependency
|
35
|
-
name: xmpp4r-simple
|
36
23
|
prerelease: false
|
37
|
-
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0'
|
30
|
+
- !ruby/object:Gem::Dependency
|
31
|
+
name: xmpp4r-simple
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
38
33
|
none: false
|
39
|
-
requirements:
|
40
|
-
- -
|
41
|
-
- !ruby/object:Gem::Version
|
42
|
-
|
43
|
-
segments:
|
44
|
-
- 0
|
45
|
-
version: "0"
|
34
|
+
requirements:
|
35
|
+
- - ! '>='
|
36
|
+
- !ruby/object:Gem::Version
|
37
|
+
version: '0'
|
46
38
|
type: :runtime
|
47
|
-
version_requirements: *id002
|
48
|
-
- !ruby/object:Gem::Dependency
|
49
|
-
name: shorturl
|
50
39
|
prerelease: false
|
51
|
-
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
52
41
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '0'
|
46
|
+
- !ruby/object:Gem::Dependency
|
47
|
+
name: shorturl
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
49
|
+
none: false
|
50
|
+
requirements:
|
51
|
+
- - ! '>='
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
60
54
|
type: :runtime
|
61
|
-
version_requirements: *id003
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: longurl
|
64
55
|
prerelease: false
|
65
|
-
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
66
57
|
none: false
|
67
|
-
requirements:
|
68
|
-
- -
|
69
|
-
- !ruby/object:Gem::Version
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
- !ruby/object:Gem::Dependency
|
63
|
+
name: longurl
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
65
|
+
none: false
|
66
|
+
requirements:
|
67
|
+
- - ! '>='
|
68
|
+
- !ruby/object:Gem::Version
|
69
|
+
version: '0'
|
74
70
|
type: :runtime
|
75
|
-
version_requirements: *id004
|
76
|
-
- !ruby/object:Gem::Dependency
|
77
|
-
name: highline
|
78
71
|
prerelease: false
|
79
|
-
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
73
|
none: false
|
81
|
-
requirements:
|
82
|
-
- -
|
83
|
-
- !ruby/object:Gem::Version
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: '0'
|
78
|
+
- !ruby/object:Gem::Dependency
|
79
|
+
name: highline
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
81
|
+
none: false
|
82
|
+
requirements:
|
83
|
+
- - ! '>='
|
84
|
+
- !ruby/object:Gem::Version
|
85
|
+
version: '0'
|
88
86
|
type: :runtime
|
89
|
-
version_requirements: *id005
|
90
|
-
- !ruby/object:Gem::Dependency
|
91
|
-
name: elif
|
92
87
|
prerelease: false
|
93
|
-
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
94
|
+
- !ruby/object:Gem::Dependency
|
95
|
+
name: elif
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
94
97
|
none: false
|
95
|
-
requirements:
|
96
|
-
- -
|
97
|
-
- !ruby/object:Gem::Version
|
98
|
-
|
99
|
-
segments:
|
100
|
-
- 0
|
101
|
-
version: "0"
|
98
|
+
requirements:
|
99
|
+
- - ! '>='
|
100
|
+
- !ruby/object:Gem::Version
|
101
|
+
version: '0'
|
102
102
|
type: :runtime
|
103
|
-
version_requirements: *id006
|
104
|
-
- !ruby/object:Gem::Dependency
|
105
|
-
name: ruby-nuggets
|
106
103
|
prerelease: false
|
107
|
-
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: ruby-nuggets
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
108
113
|
none: false
|
109
|
-
requirements:
|
110
|
-
- -
|
111
|
-
- !ruby/object:Gem::Version
|
112
|
-
|
113
|
-
segments:
|
114
|
-
- 0
|
115
|
-
version: "0"
|
114
|
+
requirements:
|
115
|
+
- - ! '>='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
116
118
|
type: :runtime
|
117
|
-
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - ! '>='
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '0'
|
118
126
|
description: Twitter-to-Jabber gateway.
|
119
127
|
email: ww@blackwinter.de
|
120
|
-
executables:
|
128
|
+
executables:
|
121
129
|
- twitter2jabber
|
122
130
|
extensions: []
|
123
|
-
|
124
|
-
extra_rdoc_files:
|
131
|
+
extra_rdoc_files:
|
125
132
|
- README
|
126
133
|
- COPYING
|
127
134
|
- ChangeLog
|
128
|
-
files:
|
129
|
-
- lib/twitter2jabber.rb
|
135
|
+
files:
|
130
136
|
- lib/twitter2jabber/version.rb
|
137
|
+
- lib/twitter2jabber.rb
|
131
138
|
- bin/twitter2jabber
|
132
|
-
-
|
139
|
+
- COPYING
|
140
|
+
- TODO
|
133
141
|
- ChangeLog
|
134
142
|
- Rakefile
|
135
|
-
-
|
136
|
-
- COPYING
|
137
|
-
- example/templates/tweet.txt
|
138
|
-
- example/templates/tweet.html
|
143
|
+
- README
|
139
144
|
- example/config.yaml
|
145
|
+
- example/templates/tweet.html
|
146
|
+
- example/templates/tweet.txt
|
140
147
|
homepage: http://twitter2jabber.rubyforge.org/
|
141
148
|
licenses: []
|
142
|
-
|
143
149
|
post_install_message:
|
144
|
-
rdoc_options:
|
145
|
-
- --all
|
146
|
-
- --main
|
147
|
-
- README
|
150
|
+
rdoc_options:
|
148
151
|
- --charset
|
149
152
|
- UTF-8
|
150
|
-
- --title
|
151
|
-
- twitter2jabber Application documentation (v0.5.0)
|
152
153
|
- --line-numbers
|
153
|
-
|
154
|
+
- --all
|
155
|
+
- --title
|
156
|
+
- twitter2jabber Application documentation (v0.6.0)
|
157
|
+
- --main
|
158
|
+
- README
|
159
|
+
require_paths:
|
154
160
|
- lib
|
155
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
161
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
156
162
|
none: false
|
157
|
-
requirements:
|
158
|
-
- -
|
159
|
-
- !ruby/object:Gem::Version
|
160
|
-
|
161
|
-
|
162
|
-
- 0
|
163
|
-
version: "0"
|
164
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ! '>='
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
165
168
|
none: false
|
166
|
-
requirements:
|
167
|
-
- -
|
168
|
-
- !ruby/object:Gem::Version
|
169
|
-
|
170
|
-
segments:
|
171
|
-
- 0
|
172
|
-
version: "0"
|
169
|
+
requirements:
|
170
|
+
- - ! '>='
|
171
|
+
- !ruby/object:Gem::Version
|
172
|
+
version: '0'
|
173
173
|
requirements: []
|
174
|
-
|
175
174
|
rubyforge_project: twitter2jabber
|
176
|
-
rubygems_version: 1.8.
|
175
|
+
rubygems_version: 1.8.24
|
177
176
|
signing_key:
|
178
177
|
specification_version: 3
|
179
178
|
summary: Twitter-to-Jabber gateway.
|
180
179
|
test_files: []
|
181
|
-
|