rjp-jabber_cat 0.0.5 → 0.0.6

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/bin/jabber_cat.rb CHANGED
@@ -1,4 +1,6 @@
1
- require 'rubygems'
1
+ #! /usr/bin/env ruby
2
+
3
+ require 'rubygems' # should only do this if we require it
2
4
  require 'optparse'
3
5
  require 'socket'
4
6
  require 'xmpp4r'
@@ -6,82 +8,22 @@ require 'xmpp4r/framework/bot'
6
8
  require 'xmpp4r/muc/helper/simplemucclient'
7
9
  include Jabber
8
10
 
11
+ require 'jabber_cat/options'
12
+
9
13
  def log(x)
10
14
  if $options[:verbose] then
11
15
  puts(*x)
12
16
  end
13
17
  end
14
18
 
15
- $options = {
16
- :host => 'localhost',
17
- :port => 9999,
18
- :whoto => nil,
19
- :config => ENV['HOME'] + '/.jabber_cat',
20
- :verbose => nil,
21
- :debug => 0,
22
- :keyfile => nil,
23
- :muc => nil
24
- }
25
-
26
- OptionParser.new do |opts|
27
- opts.banner = "Usage: twittermoo.rb [-p port] [-h host] [-w jid] [-v] [-d N] [-m] [-k file]"
28
-
29
- opts.on("-p", "--port N", Integer, "irccat port") do |p|
30
- $options[:port] = p
31
- end
32
-
33
- opts.on("-h", "--host HOST", String, "host") do |p|
34
- $options[:host] = p
35
- end
36
-
37
- opts.on("-w", "--whoto jid", String, "JID") do |p|
38
- $options[:whoto] = p
39
- end
40
-
41
- opts.on("-c", "--config CONFIG", String, "config file") do |p|
42
- $options[:config] = p
43
- end
44
-
45
- opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
46
- $options[:verbose] = v
47
- end
48
-
49
- opts.on("-d", "--debug N", Integer, "debug level") do |p|
50
- $options[:debug] = p
51
- end
52
-
53
- opts.on("-k", "--key filename", String, "Shared key file") do |p|
54
- $options[:keyfile] = p
55
- end
56
-
57
- opts.on("-m", "--muc", "Treat the destination as a MUC") do |v|
58
- $options[:muc] = v
59
- end
60
-
61
- end.parse!
62
-
63
- if $options[:whoto].nil? then # debug = 1 if not already set
64
- $options[:debug] = $options[:debug] || 1
65
- end
66
-
67
- # TODO handle failing here with exceptions
68
- config = YAML::load(open($options[:config]))
69
-
70
- # TODO this won't work at all because $options has symbols, config has strings
71
- unless config['options'].nil? then
72
- config['options'].each { |k,v|
73
- $options[k.to_sym] = v
74
- }
75
- end
76
-
77
19
  if $options[:keyfile] then
78
20
  puts "loading secret key from #{$options[:keyfile]}"
79
21
  $options[:secret_key] = File.open($options[:keyfile]).read.chomp
80
22
  end
81
23
 
82
24
  # make sure we always have a filters list
83
- if config['filters'].nil? then
84
- config['filters'] = []
25
+ if $options['filters'].nil? then
26
+ $options['filters'] = []
85
27
  end
86
28
 
87
29
  if $options[:debug] > 0 then
@@ -116,7 +58,7 @@ x = Thread.new do
116
58
  line.gsub!(%r{^%/.*?/% }, '')
117
59
  end
118
60
 
119
- config['filters'].each { |f|
61
+ $options['filters'].each { |f|
120
62
  if line =~ /#{f}/ then
121
63
  if $options[:verbose] then
122
64
  log "F #{f} =~ #{line}"
@@ -148,8 +90,8 @@ end
148
90
  #### JABBER
149
91
 
150
92
  # settings
151
- myJID = JID.new(config['myjid'])
152
- myPassword = config['mypass']
93
+ myJID = JID.new($options['myjid'])
94
+ myPassword = $options['mypass']
153
95
 
154
96
  log "creating jabber connection now"
155
97
 
@@ -157,6 +99,11 @@ if $options[:debug] > 1 then
157
99
  Jabber::debug = true
158
100
  end
159
101
 
102
+ if $options[:debug] > 2 then
103
+ x.join
104
+ exit
105
+ end
106
+
160
107
  if $options[:muc] then # can't distinguish MUC JID from normal JID
161
108
  cl = Jabber::Client.new(Jabber::JID.new(myJID))
162
109
  cl.connect
@@ -0,0 +1,61 @@
1
+ puts "included file"
2
+
3
+ $options = {
4
+ :host => 'localhost',
5
+ :port => 9999,
6
+ :whoto => nil,
7
+ :config => ENV['HOME'] + '/.jabber_cat',
8
+ :verbose => nil,
9
+ :debug => 0,
10
+ :keyfile => nil,
11
+ :muc => nil
12
+ }
13
+
14
+ OptionParser.new do |opts|
15
+ opts.banner = "Usage: twittermoo.rb [-p port] [-h host] [-w jid] [-v] [-d N] [-m] [-k file]"
16
+
17
+ opts.on("-p", "--port N", Integer, "irccat port") do |p|
18
+ $options[:port] = p
19
+ end
20
+
21
+ opts.on("-h", "--host HOST", String, "host") do |p|
22
+ $options[:host] = p
23
+ end
24
+
25
+ opts.on("-w", "--whoto jid", String, "JID") do |p|
26
+ $options[:whoto] = p
27
+ end
28
+
29
+ opts.on("-c", "--config CONFIG", String, "config file") do |p|
30
+ $options[:config] = p
31
+ end
32
+
33
+ opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
34
+ $options[:verbose] = v
35
+ end
36
+
37
+ opts.on("-d", "--debug N", Integer, "debug level") do |p|
38
+ $options[:debug] = p
39
+ end
40
+
41
+ opts.on("-k", "--key filename", String, "Shared key file") do |p|
42
+ $options[:keyfile] = p
43
+ end
44
+
45
+ opts.on("-m", "--muc", "Treat the destination as a MUC") do |v|
46
+ $options[:muc] = v
47
+ end
48
+
49
+ end.parse!
50
+
51
+ if $options[:whoto].nil? then # debug = 1 if not already set
52
+ $options[:debug] = $options[:debug] || 1
53
+ end
54
+
55
+ # TODO handle failing here with exceptions
56
+ config = YAML::load(open($options[:config]))
57
+
58
+ # merge the whole of the config file into the $options hash
59
+ config.each { |k,v|
60
+ $options[k.to_sym] = v
61
+ }
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rjp-jabber_cat
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rob Partington
@@ -24,14 +24,15 @@ dependencies:
24
24
  version:
25
25
  description:
26
26
  email: zimpenfish@gmail.com
27
- executables: []
28
-
27
+ executables:
28
+ - jabber_cat.rb
29
29
  extensions: []
30
30
 
31
31
  extra_rdoc_files: []
32
32
 
33
33
  files:
34
34
  - bin/jabber_cat.rb
35
+ - lib/jabber_cat/options.rb
35
36
  has_rdoc: false
36
37
  homepage: http://rjp.github.com/jabber_cat
37
38
  post_install_message: