rbbt-util 5.33.11 → 5.33.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rbbt/util/misc/communication.rb +79 -0
- data/lib/rbbt/util/misc/development.rb +0 -26
- data/lib/rbbt/util/misc/system.rb +0 -19
- data/lib/rbbt/util/misc.rb +1 -0
- data/lib/rbbt/util/open.rb +8 -1
- data/test/rbbt/util/misc/test_communication.rb +11 -0
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 729b93bb0b82b05a03eb9cdf99728b4793ecd002ab06a92c08dc899341d26810
|
4
|
+
data.tar.gz: 568b263ae5bbc16e18383bd0fc5fb42054d2954b674bb1df97f80280ade9e7b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 1c56e3f171523bb412b391899b93ba88d80038a2a201ed4573897c3039526fbf1f05d2a2bcb81b837d6cb9ad31672c7c5a67572d7baa3789c10f3fc3929db274
|
7
|
+
data.tar.gz: b178ecce6c10f7933bdafd3cf495e3a185d6f0005b5111ed6b86f79f70b9608d613c837d7141c6ca42bf4504d352f46102d2ac628bc19d6e9a2001dbcc081284
|
@@ -0,0 +1,79 @@
|
|
1
|
+
module Misc
|
2
|
+
PUSHBULLET_KEY=begin
|
3
|
+
if ENV["PUSHBULLET_KEY"]
|
4
|
+
ENV["PUSHBULLET_KEY"]
|
5
|
+
else
|
6
|
+
config_api = File.join(ENV['HOME'], 'config/apps/pushbullet/apikey')
|
7
|
+
if File.exist? config_api
|
8
|
+
File.read(config_api).strip
|
9
|
+
else
|
10
|
+
nil
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.notify(description, event='notification', key = nil)
|
16
|
+
if PUSHBULLET_KEY.nil? and key.nil?
|
17
|
+
Log.warn "Could not notify, no PUSHBULLET_KEY"
|
18
|
+
return
|
19
|
+
end
|
20
|
+
|
21
|
+
Thread.new do
|
22
|
+
application = 'rbbt'
|
23
|
+
event ||= 'notification'
|
24
|
+
key ||= PUSHBULLET_KEY
|
25
|
+
`curl -s --header "Authorization: Bearer #{key}" -X POST https://api.pushbullet.com/v2/pushes --header 'Content-Type: application/json' --data-binary '{"type": "note", "title": "#{event}", "body": "#{description}"}'`
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def self.send_email_old(from, to, subject, message, options = {})
|
30
|
+
IndiferentHash.setup(options)
|
31
|
+
options = Misc.add_defaults options, :from_alias => nil, :to_alias => nil, :server => 'localhost', :port => 25, :user => nil, :pass => nil, :auth => :login
|
32
|
+
|
33
|
+
server, port, user, pass, from_alias, to_alias, auth = Misc.process_options options, :server, :port, :user, :pass, :from_alias, :to_alias, :auth
|
34
|
+
|
35
|
+
msg = <<-END_OF_MESSAGE
|
36
|
+
From: #{from_alias} <#{from}>
|
37
|
+
To: #{to_alias} <#{to}>
|
38
|
+
Subject: #{subject}
|
39
|
+
|
40
|
+
#{message}
|
41
|
+
END_OF_MESSAGE
|
42
|
+
|
43
|
+
Net::SMTP.start(server, port, server, user, pass, auth) do |smtp|
|
44
|
+
smtp.send_message msg, from, to
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def self.send_email(from, to, subject, message, options = {})
|
49
|
+
require 'mail'
|
50
|
+
|
51
|
+
IndiferentHash.setup(options)
|
52
|
+
options = Misc.add_defaults options, :from_alias => nil, :to_alias => nil, :server => 'localhost', :port => 25, :user => nil, :pass => nil, :auth => :login, :files => []
|
53
|
+
|
54
|
+
server, port, user, pass, from_alias, to_alias, auth, files = Misc.process_options options, :server, :port, :user, :pass, :from_alias, :to_alias, :auth, :files
|
55
|
+
|
56
|
+
files = [] if files.nil?
|
57
|
+
files = [files] unless Array === files
|
58
|
+
|
59
|
+
Mail.defaults do
|
60
|
+
delivery_method :smtp, address: server, port: port, user_name: user, password: pass
|
61
|
+
end
|
62
|
+
|
63
|
+
mail = Mail.deliver do
|
64
|
+
from "#{from_alias} <#{from}>"
|
65
|
+
to "#{to_alias} <#{to}>"
|
66
|
+
subject subject
|
67
|
+
|
68
|
+
text_part do
|
69
|
+
body message
|
70
|
+
end
|
71
|
+
|
72
|
+
files.each do |file|
|
73
|
+
file = file.find if Path === file
|
74
|
+
file = file.path if Step === file
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
end
|
@@ -385,32 +385,6 @@ def self.add_libdir(dir=nil)
|
|
385
385
|
`ps -o rss -p #{pid || $$}`.strip.split.last.to_i
|
386
386
|
end
|
387
387
|
|
388
|
-
PUSHBULLET_KEY=begin
|
389
|
-
if ENV["PUSHBULLET_KEY"]
|
390
|
-
ENV["PUSHBULLET_KEY"]
|
391
|
-
else
|
392
|
-
config_api = File.join(ENV['HOME'], 'config/apps/pushbullet/apikey')
|
393
|
-
if File.exist? config_api
|
394
|
-
File.read(config_api).strip
|
395
|
-
else
|
396
|
-
nil
|
397
|
-
end
|
398
|
-
end
|
399
|
-
end
|
400
|
-
|
401
|
-
def self.notify(description, event='notification', key = nil)
|
402
|
-
if PUSHBULLET_KEY.nil? and key.nil?
|
403
|
-
Log.warn "Could not notify, no PUSHBULLET_KEY"
|
404
|
-
return
|
405
|
-
end
|
406
|
-
|
407
|
-
Thread.new do
|
408
|
-
application = 'rbbt'
|
409
|
-
event ||= 'notification'
|
410
|
-
key ||= PUSHBULLET_KEY
|
411
|
-
`curl -s --header "Authorization: Bearer #{key}" -X POST https://api.pushbullet.com/v2/pushes --header 'Content-Type: application/json' --data-binary '{"type": "note", "title": "#{event}", "body": "#{description}"}'`
|
412
|
-
end
|
413
|
-
end
|
414
388
|
|
415
389
|
def self.unzip_in_dir(file, dir)
|
416
390
|
raise "Target is not a directory: #{file}" if File.exist?(dir) and not File.directory?(dir)
|
@@ -16,25 +16,6 @@ module Misc
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
-
def self.send_email(from, to, subject, message, options = {})
|
20
|
-
IndiferentHash.setup(options)
|
21
|
-
options = Misc.add_defaults options, :from_alias => nil, :to_alias => nil, :server => 'localhost', :port => 25, :user => nil, :pass => nil, :auth => :login
|
22
|
-
|
23
|
-
server, port, user, pass, from_alias, to_alias, auth = Misc.process_options options, :server, :port, :user, :pass, :from_alias, :to_alias, :auth
|
24
|
-
|
25
|
-
msg = <<-END_OF_MESSAGE
|
26
|
-
From: #{from_alias} <#{from}>
|
27
|
-
To: #{to_alias} <#{to}>
|
28
|
-
Subject: #{subject}
|
29
|
-
|
30
|
-
#{message}
|
31
|
-
END_OF_MESSAGE
|
32
|
-
|
33
|
-
Net::SMTP.start(server, port, server, user, pass, auth) do |smtp|
|
34
|
-
smtp.send_message msg, from, to
|
35
|
-
end
|
36
|
-
end
|
37
|
-
|
38
19
|
def self.env_add(var, value, sep = ":", prepend = true)
|
39
20
|
ENV[var] ||= ""
|
40
21
|
return if ENV[var] =~ /(#{sep}|^)#{Regexp.quote value}(#{sep}|$)/
|
data/lib/rbbt/util/misc.rb
CHANGED
data/lib/rbbt/util/open.rb
CHANGED
@@ -678,7 +678,14 @@ module Open
|
|
678
678
|
if Open.exists? notification_file
|
679
679
|
key = Open.read(notification_file).strip
|
680
680
|
key = nil if key.empty?
|
681
|
-
|
681
|
+
if key.include?("@")
|
682
|
+
to = from = key
|
683
|
+
subject = "Wrote " << file
|
684
|
+
message = "Content attached"
|
685
|
+
Misc.send_email(from, to, subject, message, :files => [file])
|
686
|
+
else
|
687
|
+
Misc.notify("Wrote " << file, nil, key)
|
688
|
+
end
|
682
689
|
Open.rm notification_file
|
683
690
|
end
|
684
691
|
rescue
|
@@ -0,0 +1,11 @@
|
|
1
|
+
require File.join(File.expand_path(File.dirname(__FILE__)), '../../..', 'test_helper.rb')
|
2
|
+
require 'rbbt/util/misc/communication'
|
3
|
+
|
4
|
+
class TestCommunication < Test::Unit::TestCase
|
5
|
+
def test_send_email
|
6
|
+
to = from = 'mvazque2@localhost'
|
7
|
+
subject = message = "Test"
|
8
|
+
iii Misc.send_email(to, from, subject, message)
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rbbt-util
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.33.
|
4
|
+
version: 5.33.12
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Miguel Vazquez
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-04-
|
11
|
+
date: 2022-04-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -292,6 +292,7 @@ files:
|
|
292
292
|
- lib/rbbt/util/misc.rb
|
293
293
|
- lib/rbbt/util/misc/annotated_module.rb
|
294
294
|
- lib/rbbt/util/misc/bgzf.rb
|
295
|
+
- lib/rbbt/util/misc/communication.rb
|
295
296
|
- lib/rbbt/util/misc/concurrent_stream.rb
|
296
297
|
- lib/rbbt/util/misc/development.rb
|
297
298
|
- lib/rbbt/util/misc/exceptions.rb
|
@@ -531,6 +532,7 @@ files:
|
|
531
532
|
- test/rbbt/util/concurrency/test_threads.rb
|
532
533
|
- test/rbbt/util/log/test_progress.rb
|
533
534
|
- test/rbbt/util/misc/test_bgzf.rb
|
535
|
+
- test/rbbt/util/misc/test_communication.rb
|
534
536
|
- test/rbbt/util/misc/test_development.rb
|
535
537
|
- test/rbbt/util/misc/test_format.rb
|
536
538
|
- test/rbbt/util/misc/test_lock.rb
|
@@ -611,6 +613,7 @@ test_files:
|
|
611
613
|
- test/rbbt/util/misc/test_omics.rb
|
612
614
|
- test/rbbt/util/misc/test_pipes.rb
|
613
615
|
- test/rbbt/util/misc/test_format.rb
|
616
|
+
- test/rbbt/util/misc/test_communication.rb
|
614
617
|
- test/rbbt/util/misc/test_lock.rb
|
615
618
|
- test/rbbt/util/misc/test_multipart_payload.rb
|
616
619
|
- test/rbbt/util/misc/test_bgzf.rb
|