posting_duo 0.0.53 → 0.0.57

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/posting_duo.rb +160 -197
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fc359a857b425b1365169ae81e5acded00d804db9806b4bd66bc1ff9c7aabbcf
4
- data.tar.gz: a8005949efb1edb0b4b704138617bde7df718558e7c242f8ccc8c4a12d0c2074
3
+ metadata.gz: 3d7700cbf4bf00bc967d00a2e18b1d7287a1d46598f9920279b961ccbdfa863a
4
+ data.tar.gz: a041cf5bfd35349137dd6841f270245894ce7ddcc1416d5abedb045667d07022
5
5
  SHA512:
6
- metadata.gz: 483f55350ae4c9331afa45df6139fd633a4788215cf80b694742fbb82170243c53777f59412d2098dfa3cabdbc67fba211be35d43054eb43cfea9f9787d3d739
7
- data.tar.gz: a78fef544d381d13dec78026e26c5bebbcec30c26cadf60bd6a288c393da2e02605d5e15b71484d23726f51ca4058ef5336427990bed9f2a6a4d12beb0fd4f63
6
+ metadata.gz: 4fca5d7fcf91b46a522d94a1dbed9f8c833dff2b3c2ef792986a9ee1711cd216e98cf11a3a9ec4d578dd2153db2279a88b452aa17b670e9910161264bdf4129f
7
+ data.tar.gz: f2d5f42b7611349530f989000022359ec44f01fc98e4c0286a528a24ed1614df8f17f6791cb0fe024017e9ee1d2edc3c8304623ee1d4422d83e06cd0ee965cb0
data/lib/posting_duo.rb CHANGED
@@ -227,7 +227,7 @@ begin
227
227
  sleep(1)
228
228
 
229
229
  begin
230
- wait = Selenium::WebDriver::Wait.new(timeout: 10)
230
+ wait = Selenium::WebDriver::Wait.new(:timeout => 10)
231
231
  wait.until do
232
232
  begin
233
233
  alert = @driver.switch_to.alert
@@ -241,7 +241,7 @@ begin
241
241
  puts "alert이 없으므로 버튼 클릭"
242
242
  @driver.find_element(:xpath, '/html/body/div/div[1]/table/tbody/tr[1]/td[3]/button').click
243
243
  begin
244
- wait = Selenium::WebDriver::Wait.new(timeout: 10)
244
+ wait = Selenium::WebDriver::Wait.new(:timeout => 10)
245
245
  wait.until do
246
246
  begin
247
247
  alert = @driver.switch_to.alert
@@ -290,7 +290,7 @@ rescue
290
290
  sleep(1)
291
291
 
292
292
  begin
293
- wait = Selenium::WebDriver::Wait.new(timeout: 10)
293
+ wait = Selenium::WebDriver::Wait.new(:timeout => 10)
294
294
  wait.until do
295
295
  begin
296
296
  alert = @driver.switch_to.alert
@@ -304,7 +304,7 @@ rescue
304
304
  puts "alert이 없으므로 버튼 클릭"
305
305
  @driver.find_element(:xpath, '/html/body/div/div[1]/table/tbody/tr[1]/td[3]/button').click
306
306
  begin
307
- wait = Selenium::WebDriver::Wait.new(timeout: 10)
307
+ wait = Selenium::WebDriver::Wait.new(:timeout => 10)
308
308
  wait.until do
309
309
  begin
310
310
  alert = @driver.switch_to.alert
@@ -371,24 +371,23 @@ sleep(2)
371
371
  else
372
372
 
373
373
  begin
374
- wait = Selenium::WebDriver::Wait.new(timeout: 20) # 최대 20초 대기
375
- wait.until { @driver.execute_script("return document.readyState") == "complete" } # 페이지가 완전히 로드될 때까지 기다림
374
+ wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
375
+ wait.until { @driver.execute_script("return document.readyState") == "complete" }
376
376
  @driver.get(signup_url)
377
377
  sleep(1)
378
378
  puts '-[√] 회원가입 페이지 URL 이동.......'.magenta
379
+
380
+ # Alert 처리 부분
379
381
  begin
380
- wait = Selenium::WebDriver::Wait.new(timeout: 3) # 3초 동안 대기
381
- wait.until do
382
- begin
383
- @driver.switch_to.alert.accept
384
- true
385
- rescue Selenium::WebDriver::Error::NoSuchAlertError
386
- false
387
- end
388
- end
389
- rescue Selenium::WebDriver::Error::TimeoutError
382
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
383
+ alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
384
+ alert.accept # 알림을 확인
385
+ rescue
386
+ # 알림이 나타나지 않으면 예외 처리하고 넘어감
390
387
  end
391
- rescue Selenium::WebDriver::Error::UnknownError => e
388
+
389
+
390
+ rescue Selenium::WebDriver::Error::UnknownError => e
392
391
  puts "#{signup_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
393
392
  # 열린 모든 창을 닫음
394
393
  @driver.window_handles.each do |handle|
@@ -403,16 +402,15 @@ sleep(2)
403
402
  # 드라이버 종료
404
403
  @driver.quit if @driver
405
404
  return 0
405
+
406
406
  rescue Selenium::WebDriver::Error::TimeoutError => e
407
407
  puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
408
408
  @driver.quit if @driver
409
409
  return 0
410
- rescue => e
411
- puts "사이트 내부에 사이트 내부에 알 수 없는 오류 발생: #{e.message}"
412
- @driver.quit if @driver
413
- return 0
414
- end
415
-
410
+
411
+ rescue
412
+ end
413
+
416
414
 
417
415
 
418
416
 
@@ -2552,17 +2550,14 @@ end
2552
2550
  return 0
2553
2551
  end
2554
2552
 
2553
+
2554
+ # Alert 처리 부분
2555
2555
  begin
2556
- wait = Selenium::WebDriver::Wait.new(timeout: 3) # 3초 동안 대기
2557
- wait.until do
2558
- begin
2559
- @driver.switch_to.alert.accept
2560
- true
2561
- rescue Selenium::WebDriver::Error::NoSuchAlertError
2562
- false
2563
- end
2564
- end
2565
- rescue Selenium::WebDriver::Error::TimeoutError
2556
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
2557
+ alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
2558
+ alert.accept # 알림을 확인
2559
+ rescue
2560
+ # 알림이 나타나지 않으면 예외 처리하고 넘어감
2566
2561
  end
2567
2562
 
2568
2563
 
@@ -2584,48 +2579,43 @@ login_url = option['login_url'].to_s
2584
2579
  else
2585
2580
 
2586
2581
  begin
2587
- wait = Selenium::WebDriver::Wait.new(timeout: 20) # 최대 20초 대기
2588
- wait.until { @driver.execute_script("return document.readyState") == "complete" } # 페이지가 완전히 로드될 때까지 기다림
2582
+ wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
2583
+ wait.until { @driver.execute_script("return document.readyState") == "complete" }
2589
2584
  @driver.get(login_url)
2590
2585
  sleep(1)
2591
2586
  puts '-[√] 로그인 페이지 URL 이동.......'.magenta
2587
+ # Alert 처리 부분
2592
2588
  begin
2593
- wait = Selenium::WebDriver::Wait.new(timeout: 3) # 3초 동안 대기
2594
- wait.until do
2595
- begin
2596
- @driver.switch_to.alert.accept
2597
- true
2598
- rescue Selenium::WebDriver::Error::NoSuchAlertError
2599
- false
2600
- end
2601
- end
2602
- rescue Selenium::WebDriver::Error::TimeoutError
2589
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
2590
+ alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
2591
+ alert.accept # 알림을 확인
2592
+ rescue
2593
+ # 알림이 나타나지 않으면 예외 처리하고 넘어감
2603
2594
  end
2604
2595
 
2605
- rescue Selenium::WebDriver::Error::UnknownError => e
2606
- puts "#{signup_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
2607
- # 열린 모든 창을 닫음
2608
- @driver.window_handles.each do |handle|
2609
- @driver.switch_to.window(handle)
2610
- begin
2611
- @driver.close
2612
- rescue Selenium::WebDriver::Error::WebDriverError => e
2613
- puts "사이트 내부에 예외 발생: #{e.message}"
2596
+ rescue Selenium::WebDriver::Error::UnknownError => e
2597
+ puts "#{login_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
2598
+ # 열린 모든 창을 닫음
2599
+ @driver.window_handles.each do |handle|
2600
+ @driver.switch_to.window(handle)
2601
+ begin
2602
+ @driver.close
2603
+ rescue Selenium::WebDriver::Error::WebDriverError => e
2604
+ puts "사이트 내부에 예외 발생: #{e.message}"
2605
+ end
2614
2606
  end
2607
+
2608
+ # 드라이버 종료
2609
+ @driver.quit if @driver
2610
+ return 0
2611
+
2612
+ rescue Selenium::WebDriver::Error::TimeoutError => e
2613
+ puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
2614
+ @driver.quit if @driver
2615
+ return 0
2616
+
2617
+ rescue
2615
2618
  end
2616
-
2617
- # 드라이버 종료
2618
- @driver.quit if @driver
2619
- return 0
2620
- rescue Selenium::WebDriver::Error::TimeoutError => e
2621
- puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
2622
- @driver.quit if @driver
2623
- return 0
2624
- rescue => e
2625
- puts "사이트 내부에 알 수 없는 오류 발생: #{e.message}"
2626
- @driver.quit if @driver
2627
- return 0
2628
- end
2629
2619
 
2630
2620
 
2631
2621
 
@@ -3759,17 +3749,14 @@ login_url = option['login_url'].to_s
3759
3749
  end
3760
3750
  end
3761
3751
  ##로그인 버튼 코드 부분─────────────────────────────────────────────────────────────────────<
3752
+
3753
+ # Alert 처리 부분
3762
3754
  begin
3763
- wait = Selenium::WebDriver::Wait.new(timeout: 3) # 3초 동안 대기
3764
- wait.until do
3765
- begin
3766
- @driver.switch_to.alert.accept
3767
- true
3768
- rescue Selenium::WebDriver::Error::NoSuchAlertError
3769
- false
3770
- end
3771
- end
3772
- rescue Selenium::WebDriver::Error::TimeoutError
3755
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
3756
+ alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
3757
+ alert.accept # 알림을 확인
3758
+ rescue
3759
+ # 알림이 나타나지 않으면 예외 처리하고 넘어감
3773
3760
  end
3774
3761
 
3775
3762
  end
@@ -3797,47 +3784,43 @@ begin
3797
3784
  else
3798
3785
 
3799
3786
  begin
3800
- wait = Selenium::WebDriver::Wait.new(timeout: 20) # 최대 20초 대기
3801
- wait.until { @driver.execute_script("return document.readyState") == "complete" } # 페이지가 완전히 로드될 때까지 기다림
3787
+ wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
3788
+ wait.until { @driver.execute_script("return document.readyState") == "complete" }
3802
3789
  @driver.get(cc_check_url)
3803
3790
  sleep(1)
3804
3791
  puts '-[√] 출석체크 페이지 URL 이동.......'.magenta
3792
+ # Alert 처리 부분
3805
3793
  begin
3806
- wait = Selenium::WebDriver::Wait.new(timeout: 3) # 3초 동안 대기
3807
- wait.until do
3808
- begin
3809
- @driver.switch_to.alert.accept
3810
- true
3811
- rescue Selenium::WebDriver::Error::NoSuchAlertError
3812
- false
3813
- end
3814
- end
3815
- rescue Selenium::WebDriver::Error::TimeoutError
3794
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
3795
+ alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
3796
+ alert.accept # 알림을 확인
3797
+ rescue
3798
+ # 알림이 나타나지 않으면 예외 처리하고 넘어감
3816
3799
  end
3817
- rescue Selenium::WebDriver::Error::UnknownError => e
3818
- puts "#{signup_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
3819
- # 열린 모든 창을 닫음
3820
- @driver.window_handles.each do |handle|
3821
- @driver.switch_to.window(handle)
3822
- begin
3823
- @driver.close
3824
- rescue Selenium::WebDriver::Error::WebDriverError => e
3825
- puts "사이트 내부에 예외 발생: #{e.message}"
3800
+
3801
+ rescue Selenium::WebDriver::Error::UnknownError => e
3802
+ puts "#{cc_check_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
3803
+ # 열린 모든 창을 닫음
3804
+ @driver.window_handles.each do |handle|
3805
+ @driver.switch_to.window(handle)
3806
+ begin
3807
+ @driver.close
3808
+ rescue Selenium::WebDriver::Error::WebDriverError => e
3809
+ puts "사이트 내부에 예외 발생: #{e.message}"
3810
+ end
3826
3811
  end
3812
+
3813
+ # 드라이버 종료
3814
+ @driver.quit if @driver
3815
+ return 0
3816
+
3817
+ rescue Selenium::WebDriver::Error::TimeoutError => e
3818
+ puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
3819
+ @driver.quit if @driver
3820
+ return 0
3821
+
3822
+ rescue
3827
3823
  end
3828
-
3829
- # 드라이버 종료
3830
- @driver.quit if @driver
3831
- return 0
3832
- rescue Selenium::WebDriver::Error::TimeoutError => e
3833
- puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
3834
- @driver.quit if @driver
3835
- return 0
3836
- rescue => e
3837
- puts "사이트 내부에 알 수 없는 오류 발생: #{e.message}"
3838
- @driver.quit if @driver
3839
- return 0
3840
- end
3841
3824
 
3842
3825
 
3843
3826
 
@@ -4018,17 +4001,14 @@ begin
4018
4001
  end
4019
4002
 
4020
4003
  ##<─────────────────────────────────────────────────────────────────────출석 체크 입력 코드 부분
4021
- begin
4022
- wait = Selenium::WebDriver::Wait.new(timeout: 3) # 3초 동안 대기
4023
- wait.until do
4024
- begin
4025
- @driver.switch_to.alert.accept
4026
- true
4027
- rescue Selenium::WebDriver::Error::NoSuchAlertError
4028
- false
4029
- end
4030
- end
4031
- rescue Selenium::WebDriver::Error::TimeoutError
4004
+
4005
+ # Alert 처리 부분
4006
+ begin
4007
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
4008
+ alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
4009
+ alert.accept # 알림을 확인
4010
+ rescue
4011
+ # 알림이 나타나지 않으면 예외 처리하고 넘어감
4032
4012
  end
4033
4013
 
4034
4014
 
@@ -4058,47 +4038,43 @@ post_url = option['post_url'].to_s
4058
4038
 
4059
4039
 
4060
4040
  begin
4061
- wait = Selenium::WebDriver::Wait.new(timeout: 20) # 최대 20초 대기
4062
- wait.until { @driver.execute_script("return document.readyState") == "complete" } # 페이지가 완전히 로드될 때까지 기다림
4041
+ wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 최대 20초 대기
4042
+ wait.until { @driver.execute_script("return document.readyState") == "complete" }
4063
4043
  @driver.get(post_url)
4064
4044
  sleep(1)
4065
4045
  puts '-[√] 글쓰기 페이지 URL 이동.......'.magenta
4046
+ # Alert 처리 부분
4066
4047
  begin
4067
- wait = Selenium::WebDriver::Wait.new(timeout: 3) # 3초 동안 대기
4068
- wait.until do
4069
- begin
4070
- @driver.switch_to.alert.accept
4071
- true
4072
- rescue Selenium::WebDriver::Error::NoSuchAlertError
4073
- false
4074
- end
4075
- end
4076
- rescue Selenium::WebDriver::Error::TimeoutError
4048
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3) # 3초 대기
4049
+ alert = wait.until { driver.switch_to.alert } # alert가 나타날 때까지 기다림
4050
+ alert.accept # 알림을 확인
4051
+ rescue
4052
+ # 알림이 나타나지 않으면 예외 처리하고 넘어감
4077
4053
  end
4078
- rescue Selenium::WebDriver::Error::UnknownError => e
4079
- puts "#{signup_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
4080
- # 열린 모든 창을 닫음
4081
- @driver.window_handles.each do |handle|
4082
- @driver.switch_to.window(handle)
4083
- begin
4084
- @driver.close
4085
- rescue Selenium::WebDriver::Error::WebDriverError => e
4086
- puts "사이트 내부에 예외 발생: #{e.message}"
4054
+
4055
+ rescue Selenium::WebDriver::Error::UnknownError => e
4056
+ puts "#{post_url} 해당 사이트의 문제로 접속이 불가능합니다." # 오류 메시지 출력
4057
+ # 열린 모든 창을 닫음
4058
+ @driver.window_handles.each do |handle|
4059
+ @driver.switch_to.window(handle)
4060
+ begin
4061
+ @driver.close
4062
+ rescue Selenium::WebDriver::Error::WebDriverError => e
4063
+ puts "사이트 내부에 예외 발생: #{e.message}"
4064
+ end
4087
4065
  end
4066
+
4067
+ # 드라이버 종료
4068
+ @driver.quit if @driver
4069
+ return 0
4070
+
4071
+ rescue Selenium::WebDriver::Error::TimeoutError => e
4072
+ puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
4073
+ @driver.quit if @driver
4074
+ return 0
4075
+
4076
+ rescue
4088
4077
  end
4089
-
4090
- # 드라이버 종료
4091
- @driver.quit if @driver
4092
- return 0
4093
- rescue Selenium::WebDriver::Error::TimeoutError => e
4094
- puts "웹 페이지 로드가 시간 초과되었습니다: #{e.message}"
4095
- @driver.quit if @driver
4096
- return 0
4097
- rescue => e
4098
- puts "사이트 내부에 알 수 없는 오류 발생: #{e.message}"
4099
- @driver.quit if @driver
4100
- return 0
4101
- end
4102
4078
 
4103
4079
 
4104
4080
 
@@ -9493,56 +9469,43 @@ class Wordpress
9493
9469
 
9494
9470
  # ADB 서버 초기화
9495
9471
  puts 'adb kill-server'
9496
- Open3.capture3('adb kill-server')
9497
- sleep(2)
9472
+ Open3.capture3('./adb kill-server')
9473
+ sleep(3)
9498
9474
 
9499
9475
  # 다시 ADB 서버 실행
9500
9476
  puts 'adb start-server'
9501
- Open3.capture3('adb start-server')
9502
- sleep(2)
9477
+ Open3.capture3('./adb start-server')
9478
+ sleep(3)
9503
9479
 
9504
9480
  # 데이터를 끄고 켜기
9505
9481
  puts 'adb -s ' + device_id + ' shell svc data disable'
9506
- stdout2, stderr2, status2 = Open3.capture3('./adb -s ' + device_id + ' shell svc data disable')
9507
-
9508
- if status2.success?
9509
- sleep(3)
9510
- puts 'adb -s ' + device_id + ' shell svc data enable'
9511
- Open3.capture3('./adb -s ' + device_id + ' shell svc data enable')
9512
- sleep(3)
9513
- puts 'adb ok'
9514
- sleep(8)
9515
-
9516
- # IP 변경을 확인하는 람다 함수
9517
- robot_ip = lambda do
9518
- loop do # 무한 루프
9519
- begin
9520
- http = HTTP.get('https://www.findip.kr/')
9521
- noko = Nokogiri::HTML(http.to_s)
9522
- new_ip = noko.xpath('/html/body/header/h2').text.strip
9523
-
9524
- if new_ip != @my_ip
9525
- @my_ip = new_ip
9526
- puts "IP 변경됨: #{@my_ip}"
9527
- break # IP가 변경되었으면 루프 종료
9528
- else
9529
- puts 'IP가 변경되지 않음. 재시도...'
9530
- sleep(3) # 3초 후 재시도
9531
- end
9532
- rescue => e
9533
- puts "IP 확인 중 오류 발생: #{e.message}. 재시도 중..."
9534
- sleep(3) # 3초 후 재시도
9535
- end
9536
- end
9482
+ stdout2, stderr2, status2 = Open3.capture3('./adb -s '+device_id+' shell svc data disable')
9483
+ sleep(3)
9484
+ puts 'adb -s ' + device_id + ' shell svc data enable'
9485
+ Open3.capture3('./adb -s '+device_id+' shell svc data enable')
9486
+ sleep(3)
9487
+ puts 'adb ok'
9488
+ sleep(8)
9489
+
9490
+ robot_ip = lambda do
9491
+ http = HTTP.get('https://www.findip.kr/')
9492
+ noko = Nokogiri::HTML(http.to_s)
9493
+ if noko.xpath('/html/body/header/h2').text != @my_ip
9494
+ @my_ip = noko.xpath('/html/body/header/h2').text
9495
+ puts "IP 변경됨[ #{@my_ip} ]"
9496
+ else
9497
+ puts @my_ip
9498
+ puts '제시도...'
9499
+ sleep(3)
9500
+ robot_ip[]
9537
9501
  end
9538
- robot_ip[] # 최초 호출
9539
- else
9540
- puts 'Failed to disable data. Error: ' + stderr2
9541
- end
9502
+ end
9503
+ robot_ip[]
9504
+
9542
9505
  else
9543
- puts 'adb error, unable to get devices. Error: ' + stderr
9506
+ puts 'adb error pass'
9544
9507
  end
9545
- end
9508
+ end
9546
9509
 
9547
9510
  check_success = 1
9548
9511
  @data['table'][index][-1] = 0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: posting_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.53
4
+ version: 0.0.57
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-02-10 00:00:00.000000000 Z
11
+ date: 2025-02-12 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com