1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
|
require 'mechanize'
require 'rubygems'
require 'logger'
require 'googlecalendar'
require 'builders'
class CalendarHelper
def self.find_todays_responsible
data = scan '/calendar/ical/dalager.com_3kvrtamhro5s83sxxxx457cllo%40group.calendar.google.com/private-b4a9b741cexxxx7ff6fc32fe4a208aa1/basic'
cal = parse data
dates = cal.events.collect{|e| [e.start_date, e.summary] }
onwatch = dates.find{|d| d[0] == Date.today}
if(onwatch != nil)
onwatch[1]
else
nil
end
end
end
class Flexconnector
def self.move_phone(phone_number)
agent = WWW::Mechanize.new { |a| a.log = Logger.new("mech.log") }
page = agent.get("http://www.flexconnect.dk/ ")
login_form = page.forms.name("login").first
login_form.fields.name("mobil").value = "<TELEFONNUMMERET>"
login_form.fields.name("password").value = "<ADGANGSKODEN>"
logged_in_page = agent.submit(login_form)
phone_form = logged_in_page.forms.name("videre").first
phone_form.fields.name("CFUNumber").value = phone_number
confirmation_page = agent.submit(phone_form)
end
end
phones = YAML::load_file('phone_numbers.yml')
puts "loader kalender..."
resp = CalendarHelper.find_todays_responsible
if(resp)
if(phones.has_key? (resp.downcase))
puts "Omstiller til #{phones[resp.downcase].to_s}..."
Flexconnector.move_phone(phones[resp.downcase].to_s)
puts "telefon omstillet!"
File.delete ('mech.log') if File.exist?('mech.log')
else
puts "kunne ikke finde tlfnr i yml filen for #{resp.downcase}"
end
else
puts "No entry for today"
end
|