Report abuse

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