hotel_price 0.4.6 → 0.4.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 98b5a3b50fe4081d4f8a3415fda4e9cef549945952e4dff0ed857edb01821734
4
- data.tar.gz: afc2199c849cd59933eaa515ec9456dfd0bc0b69174d852a5aabedc4a2998df2
3
+ metadata.gz: bc76b623cc53e04ce6b4e2b0c065c6cb70c4ee24f38ac6addc5a2c9ea22c04e3
4
+ data.tar.gz: 9818d73af51d8a53cf4e045defb37b328ca3d43bc0e1752eb2778c17805cbe7c
5
5
  SHA512:
6
- metadata.gz: 5e32918fc77c7808cc81d11c9f3b21935cc983c923305046d4f8a49fdb9a771a1fcf5b367afe0018bc89e46016d210376c1bb08ca9ef78575ff83d995b7bbca2
7
- data.tar.gz: b98c58be5c87b6823ce9b9dc59ffbf63f14aaa38d9bf9acccebd1de3c3da81241b7254c45025e7cc8ce8d43990a9e78f5adce669ae60157f033d511f68c0e784
6
+ metadata.gz: 68c6d5beaae5c53e71fdebf1122b8db3fe4e6c7d887fa1dd1acc1e58d1bf07b3947038942cb8872d623e08340b26f86e0d1db433960fbba43d792d7366ded705
7
+ data.tar.gz: 16144d0302ea1aa7b260639bcd8d41ae0c6c8899ad579228490d7c1509f9c997ef1f0f1e92a84122b5c619b00e0d3bc333c2effd243c77be67483b25410ea65b
@@ -5,16 +5,11 @@ module HotelPrice::Rakuten
5
5
  login_id: params[:login_id],
6
6
  login_pw: params[:login_pw],
7
7
  chain: params[:chain] ||= false,
8
- rakuten_hotel_id: params[:rakuten_hotel_id] ||= 0
8
+ rakuten_hotel_id: params[:rakuten_hotel_id] ||= 0,
9
+ mode: params[:mode] ||= 0
9
10
  }
10
- @wait = Selenium::WebDriver::Wait.new(:timeout => 100)
11
- # For Local Headless
12
- # options = Selenium::WebDriver::Firefox::Options.new
13
- # options.add_argument("-headless")
14
- # @driver = Selenium::WebDriver.for :firefox, options: options
15
-
16
- firefox_capabilities = Selenium::WebDriver::Remote::Capabilities.firefox
17
- @driver = Selenium::WebDriver.for(:remote, url: "http://hub:4444/wd/hub", desired_capabilities: firefox_capabilities)
11
+ @wait = Selenium::WebDriver::Wait.new(timeout: 100)
12
+ @driver = get_selenium_driver @config[:mode]
18
13
  if @config[:chain]
19
14
  go_to_management_page_chain
20
15
  else
@@ -22,6 +17,19 @@ module HotelPrice::Rakuten
22
17
  end
23
18
  end
24
19
 
20
+ def get_selenium_driver(mode = 0)
21
+ if mode == 1
22
+ firefox_capabilities = Selenium::WebDriver::Remote::Capabilities.firefox
23
+ Selenium::WebDriver.for(:remote, url: "http://hub:4444/wd/hub", desired_capabilities: firefox_capabilities)
24
+ elsif mode == 2
25
+ Selenium::WebDriver.for :firefox
26
+ else
27
+ options = Selenium::WebDriver::Firefox::Options.new
28
+ options.add_argument("-headless")
29
+ Selenium::WebDriver.for :firefox, options: options
30
+ end
31
+ end
32
+
25
33
  def go_to_management_page_chain
26
34
  @driver.get "https://manage.travel.rakuten.co.jp/portal/inn/ry_group.main"
27
35
  @driver.find_element(:name, "f_id").send_keys @config[:login_id].to_s
@@ -104,7 +112,7 @@ module HotelPrice::Rakuten
104
112
  (0..@plans.size - 1).each do |i|
105
113
  plan = RakutenPlan.find_by(manage_number: @data[i][:manage_number])
106
114
  @driver.find_element(:link_text, @data[i][:plan_name]).click
107
- status = @driver.find_element(:xpath, "/html/body/form[4]/table[1]/tbody/tr/td/table/tbody[1]/tr[3]/td[2]").text
115
+ @driver.find_element(:xpath, "/html/body/form[4]/table[1]/tbody/tr/td/table/tbody[1]/tr[3]/td[2]").text
108
116
  flag = []
109
117
  flag[0] = "楽天トラベル[宿泊のみ]" if @driver.find_element(:name, "f_tabi_flg").selected?
110
118
 
@@ -288,7 +296,7 @@ module HotelPrice::Rakuten
288
296
  room_size_tatami = ""
289
297
  end
290
298
  (0..5).each do |i|
291
- room_category = @driver.find_element(:id, "view2_type_#{i}").attribute("value") if @driver.find_element(:id, "view2_type_#{i}").selected?
299
+ @driver.find_element(:id, "view2_type_#{i}").attribute("value") if @driver.find_element(:id, "view2_type_#{i}").selected?
292
300
  end
293
301
 
294
302
  # Pause sort
@@ -331,7 +339,7 @@ module HotelPrice::Rakuten
331
339
  password_exp_date: exp,
332
340
  rakuten_hotel_id: rakuten_hotel_id
333
341
  }
334
- rescue => e
342
+ rescue StandardError => e
335
343
  @driver.quit
336
344
  {
337
345
  status: "error",
@@ -340,7 +348,7 @@ module HotelPrice::Rakuten
340
348
  end
341
349
 
342
350
  def get_area_seo_rank
343
- ranking_page = @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[1]/tbody/tr[2]/td/table/tbody/tr[1]/td[5]/table/tbody/tr/td/table[1]/tbody/tr[5]/td[2]/font/b")
351
+ @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[1]/tbody/tr[2]/td/table/tbody/tr[1]/td[5]/table/tbody/tr/td/table[1]/tbody/tr[5]/td[2]/font/b")
344
352
  rows = @driver.find_elements(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[1]/tbody/tr[2]/td/table/tbody/tr[1]/td[5]/table/tbody/tr/td/table[1]/tbody/tr[5]")
345
353
  rows.each do |f|
346
354
  cells = f.find_elements(:css, "td").map(&:text)
@@ -355,7 +363,7 @@ module HotelPrice::Rakuten
355
363
 
356
364
  def get_reservation_info
357
365
  t = Time.now
358
- management_page = @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[3]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/input").click
366
+ @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[3]/tbody/tr[2]/td[2]/table/tbody/tr[3]/td/input").click
359
367
  if t.day == 1
360
368
  last_month = degit2 t.prev_month.month.to_i
361
369
  yesterday = degit2 t.prev_month.end_of_month.day.to_i
@@ -472,8 +480,8 @@ module HotelPrice::Rakuten
472
480
  end
473
481
 
474
482
  def daily_data_update
475
- green_tab = @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[2]/tbody/tr[1]/td[1]/table/tbody/tr/td[3]/a/img").click
476
- karute_button = @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[5]/tbody/tr[2]/td[1]/table/tbody/tr[3]/td/table/tbody/tr/td[1]/input").click
483
+ @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[2]/tbody/tr[1]/td[1]/table/tbody/tr/td[3]/a/img").click
484
+ @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[5]/tbody/tr[2]/td[1]/table/tbody/tr[3]/td/table/tbody/tr/td[1]/input").click
477
485
  sleep 3
478
486
  if Time.now.day == 1
479
487
  else
@@ -485,7 +493,7 @@ module HotelPrice::Rakuten
485
493
  select = Selenium::WebDriver::Support::Select.new(@driver.find_element(:name, "f_date"))
486
494
  select.select_by(:value, value)
487
495
  end
488
- display_data = @driver.find_element(:xpath, '//input[@value = "表示"]').click
496
+ @driver.find_element(:xpath, '//input[@value = "表示"]').click
489
497
  rows = @driver.find_elements(:xpath, "//tr")
490
498
  rows[27..58].each do |row|
491
499
  cells = row.find_elements(:css, "td[align=RIGHT]").map { |a| a.text.strip.gsub(",", "") }
@@ -514,9 +522,9 @@ module HotelPrice::Rakuten
514
522
  end
515
523
 
516
524
  def monthly_data_past
517
- karute_button = @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[2]/tbody/tr[1]/td[1]/table/tbody/tr/td[3]/a/img").click
518
- karute_page = @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[5]/tbody/tr[2]/td[1]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/input").click
519
- month_karute = @driver.find_element(:xpath, "/html/body/center/table[1]/tbody/tr[2]/td/table/tbody/tr[2]/td/form/input[8]").click
525
+ @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[2]/tbody/tr[1]/td[1]/table/tbody/tr/td[3]/a/img").click
526
+ @driver.find_element(:xpath, "/html/body/table[2]/tbody/tr/td[3]/table[5]/tbody/tr[2]/td[1]/table/tbody/tr[3]/td/table/tbody/tr/td[2]/input").click
527
+ @driver.find_element(:xpath, "/html/body/center/table[1]/tbody/tr[2]/td/table/tbody/tr[2]/td/form/input[8]").click
520
528
  rows = @driver.find_elements(:xpath, "//tr")
521
529
  rows[19..31].each do |row|
522
530
  cells = row.find_elements(:css, "td").map { |a| a.text.strip.gsub(",", "") }
@@ -548,4 +556,4 @@ module HotelPrice::Rakuten
548
556
  @driver.quit
549
557
  end
550
558
  end
551
- end
559
+ end
@@ -1,3 +1,3 @@
1
1
  module HotelPrice
2
- VERSION = "0.4.6"
2
+ VERSION = "0.4.7"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hotel_price
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.4.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fumitake Kawasaki
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2020-04-08 00:00:00.000000000 Z
12
+ date: 2020-04-09 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler