ficonabses 0.2.5 → 0.2.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/ficonabses_blacklist.rb +70 -0
- data/bin/ficonabses_csv.rb +2 -6
- data/lib/ficonabses/addons.rb +5 -0
- data/lib/ficonabses/base.rb +15 -0
- data/test/test_localone.rb +11 -2
- metadata +5 -3
@@ -0,0 +1,70 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
usage=<<EOF_USAGE
|
3
|
+
|
4
|
+
# == Synopsis
|
5
|
+
# read a csv file and blacklist it
|
6
|
+
# == Usage
|
7
|
+
# ficonabses_blacklist.rb -u username -p password -f csvfile.name -D
|
8
|
+
# csv file needs to be in the format (including headers) with destination,
|
9
|
+
# -D debug
|
10
|
+
# == Author
|
11
|
+
# Scott Sproule --- Ficonab.com (scott.sproule@ficonab.com)
|
12
|
+
# == Example
|
13
|
+
# ficonabses_blacklist.rb -u xxxx -p yyyy -f yyy.csv
|
14
|
+
# == Copyright
|
15
|
+
# Copyright (c) 2011 Ficonab Pte. Ltd.
|
16
|
+
# See license for license details
|
17
|
+
EOF_USAGE
|
18
|
+
require 'yaml'
|
19
|
+
require 'rubygems'
|
20
|
+
require 'uri'
|
21
|
+
gem 'ficonabses'
|
22
|
+
gem 'fastercsv'
|
23
|
+
require 'fastercsv'
|
24
|
+
require 'ficonabses'
|
25
|
+
require 'optparse'
|
26
|
+
#require 'java' if RUBY_PLATFORM =~ /java/
|
27
|
+
# start the processing
|
28
|
+
def send_row(ficonab,row,username)
|
29
|
+
#puts "row destination: #{row['destination']} template: #{row['template']} campaign: #{row['campaign']} campaign flag: #{flag}"
|
30
|
+
row['destination'].strip!
|
31
|
+
sleep(1)
|
32
|
+
if row!=nil then
|
33
|
+
|
34
|
+
res =ficonab.global_blacklist(row['destination'],username)
|
35
|
+
|
36
|
+
end
|
37
|
+
res
|
38
|
+
end
|
39
|
+
|
40
|
+
|
41
|
+
arg_hash=FiconabSES::Options.parse_options(ARGV)
|
42
|
+
FiconabSES::Options.show_usage_exit(usage) if arg_hash[:help]==true
|
43
|
+
|
44
|
+
require 'pp'
|
45
|
+
options=arg_hash
|
46
|
+
puts "[#{Time.now}] START"
|
47
|
+
@f=FiconabSES::Base.new
|
48
|
+
@f.set_credentials(options[:username],options[:password])
|
49
|
+
@f.set_debug if options[:debug] # if debug sends to localhost
|
50
|
+
count=0
|
51
|
+
flag=false
|
52
|
+
#send_template(options[:template],'7923044488','scott.sproule@gmail.com',count+=1)
|
53
|
+
rows=FiconabSES::Addons.readfile(options[:filename])
|
54
|
+
rows.each {|row|
|
55
|
+
#puts "row is: #{row}"
|
56
|
+
begin
|
57
|
+
hash={}
|
58
|
+
hash=hash.merge row
|
59
|
+
res=send_row(@f,hash.clone,options[:username])
|
60
|
+
puts "COUNT: #{count} result: #{res} row: #{hash} "
|
61
|
+
count+=1
|
62
|
+
|
63
|
+
rescue Exception => e
|
64
|
+
puts "Found count: #{count} error #{e.inspect}"
|
65
|
+
end
|
66
|
+
}
|
67
|
+
|
68
|
+
|
69
|
+
# puts "response is list is #{list.to_yaml} #{finallist.to_yaml}"
|
70
|
+
puts "[#{Time.now}] FINISHED: sending: #{count}"
|
data/bin/ficonabses_csv.rb
CHANGED
@@ -40,11 +40,7 @@ def send_row(ficonab,row,flag)
|
|
40
40
|
res
|
41
41
|
end
|
42
42
|
|
43
|
-
|
44
|
-
csvfile=File.open(filename,'r')
|
45
|
-
rawfile= FasterCSV.parse(csvfile.read, { :headers => true})
|
46
|
-
rawfile
|
47
|
-
end
|
43
|
+
|
48
44
|
arg_hash=FiconabSES::Options.parse_options(ARGV)
|
49
45
|
FiconabSES::Options.show_usage_exit(usage) if arg_hash[:help]==true
|
50
46
|
|
@@ -58,7 +54,7 @@ require 'pp'
|
|
58
54
|
flag=false
|
59
55
|
flag=options[:campaign] if options[:campaign]
|
60
56
|
#send_template(options[:template],'7923044488','scott.sproule@gmail.com',count+=1)
|
61
|
-
rows=readfile(options[:filename])
|
57
|
+
rows=FiconabSES::Addons.readfile(options[:filename])
|
62
58
|
rows.each {|row|
|
63
59
|
#puts "row is: #{row}"
|
64
60
|
begin
|
data/lib/ficonabses/addons.rb
CHANGED
@@ -5,6 +5,11 @@ module FiconabSES
|
|
5
5
|
f.set_credentials(account,password)
|
6
6
|
FiconabSES::Addons.send_ruby_exception(f,exception,destination,nil)
|
7
7
|
end
|
8
|
+
def self.readfile(filename)
|
9
|
+
csvfile=File.open(filename,'r')
|
10
|
+
rawfile= FasterCSV.parse(csvfile.read, { :headers => true})
|
11
|
+
rawfile
|
12
|
+
end
|
8
13
|
def self.send_ruby_exception(ficonab_obj,exception,tolist, other, cclist=[],prefix2='[Exception]')
|
9
14
|
begin
|
10
15
|
backtrace=exception.backtrace|| 'No backtrace available'
|
data/lib/ficonabses/base.rb
CHANGED
@@ -53,6 +53,11 @@ module FiconabSES
|
|
53
53
|
f.set_credentials(account,password)
|
54
54
|
f.send_template_params(destination,templatename,options)
|
55
55
|
end
|
56
|
+
def self.global_blacklist_direct(account,password,destination)
|
57
|
+
f=FiconabSES::Base.new
|
58
|
+
f.set_credentials(account,password)
|
59
|
+
f.global_blacklist(destination,account)
|
60
|
+
end
|
56
61
|
def self.send_campaign_flow_direct(account,password,destination,templatename,options={})
|
57
62
|
f=FiconabSES::Base.new
|
58
63
|
f.set_credentials(account,password)
|
@@ -86,6 +91,10 @@ module FiconabSES
|
|
86
91
|
url="#{self.action_url('ficonabsendemail',destination)}&subject=#{URI.encode(subject)}&text=#{URI.encode(contents)}"
|
87
92
|
url
|
88
93
|
end
|
94
|
+
def global_blacklist_url(destination,username)
|
95
|
+
url="#{self.action_url('ficonabaction',destination)}&type=globalunsubscribe&user=#{URI.encode(username)}"
|
96
|
+
url
|
97
|
+
end
|
89
98
|
def template_url(destination,templatename)
|
90
99
|
url="#{self.action_url('ficonabsimpletemplate',destination)}&template=#{URI.encode(templatename)}"
|
91
100
|
url
|
@@ -120,6 +129,12 @@ module FiconabSES
|
|
120
129
|
perform(url)
|
121
130
|
# res
|
122
131
|
end
|
132
|
+
def global_blacklist(destination,username)
|
133
|
+
url=self.global_blacklist_url(destination,username)
|
134
|
+
puts "url is: #{url}"
|
135
|
+
perform(url)
|
136
|
+
# res
|
137
|
+
end
|
123
138
|
def send_campaign_flow(destination,campaign_name,options={})
|
124
139
|
url=self.campaign_flow_params(destination,campaign_name,options)
|
125
140
|
puts "url is: #{url}"
|
data/test/test_localone.rb
CHANGED
@@ -19,7 +19,16 @@ class TestFiconabses < Test::Unit::TestCase
|
|
19
19
|
assert false==(res.include? 'Error')
|
20
20
|
|
21
21
|
end
|
22
|
-
|
22
|
+
def test_global_blacklist_adding
|
23
|
+
options={}
|
24
|
+
options['hello']='TESTING'
|
25
|
+
res =@f.global_blacklist(@destination,'scott') #no text portion
|
26
|
+
puts "RES is: #{res}"
|
27
|
+
assert res.include? 'successfully'
|
28
|
+
assert false==(res.include? 'Error')
|
29
|
+
|
30
|
+
end
|
31
|
+
def test_local_blacklist
|
23
32
|
options={}
|
24
33
|
options['hello']='TESTING'
|
25
34
|
res =@f.send_template_params(@destination,'testblacklist',options) #no text portion
|
@@ -28,7 +37,7 @@ class TestFiconabses < Test::Unit::TestCase
|
|
28
37
|
assert false==(res.include? 'Error')
|
29
38
|
|
30
39
|
end
|
31
|
-
def
|
40
|
+
def test_global_blacklist
|
32
41
|
options={}
|
33
42
|
options['hello']='TESTING'
|
34
43
|
res =@f.send_template_params('blacklist','testblacklist',options) #no text portion
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 6
|
9
|
+
version: 0.2.6
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Scott Sproule
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2012-03-
|
17
|
+
date: 2012-03-11 00:00:00 +08:00
|
18
18
|
default_executable:
|
19
19
|
dependencies: []
|
20
20
|
|
@@ -23,6 +23,7 @@ email: scott.sproule@estormtech.com
|
|
23
23
|
executables:
|
24
24
|
- ficonabses_template_test.rb
|
25
25
|
- ficonabses_csv.rb
|
26
|
+
- ficonabses_blacklist.rb
|
26
27
|
extensions: []
|
27
28
|
|
28
29
|
extra_rdoc_files: []
|
@@ -41,6 +42,7 @@ files:
|
|
41
42
|
- test/test_smartroam.rb
|
42
43
|
- test/test_smartroam2.rb
|
43
44
|
- test/test_templates.rb
|
45
|
+
- bin/ficonabses_blacklist.rb
|
44
46
|
- bin/ficonabses_csv.rb
|
45
47
|
- bin/ficonabses_template_test.rb
|
46
48
|
- History.txt
|