| Merges in a patch to support multiple masks per job, fixes some minor bugs, sti… | |
| Log | |
| Files | |
| Refs | |
| README | |
| --- | |
| commit 235e8064ff4e47777e2dd770ea7ee424ceece55b | |
| parent c73e4d6004f5f7dc05796e73842ad117756b9d8c | |
| Author: HD Moore <[email protected]> | |
| Date: Tue, 31 Mar 2009 05:05:41 +0000 | |
| Merges in a patch to support multiple masks per job, fixes some minor bugs, sti… | |
| Diffstat: | |
| M lib/warvox/jobs/dialer.rb | 2 +- | |
| M lib/warvox/phone.rb | 42 ++++++++++++++++++-----------… | |
| M web/app/controllers/dial_jobs_cont… | 2 +- | |
| M web/app/models/dial_job.rb | 2 +- | |
| M web/app/views/dial_jobs/edit.html.… | 2 +- | |
| M web/app/views/dial_jobs/index.html… | 2 +- | |
| M web/app/views/dial_jobs/new.html.e… | 2 +- | |
| 7 files changed, 30 insertions(+), 24 deletions(-) | |
| --- | |
| diff --git a/lib/warvox/jobs/dialer.rb b/lib/warvox/jobs/dialer.rb | |
| @@ -90,7 +90,7 @@ class Dialer < Base | |
| end | |
| def start_dialing | |
| - dest = File.join(WarVOX::Config.data_path, "#{@name}-#{@range}… | |
| + dest = File.join(WarVOX::Config.data_path, "#{@name}") | |
| FileUtils.mkdir_p(dest) | |
| @nums_total = @nums.length | |
| diff --git a/lib/warvox/phone.rb b/lib/warvox/phone.rb | |
| @@ -2,28 +2,34 @@ module WarVOX | |
| class Phone | |
| # Convert 123456XXXX to an array of expanded numbers | |
| - def self.crack_mask(mask) | |
| + def self.crack_mask(masks) | |
| res = {} | |
| - | |
| - incdigits = 0 | |
| - mask.each_char do |c| | |
| - incdigits += 1 if c =~ /^[X#]$/i | |
| - end | |
| - | |
| - max = (10**incdigits)-1 | |
| - | |
| - (0..max).each do |num| | |
| - number = mask.dup # copy the mask | |
| - numstr = sprintf("%0#{incdigits}d", num) # stringify o… | |
| - j = 0 # index for numstr | |
| - for i in 0..number.length-1 do # step through the numb… | |
| - if number[i].chr =~ /^[X#]$/i | |
| - number[i] = numstr[j] # replaced maske… | |
| - j += 1 | |
| + masks.each do |mask| | |
| + mask = mask.strip | |
| + incdigits = 0 | |
| + mask.each_char do |c| | |
| + incdigits += 1 if c =~ /^[X#]$/i | |
| + end | |
| + | |
| + max = (10**incdigits)-1 | |
| + | |
| + (0..max).each do |num| | |
| + number = mask.dup # copy the mask | |
| + numstr = sprintf("%0#{incdigits}d", num) # str… | |
| + j = 0 # index for numstr | |
| + for i in 0..number.length-1 do # step through … | |
| + if number[i].chr =~ /^[X#]$/i | |
| + number[i] = numstr[j] # replac… | |
| + j += 1 | |
| + end | |
| end | |
| + res[number] = {} | |
| end | |
| - res[number] = {} | |
| + | |
| end | |
| + res.each { |key, value| | |
| + print "DEBUG: key=",key," -> ",value,"\n" | |
| + } | |
| return res.keys.sort | |
| end | |
| diff --git a/web/app/controllers/dial_jobs_controller.rb b/web/app/controllers/… | |
| @@ -70,7 +70,7 @@ class DialJobsController < ApplicationController | |
| @dial_job.progress = 0 | |
| @dial_job.started_at = nil | |
| @dial_job.completed_at = nil | |
| - @dial_job.range.gsub!(/[^0-9X]/, '') | |
| + @dial_job.range.gsub!(/[^0-9X,\n]/, '') | |
| @dial_job.cid_mask.gsub!(/[^0-9X]/, '') if @dial_job.cid_mask != "SELF" | |
| respond_to do |format| | |
| diff --git a/web/app/models/dial_job.rb b/web/app/models/dial_job.rb | |
| @@ -6,7 +6,7 @@ class DialJob < ActiveRecord::Base | |
| validates_numericality_of :seconds, :less_than => 301, :greater_than =… | |
| def validate | |
| - if(range.gsub(/[^0-9X]/, '').empty?) | |
| + if(range.gsub(/[^0-9X,\n]/, '').empty?) | |
| errors.add(:range, "The range must be at least 1 chara… | |
| end | |
| diff --git a/web/app/views/dial_jobs/edit.html.erb b/web/app/views/dial_jobs/ed… | |
| @@ -5,7 +5,7 @@ | |
| <p> | |
| <%= f.label :range %><br /> | |
| - <%= f.text_field :range %> | |
| + <%= f.text_area :range, :size => "35x5" %> | |
| </p> | |
| <p> | |
| <%= f.label :seconds %><br /> | |
| diff --git a/web/app/views/dial_jobs/index.html.erb b/web/app/views/dial_jobs/i… | |
| @@ -78,7 +78,7 @@ | |
| <%= f.error_messages %> | |
| <p> | |
| <%= f.label :range, 'The target telephone range (1-123-456-XXXX)' %><br /> | |
| - <%= f.text_field :range %> | |
| + <%= f.text_area :range, :size => "35x5" %> | |
| </p> | |
| <p> | |
| <%= f.label :seconds, 'Seconds of audio to capture' %><br /> | |
| diff --git a/web/app/views/dial_jobs/new.html.erb b/web/app/views/dial_jobs/new… | |
| @@ -4,7 +4,7 @@ | |
| <%= f.error_messages %> | |
| <p> | |
| <%= f.label :range, 'The target telephone range (1-123-456-XXXX)' %><br /> | |
| - <%= f.text_field :range %> | |
| + <%= f.text_area :range, :size => "35x5" %> | |
| </p> | |
| <p> | |
| <%= f.label :seconds, 'Seconds of audio to capture' %><br /> |