cafe_basics_duo 0.0.37 → 0.0.50

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/cafe_basics_duo.rb +60 -18
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb796dc17c7d63e185a702a8ff258c1fbea1896b8c268b3bd72ddf259aef8229
4
- data.tar.gz: 5eab76415b9122a2ebb4980d68704d2aa928a03746d079d2d1e5a1c6fdb7384e
3
+ metadata.gz: 7f897fe72200a4eb5048bf8743bbffaa985971fa930ff67a32d51df2b026bc91
4
+ data.tar.gz: 9c94429b6e70b037974ed48c776095487f81f76731887b186cf82b0cda19d4f2
5
5
  SHA512:
6
- metadata.gz: b44c8c2796bef4812ad64cf3c01cafe46664d2317b083ac511c18086d8b137f0cde8aa369c54f0f269b019da47d07286f2f528609cc143f03cdbd8771069a7cc
7
- data.tar.gz: a6308a54ed876a01868dbabe503a81a4b50b445f41124160ba5c1ca014f5571b288e7398897d7c437d1df142b581957fe7a3761149a036bcc8351610e643d324
6
+ metadata.gz: ee0cae2823090f316c699afc9948d27d193e7575ed28786a11284d10e68b4fa30148cf78e686459471a0bfd4cc7e3cb2cd546dadd569b1d8976e4432f9722a6c
7
+ data.tar.gz: 193aa1f21ee97af821c6dabee753e94f9d3b6d0fef43ef1f06b589cfb595e3c15f5f58f0ac44e9621c27b3711adc37aa469e41c94c1070d4708ffa77915cce09
@@ -2190,36 +2190,78 @@ class Wordpress
2190
2190
  puts table[10]
2191
2191
  if table[7].to_i > table[10].to_i
2192
2192
  if @data['포스트설정']['테더링'].checked?
2193
- puts 'tedering ip change...'
2193
+ puts 'tethering ip change...'
2194
+
2195
+ # ADB devices 확인
2194
2196
  stdout, stderr, status = Open3.capture3('./adb devices')
2195
- if status.success?
2196
- device_id = stdout.split("\n")[1].split("\t")[0]
2197
- puts device_id
2198
- puts 'adb -s '+device_id+' shell svc data disable'
2199
- stdout2, stderr2, status2 = Open3.capture3('./adb -s '+device_id+' shell svc data disable')
2197
+ if status.success?
2198
+ device_id = stdout.split("\n")[1].split("\t")[0]
2199
+ puts device_id
2200
+
2201
+ # ADB 서버 초기화
2202
+ puts 'adb kill-server'
2203
+ Open3.capture3('adb kill-server')
2204
+ sleep(2)
2205
+
2206
+ # 다시 ADB 서버 실행
2207
+ puts 'adb start-server'
2208
+ Open3.capture3('adb start-server')
2209
+ sleep(2)
2210
+
2211
+ # 데이터를 끄고 켜기
2212
+ puts 'adb -s ' + device_id + ' shell svc data disable'
2213
+ stdout2, stderr2, status2 = Open3.capture3('./adb -s ' + device_id + ' shell svc data disable')
2214
+
2215
+ if status2.success?
2200
2216
  sleep(3)
2201
- puts 'adb -s '+device_id+' shell svc data enable'
2202
- Open3.capture3('./adb -s '+device_id+' shell svc data enable')
2217
+ puts 'adb -s ' + device_id + ' shell svc data enable'
2218
+ Open3.capture3('./adb -s ' + device_id + ' shell svc data enable')
2203
2219
  sleep(3)
2204
2220
  puts 'adb ok'
2205
2221
  sleep(8)
2206
- robot_ip = lambda do
2222
+
2223
+ # IP 확인 및 재시도 (반복문 사용)
2224
+ retry_count = 0
2225
+ max_retries = 5
2226
+ current_ip = nil
2227
+
2228
+ # 무한 루프 방지
2229
+ while retry_count < max_retries
2230
+ begin
2207
2231
  http = HTTP.get('https://www.findip.kr/')
2208
2232
  noko = Nokogiri::HTML(http.to_s)
2209
- if noko.xpath('/html/body/header/h2').text != @my_ip
2210
- @my_ip = noko.xpath('/html/body/header/h2').text
2233
+ new_ip = noko.xpath('/html/body/header/h2').text.strip
2234
+
2235
+ puts "Current IP: #{@my_ip}, New IP: #{new_ip}"
2236
+
2237
+ # IP가 변경되었으면 @my_ip를 갱신하고 종료
2238
+ if new_ip != @my_ip
2239
+ @my_ip = new_ip
2240
+ puts "IP 변경됨: #{@my_ip}"
2241
+ break
2211
2242
  else
2212
- puts @my_ip
2213
- puts '재시도...'
2214
- sleep(3)
2215
- robot_ip[]
2243
+ puts 'IP가 변경되지 않음. 재시도...'
2244
+ retry_count += 1
2245
+ sleep(3) # 3초 후 재시도
2216
2246
  end
2247
+ rescue => e
2248
+ retry_count += 1
2249
+ sleep(3) # 3초 후 재시도
2250
+ end
2251
+
2252
+ # 최대 재시도 횟수를 초과하면 예외 발생시키기
2253
+ if retry_count >= max_retries
2254
+ raise "최대 재시도 횟수 초과. IP 변경 실패."
2255
+ end
2217
2256
  end
2218
- robot_ip[]
2257
+ else
2258
+ puts 'Failed to disable data. Error: ' + stderr2
2259
+ end
2219
2260
  else
2220
- puts 'adb error pass'
2261
+ puts 'adb error, unable to get devices. Error: ' + stderr
2221
2262
  end
2222
- end
2263
+ end
2264
+
2223
2265
 
2224
2266
  check_success = 1
2225
2267
  @data['table'][index][-1] = 0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_basics_duo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.37
4
+ version: 0.0.50
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon