hotel_price 0.4.6 → 0.4.7

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.
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