duo_blog_cafe_comment 0.0.15 → 0.0.20
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 +4 -4
- data/lib/duo_blog_cafe_comment.rb +373 -85
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3c80231e4de339a74a4dbfdbaace57d0e240bb70ee22df903e5f4a55978fd72c
|
4
|
+
data.tar.gz: 218e3410aca8237082bda4d51108b88f4c12ad246323b6b98502fea0cae0412f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7ca35144088e62fa08806bf17d2f7b60f7059c298f3013e305c4b8567da04975e73567938f7134e609eeb1dc71e90c0c8d3f6563f3571e04df3aaf0d246efc80
|
7
|
+
data.tar.gz: f6c927d45eea02fc96da21e1331fd439cfb71829a21e5ca754eb9fbfccb0a89d94ad8f31ccffc3d7352796d27350352e6bedb8766500a8ffa09f898f7b127647
|
@@ -232,11 +232,12 @@ class Naver
|
|
232
232
|
return answer
|
233
233
|
end
|
234
234
|
|
235
|
-
def update(content,board_url,nickname,image,option,counts_number,keyword,api_key)
|
235
|
+
def update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key)
|
236
236
|
@board_url = board_url
|
237
237
|
@keyword = keyword
|
238
238
|
@content = content
|
239
239
|
@api_key = api_key
|
240
|
+
@blog_url = blog_url
|
240
241
|
if option['카페사용모드'] == 'true'
|
241
242
|
|
242
243
|
|
@@ -1252,7 +1253,106 @@ class Naver
|
|
1252
1253
|
|
1253
1254
|
page_no = rand(1..100)
|
1254
1255
|
end
|
1255
|
-
|
1256
|
+
|
1257
|
+
elsif option['타겟블로그'] == 'true'
|
1258
|
+
@driver.get(blog_url)
|
1259
|
+
|
1260
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 아이프레임 선택
|
1261
|
+
wait.until { @driver.find_element(:xpath, '//*[@id="mainFrame"]') } # 아이프레임 선택
|
1262
|
+
sleep(1)
|
1263
|
+
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]')) # 아이프레임 선택
|
1264
|
+
sleep(1)
|
1265
|
+
|
1266
|
+
@driver.find_element(:xpath, '//*[@id="toplistSpanBlind"]').click
|
1267
|
+
sleep(1)
|
1268
|
+
element = @driver.find_element(:xpath, '//*[@class="aline"]')
|
1269
|
+
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element)#크롤 이동
|
1270
|
+
sleep(2)
|
1271
|
+
element = @driver.find_element(:xpath, '//*[@class="aline"]').click
|
1272
|
+
sleep(1)
|
1273
|
+
@driver.find_element(:xpath, '//div[@id="changeListCount"]//a[@data-value="30"]').click
|
1274
|
+
|
1275
|
+
@driver.switch_to.default_content
|
1276
|
+
|
1277
|
+
|
1278
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 20) # 아이프레임 선택
|
1279
|
+
wait.until { @driver.find_element(:xpath, '//*[@id="mainFrame"]') } # 아이프레임 선택
|
1280
|
+
sleep(1)
|
1281
|
+
@driver.switch_to.frame(@driver.find_element(:xpath, '//*[@id="mainFrame"]')) # 아이프레임 선택
|
1282
|
+
sleep(1)
|
1283
|
+
|
1284
|
+
# 수집된 URL을 저장할 배열
|
1285
|
+
collected_urls = []
|
1286
|
+
|
1287
|
+
# 현재 페이지에서 수집할 링크 개수
|
1288
|
+
remaining_count = counts_number
|
1289
|
+
|
1290
|
+
# 페이지 번호
|
1291
|
+
page_number = 1
|
1292
|
+
|
1293
|
+
# 페이지가 끝날 때까지 반복
|
1294
|
+
while remaining_count > 0
|
1295
|
+
# 요소가 로드될 때까지 대기
|
1296
|
+
wait = Selenium::WebDriver::Wait.new(:timeout => 10)
|
1297
|
+
wait.until { @driver.find_element(:xpath, '//form[@name="listTopForm"]//tbody//tr//td[@class="title"]//div[@class="wrap_td"]//span[@class="ell2 pcol2"]//a[@href]') }
|
1298
|
+
|
1299
|
+
# 현재 페이지에서 링크 수집 (form 태그 내에서 a 태그를 찾음)
|
1300
|
+
links = @driver.find_elements(:xpath, '//form[@name="listTopForm"]//tbody//tr//td[@class="title"]//div[@class="wrap_td"]//span[@class="ell2 pcol2"]//a[@href]') # 정확한 XPath 경로로 a 태그 찾기
|
1301
|
+
|
1302
|
+
links.each do |link|
|
1303
|
+
post_url = link.attribute('href')
|
1304
|
+
if post_url && collected_urls.length < counts_number
|
1305
|
+
# 기존 URL에서 blogId와 logNo를 추출하여 변형
|
1306
|
+
if post_url.include?("blog.naver.com/PostView.naver")
|
1307
|
+
# URL에서 blogId와 logNo 추출
|
1308
|
+
blog_id = post_url.split("blogId=")[1].split("&")[0]
|
1309
|
+
log_no = post_url.split("logNo=")[1].split("&")[0]
|
1310
|
+
|
1311
|
+
# 변형된 URL 생성
|
1312
|
+
new_url = "https://blog.naver.com/#{blog_id}/#{log_no}"
|
1313
|
+
|
1314
|
+
# 변형된 URL을 배열에 추가
|
1315
|
+
collected_urls << new_url
|
1316
|
+
remaining_count -= 1
|
1317
|
+
end
|
1318
|
+
end
|
1319
|
+
end
|
1320
|
+
|
1321
|
+
# 수집된 개수가 요구한 수에 도달하면 종료
|
1322
|
+
break if collected_urls.length >= counts_number
|
1323
|
+
|
1324
|
+
# 10페이지까지 수집되었고, 다음 페이지가 있으면 "다음" 버튼 클릭하여 계속 수집
|
1325
|
+
if page_number % 10 == 0
|
1326
|
+
begin
|
1327
|
+
# "다음" 링크 찾기 (다음 페이지 링크)
|
1328
|
+
next_page_link = @driver.find_element(:xpath, "//a[text()='다음']")
|
1329
|
+
next_page_link.click
|
1330
|
+
page_number += 1 # 페이지 번호 증가
|
1331
|
+
sleep(2) # 페이지가 로드되기 전에 잠시 대기
|
1332
|
+
# 페이지가 변경될 때까지 대기
|
1333
|
+
wait.until { @driver.find_element(:xpath, '//form[@name="listTopForm"]//tbody//tr//td[@class="title"]//div[@class="wrap_td"]//span[@class="ell2 pcol2"]//a[@href]') }
|
1334
|
+
rescue Selenium::WebDriver::Error::NoSuchElementError
|
1335
|
+
# 만약 "다음" 버튼이 없으면 종료
|
1336
|
+
break
|
1337
|
+
end
|
1338
|
+
else
|
1339
|
+
# 페이지 번호가 더 있으면 다음 페이지로 이동
|
1340
|
+
begin
|
1341
|
+
next_page_link = @driver.find_element(:xpath, "//a[text()='#{page_number + 1}']")
|
1342
|
+
next_page_link.click
|
1343
|
+
page_number += 1
|
1344
|
+
sleep(2)
|
1345
|
+
# 페이지가 변경될 때까지 대기
|
1346
|
+
wait.until { @driver.find_element(:xpath, '//form[@name="listTopForm"]//tbody//tr//td[@class="title"]//div[@class="wrap_td"]//span[@class="ell2 pcol2"]//a[@href]') }
|
1347
|
+
rescue Selenium::WebDriver::Error::NoSuchElementError
|
1348
|
+
# 만약 다음 페이지 링크가 없으면 종료
|
1349
|
+
break
|
1350
|
+
end
|
1351
|
+
end
|
1352
|
+
end
|
1353
|
+
|
1354
|
+
@driver.switch_to.default_content
|
1355
|
+
end
|
1256
1356
|
|
1257
1357
|
collected_urls.each do |url|
|
1258
1358
|
# 각 post-url로 이동
|
@@ -1751,66 +1851,93 @@ class Naver
|
|
1751
1851
|
# '이모티콘' 버튼 클릭
|
1752
1852
|
@driver.find_element(:xpath, '//*[@data-action="write#beforeToggleSticker"]').click
|
1753
1853
|
sleep(1)
|
1754
|
-
|
1755
|
-
|
1756
|
-
|
1757
|
-
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
1761
|
-
|
1762
|
-
|
1763
|
-
|
1764
|
-
|
1765
|
-
|
1766
|
-
|
1767
|
-
|
1768
|
-
|
1769
|
-
|
1770
|
-
|
1771
|
-
|
1772
|
-
|
1773
|
-
|
1774
|
-
|
1775
|
-
|
1776
|
-
|
1777
|
-
|
1778
|
-
|
1779
|
-
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
|
1784
|
-
|
1785
|
-
|
1786
|
-
|
1787
|
-
|
1788
|
-
|
1854
|
+
|
1855
|
+
actions = [
|
1856
|
+
lambda {
|
1857
|
+
begin
|
1858
|
+
@driver.find_element(:xpath, '//*[@data-param="motion2d_01"]').click
|
1859
|
+
sleep(2)
|
1860
|
+
|
1861
|
+
random_number = (1..24).to_a.sample
|
1862
|
+
@driver.find_element(:xpath, '//div[@class="u_cbox_sticker_area"]//ul[@data-id="motion2d_01"]//li[@class="u_cbox_sticker_item"]//button[@data-param="motion2d_01-'+random_number.to_s+'"]').click
|
1863
|
+
sleep(2)
|
1864
|
+
|
1865
|
+
rescue
|
1866
|
+
end
|
1867
|
+
},
|
1868
|
+
lambda {
|
1869
|
+
|
1870
|
+
begin
|
1871
|
+
@driver.find_element(:xpath, '//*[@data-param="motion3d_02"]').click
|
1872
|
+
sleep(2)
|
1873
|
+
|
1874
|
+
random_number = (1..24).to_a.sample
|
1875
|
+
@driver.find_element(:xpath, '//div[@class="u_cbox_sticker_area"]//ul[@data-id="motion3d_02"]//li[@class="u_cbox_sticker_item"]//button[@data-param="motion3d_02-'+random_number.to_s+'"]').click
|
1876
|
+
sleep(1)
|
1877
|
+
@driver.action.key_down(:enter).key_up(:enter).perform
|
1878
|
+
sleep(2)
|
1879
|
+
|
1880
|
+
|
1881
|
+
rescue
|
1882
|
+
end
|
1883
|
+
},
|
1884
|
+
lambda {
|
1885
|
+
|
1886
|
+
begin
|
1887
|
+
@driver.find_element(:xpath, '//*[@data-param="cafe_004"]').click
|
1888
|
+
sleep(2)
|
1889
|
+
|
1890
|
+
random_number = (1..28).to_a.sample
|
1891
|
+
@driver.find_element(:xpath, '//div[@class="u_cbox_sticker_area"]//ul[@data-id="cafe_004"]//li[@class="u_cbox_sticker_item"]//button[@data-param="cafe_004-'+random_number.to_s+'"]').click
|
1892
|
+
sleep(2)
|
1893
|
+
|
1894
|
+
rescue
|
1789
1895
|
end
|
1896
|
+
},
|
1897
|
+
lambda {
|
1790
1898
|
|
1791
|
-
|
1792
|
-
|
1793
|
-
|
1794
|
-
|
1899
|
+
begin
|
1900
|
+
@driver.find_element(:xpath, '//*[@data-param="cafe_005"]').click
|
1901
|
+
sleep(2)
|
1902
|
+
|
1903
|
+
random_number = (1..26).to_a.sample
|
1904
|
+
@driver.find_element(:xpath, '//div[@class="u_cbox_sticker_area"]//ul[@data-id="cafe_005"]//li[@class="u_cbox_sticker_item"]//button[@data-param="cafe_005-'+random_number.to_s+'"]').click
|
1905
|
+
sleep(2)
|
1906
|
+
|
1907
|
+
rescue
|
1908
|
+
end
|
1909
|
+
},
|
1910
|
+
lambda {
|
1911
|
+
|
1912
|
+
begin
|
1913
|
+
@driver.find_element(:xpath, '//*[@data-param="cafe_001"]').click
|
1914
|
+
sleep(2)
|
1915
|
+
|
1916
|
+
random_number = (1..24).to_a.sample
|
1917
|
+
@driver.find_element(:xpath, '//div[@class="u_cbox_sticker_area"]//ul[@data-id="cafe_001"]//li[@class="u_cbox_sticker_item"]//button[@data-param="cafe_001-'+random_number.to_s+'"]').click
|
1918
|
+
sleep(1)
|
1919
|
+
@driver.action.key_down(:enter).key_up(:enter).perform
|
1920
|
+
sleep(2)
|
1795
1921
|
|
1796
|
-
|
1797
|
-
|
1798
|
-
|
1799
|
-
|
1922
|
+
rescue
|
1923
|
+
end
|
1924
|
+
},
|
1925
|
+
lambda {
|
1926
|
+
|
1927
|
+
begin
|
1928
|
+
@driver.find_element(:xpath, '//*[@data-param="cafe_002"]').click
|
1929
|
+
sleep(2)
|
1800
1930
|
|
1801
|
-
|
1802
|
-
|
1803
|
-
|
1804
|
-
|
1805
|
-
button_to_click.click
|
1931
|
+
random_number = (1..24).to_a.sample
|
1932
|
+
@driver.find_element(:xpath, '//div[@class="u_cbox_sticker_area"]//ul[@data-id="cafe_002"]//li[@class="u_cbox_sticker_item"]//button[@data-param="cafe_002-'+random_number.to_s+'"]').click
|
1933
|
+
sleep(1)
|
1934
|
+
@driver.action.key_down(:enter).key_up(:enter).perform
|
1806
1935
|
sleep(2)
|
1807
|
-
|
1808
|
-
break # 클릭 후 루프 종료
|
1809
|
-
end
|
1810
|
-
end
|
1811
|
-
else
|
1812
|
-
#puts "해당 data-id에 대한 data-param이 없습니다."
|
1936
|
+
rescue
|
1813
1937
|
end
|
1938
|
+
}
|
1939
|
+
]
|
1940
|
+
actions.sample.call
|
1814
1941
|
|
1815
1942
|
|
1816
1943
|
elsif option['이미지자동삽입'] == 'true'
|
@@ -2018,6 +2145,7 @@ class Wordpress
|
|
2018
2145
|
@my_ip = 'init'
|
2019
2146
|
image_soon = 0
|
2020
2147
|
board_url_soon = 0
|
2148
|
+
blog_url_soon = 0
|
2021
2149
|
nickname_soon = 0
|
2022
2150
|
keyword_soon = 0
|
2023
2151
|
@inumber2 = 0
|
@@ -2066,7 +2194,7 @@ class Wordpress
|
|
2066
2194
|
puts 'Tethering IP change...'
|
2067
2195
|
|
2068
2196
|
stdout, stderr, status = Open3.capture3('./adb devices')
|
2069
|
-
|
2197
|
+
|
2070
2198
|
if status.success?
|
2071
2199
|
device_id = stdout.split("\n")[1].split("\t")[0]
|
2072
2200
|
puts device_id
|
@@ -2074,43 +2202,53 @@ class Wordpress
|
|
2074
2202
|
# ADB 서버 초기화
|
2075
2203
|
puts 'adb kill-server'
|
2076
2204
|
Open3.capture3('./adb kill-server')
|
2077
|
-
sleep(
|
2205
|
+
sleep(5) # ADB 서버가 안정될 시간을 충분히 주기
|
2078
2206
|
|
2079
2207
|
# 다시 ADB 서버 실행
|
2080
2208
|
puts 'adb start-server'
|
2081
2209
|
Open3.capture3('./adb start-server')
|
2082
|
-
sleep(
|
2210
|
+
sleep(5) # ADB 서버가 안정될 시간을 충분히 주기
|
2083
2211
|
|
2084
2212
|
# 데이터를 끄고 켜기
|
2085
2213
|
puts 'adb -s ' + device_id + ' shell svc data disable'
|
2086
|
-
stdout2, stderr2, status2 = Open3.capture3('./adb -s '+device_id+' shell svc data disable')
|
2087
|
-
|
2214
|
+
stdout2, stderr2, status2 = Open3.capture3('./adb -s ' + device_id + ' shell svc data disable')
|
2215
|
+
puts "stderr: #{stderr2}" unless status2.success? # 오류 출력
|
2216
|
+
sleep(5) # 네트워크가 안정될 시간을 더 줍니다.
|
2088
2217
|
puts 'adb -s ' + device_id + ' shell svc data enable'
|
2089
|
-
Open3.capture3('./adb -s '+device_id+' shell svc data enable')
|
2090
|
-
|
2218
|
+
stdout3, stderr3, status3 = Open3.capture3('./adb -s ' + device_id + ' shell svc data enable')
|
2219
|
+
puts "stderr: #{stderr3}" unless status3.success? # 오류 출력
|
2220
|
+
sleep(5) # 네트워크가 안정될 시간을 더 줍니다.
|
2091
2221
|
puts 'adb ok'
|
2092
2222
|
sleep(8)
|
2093
|
-
|
2223
|
+
|
2224
|
+
# IP 변경 확인을 위한 람다 함수
|
2094
2225
|
robot_ip = lambda do
|
2095
|
-
|
2096
|
-
|
2097
|
-
|
2098
|
-
|
2226
|
+
begin
|
2227
|
+
# IP 변경 확인
|
2228
|
+
http = HTTP.get('https://www.findip.kr/')
|
2229
|
+
noko = Nokogiri::HTML(http.to_s)
|
2230
|
+
|
2231
|
+
current_ip = noko.xpath('/html/body/header/h2').text.strip
|
2232
|
+
if current_ip != @my_ip
|
2233
|
+
@my_ip = current_ip
|
2099
2234
|
puts "IP 변경됨[ #{@my_ip} ]"
|
2100
|
-
|
2101
|
-
puts @my_ip
|
2102
|
-
puts '
|
2103
|
-
sleep(
|
2104
|
-
robot_ip[]
|
2235
|
+
else
|
2236
|
+
puts "현재 IP: #{@my_ip}"
|
2237
|
+
puts 'IP 변경이 감지되지 않았습니다. 다시 시도합니다...'
|
2238
|
+
sleep(5) # 여유롭게 대기 시간 증가
|
2239
|
+
robot_ip[] # 재시도
|
2240
|
+
end
|
2241
|
+
rescue HTTP::ConnectionError => e
|
2242
|
+
puts "네트워크 오류 발생: #{e.message}. 재시도 중..."
|
2243
|
+
sleep(5) # 재시도 간 여유 시간 추가
|
2244
|
+
retry # 재시도
|
2105
2245
|
end
|
2106
|
-
|
2107
|
-
|
2108
|
-
|
2246
|
+
end
|
2247
|
+
robot_ip[] # IP 확인 시작
|
2109
2248
|
else
|
2110
|
-
|
2249
|
+
puts "adb devices 명령어 실행 실패. stderr: #{stderr}"
|
2111
2250
|
end
|
2112
|
-
|
2113
|
-
|
2251
|
+
end
|
2114
2252
|
|
2115
2253
|
|
2116
2254
|
|
@@ -2183,6 +2321,20 @@ class Wordpress
|
|
2183
2321
|
end
|
2184
2322
|
end
|
2185
2323
|
end
|
2324
|
+
|
2325
|
+
if @data['블로그설정']['블로그'].length == 0
|
2326
|
+
blog_url = ''
|
2327
|
+
else
|
2328
|
+
if @data['블로그설정']['랜덤사용'].checked?
|
2329
|
+
blog_url = @data['블로그설정']['블로그'].sample[1]
|
2330
|
+
else
|
2331
|
+
blog_url = @data['블로그설정']['블로그'][blog_url_soon][1]
|
2332
|
+
blog_url_soon += 1
|
2333
|
+
if blog_url_soon > @data['블로그설정']['블로그'].length-1
|
2334
|
+
blog_url_soon = 0
|
2335
|
+
end
|
2336
|
+
end
|
2337
|
+
end
|
2186
2338
|
|
2187
2339
|
@data['table'][index][-1] = 15
|
2188
2340
|
@data['table'] << []
|
@@ -2222,7 +2374,7 @@ class Wordpress
|
|
2222
2374
|
end
|
2223
2375
|
end
|
2224
2376
|
|
2225
|
-
@data['table'][index][-1] =
|
2377
|
+
@data['table'][index][-1] = 25
|
2226
2378
|
@data['table'] << []
|
2227
2379
|
@data['table'].pop
|
2228
2380
|
|
@@ -2357,6 +2509,12 @@ class Wordpress
|
|
2357
2509
|
else
|
2358
2510
|
option['블로그무작위'] = 'false'
|
2359
2511
|
end
|
2512
|
+
|
2513
|
+
if @data['포스트설정']['타겟블로그'].checked?
|
2514
|
+
option['타겟블로그'] = 'true'
|
2515
|
+
else
|
2516
|
+
option['타겟블로그'] = 'false'
|
2517
|
+
end
|
2360
2518
|
@data['table'][index][-1] = 70
|
2361
2519
|
@data['table'] << []
|
2362
2520
|
@data['table'].pop
|
@@ -2444,7 +2602,7 @@ class Wordpress
|
|
2444
2602
|
# 댓글 설정 수 카운트
|
2445
2603
|
counts_number = @data['table'][index][6].to_i
|
2446
2604
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
2447
|
-
naver.update(content,board_url,nickname,image,option,counts_number,keyword,api_key)
|
2605
|
+
naver.update(content,board_url,blog_url,nickname,image,option,counts_number,keyword,api_key)
|
2448
2606
|
|
2449
2607
|
|
2450
2608
|
|
@@ -2494,7 +2652,8 @@ class Wordpress
|
|
2494
2652
|
@data['내용설정']['내용'] = [[false, '']]
|
2495
2653
|
@data['이미지설정'] = Hash.new
|
2496
2654
|
@data['이미지설정']['이미지'] = [[false, '']]
|
2497
|
-
|
2655
|
+
@data['블로그설정'] = Hash.new
|
2656
|
+
@data['블로그설정']['블로그'] = [[false, '']]
|
2498
2657
|
@data['포스트설정'] = Hash.new
|
2499
2658
|
@data['table'] = [[false, '', '', '', '','','']]
|
2500
2659
|
|
@@ -2658,6 +2817,14 @@ class Wordpress
|
|
2658
2817
|
|
2659
2818
|
@data['닉네임설정']['닉네임'].pop
|
2660
2819
|
end
|
2820
|
+
|
2821
|
+
while true
|
2822
|
+
if @data['블로그설정']['블로그'].length == 0
|
2823
|
+
break
|
2824
|
+
end
|
2825
|
+
|
2826
|
+
@data['블로그설정']['블로그'].pop
|
2827
|
+
end
|
2661
2828
|
|
2662
2829
|
|
2663
2830
|
}
|
@@ -3077,6 +3244,106 @@ class Wordpress
|
|
3077
3244
|
|
3078
3245
|
cell_rows @data['게시판설정']['게시판']
|
3079
3246
|
}
|
3247
|
+
|
3248
|
+
horizontal_box{
|
3249
|
+
stretchy false
|
3250
|
+
button(' 블로그url 불러오기 '){
|
3251
|
+
on_clicked{
|
3252
|
+
file = open_file
|
3253
|
+
if file != nil
|
3254
|
+
file_data = File.open(file, 'r', :encoding => 'utf-8').read()
|
3255
|
+
file_data.split("\n").each do |blog_url|
|
3256
|
+
if blog_url.split(' ').join('').length < 2
|
3257
|
+
|
3258
|
+
else
|
3259
|
+
@data['블로그설정']['블로그'] << [false, blog_url]
|
3260
|
+
@data['블로그설정']['블로그'] << [false, blog_url]
|
3261
|
+
@data['블로그설정']['블로그'].pop
|
3262
|
+
end
|
3263
|
+
end
|
3264
|
+
end
|
3265
|
+
}
|
3266
|
+
}
|
3267
|
+
}
|
3268
|
+
|
3269
|
+
horizontal_box{
|
3270
|
+
stretchy false
|
3271
|
+
grid{
|
3272
|
+
button(' 전체선택 '){
|
3273
|
+
top 1
|
3274
|
+
left 0
|
3275
|
+
on_clicked{
|
3276
|
+
for n in 0..@data['블로그설정']['블로그'].length-1
|
3277
|
+
@data['블로그설정']['블로그'][n][0] = true
|
3278
|
+
@data['블로그설정']['블로그'] << []
|
3279
|
+
@data['블로그설정']['블로그'].pop
|
3280
|
+
end
|
3281
|
+
}
|
3282
|
+
}
|
3283
|
+
button(' 선택해제 '){
|
3284
|
+
top 1
|
3285
|
+
left 1
|
3286
|
+
on_clicked{
|
3287
|
+
for n in 0..@data['블로그설정']['블로그'].length-1
|
3288
|
+
@data['블로그설정']['블로그'][n][0] = false
|
3289
|
+
@data['블로그설정']['블로그'] << []
|
3290
|
+
@data['블로그설정']['블로그'].pop
|
3291
|
+
end
|
3292
|
+
}
|
3293
|
+
}
|
3294
|
+
button(' 삭제하기 '){
|
3295
|
+
top 1
|
3296
|
+
left 2
|
3297
|
+
on_clicked{
|
3298
|
+
m = Array.new
|
3299
|
+
for n in 0..@data['블로그설정']['블로그'].length-1
|
3300
|
+
if @data['블로그설정']['블로그'][n][0] == true
|
3301
|
+
m << n
|
3302
|
+
end
|
3303
|
+
end
|
3304
|
+
|
3305
|
+
m.reverse.each do |i|
|
3306
|
+
@data['블로그설정']['블로그'].delete_at(i)
|
3307
|
+
end
|
3308
|
+
@data['블로그설정']['블로그'].delete(nil)
|
3309
|
+
}
|
3310
|
+
}
|
3311
|
+
}
|
3312
|
+
|
3313
|
+
horizontal_box{
|
3314
|
+
stretchy false
|
3315
|
+
@data['블로그설정']['순서사용'] = checkbox('순서사용'){
|
3316
|
+
stretchy false
|
3317
|
+
on_toggled{ |c|
|
3318
|
+
if c.checked?
|
3319
|
+
@data['블로그설정']['랜덤사용'].checked = false
|
3320
|
+
end
|
3321
|
+
}
|
3322
|
+
}
|
3323
|
+
@data['블로그설정']['랜덤사용'] = checkbox('랜덤사용'){
|
3324
|
+
stretchy false
|
3325
|
+
on_toggled{ |c|
|
3326
|
+
if c.checked?
|
3327
|
+
@data['블로그설정']['순서사용'].checked = false
|
3328
|
+
end
|
3329
|
+
}
|
3330
|
+
}
|
3331
|
+
}
|
3332
|
+
}
|
3333
|
+
|
3334
|
+
table{
|
3335
|
+
checkbox_column('선택'){
|
3336
|
+
editable true
|
3337
|
+
}
|
3338
|
+
|
3339
|
+
text_column('블로그url'){
|
3340
|
+
|
3341
|
+
}
|
3342
|
+
|
3343
|
+
cell_rows @data['블로그설정']['블로그']
|
3344
|
+
}
|
3345
|
+
|
3346
|
+
|
3080
3347
|
|
3081
3348
|
}
|
3082
3349
|
vertical_separator{
|
@@ -3673,6 +3940,7 @@ class Wordpress
|
|
3673
3940
|
@data['포스트설정']['블로그키워드검색최신순'].enabled = false # '내용투명' 활성화
|
3674
3941
|
@data['포스트설정']['블로그키워드검색인기순'].enabled = false # '내용투명' 활성화
|
3675
3942
|
@data['포스트설정']['블로그무작위'].enabled = false # '내용투명' 활성화
|
3943
|
+
@data['포스트설정']['타겟블로그'].enabled = false # '내용투명' 활성화
|
3676
3944
|
@data['포스트설정']['이웃추가'].enabled = false # '내용투명' 활성화
|
3677
3945
|
@data['포스트설정']['서로이웃추가'].enabled = false # '내용투명' 활성화
|
3678
3946
|
@data['포스트설정']['공유하기'].enabled = false # '내용투명' 활성화
|
@@ -3681,6 +3949,7 @@ class Wordpress
|
|
3681
3949
|
@data['포스트설정']['블로그키워드검색최신순'].checked = false
|
3682
3950
|
@data['포스트설정']['블로그키워드검색인기순'].checked = false
|
3683
3951
|
@data['포스트설정']['블로그무작위'].checked = false
|
3952
|
+
@data['포스트설정']['타겟블로그'].checked = false
|
3684
3953
|
@data['포스트설정']['이웃추가'].checked = false
|
3685
3954
|
@data['포스트설정']['서로이웃추가'].checked = false
|
3686
3955
|
@data['포스트설정']['공유하기'].checked = false
|
@@ -3763,6 +4032,7 @@ class Wordpress
|
|
3763
4032
|
@data['포스트설정']['블로그키워드검색최신순'].enabled = true # '내용투명' 활성화
|
3764
4033
|
@data['포스트설정']['블로그키워드검색인기순'].enabled = true # '내용투명' 활성화
|
3765
4034
|
@data['포스트설정']['블로그무작위'].enabled = true # '내용투명' 활성화
|
4035
|
+
@data['포스트설정']['타겟블로그'].enabled = true # '내용투명' 활성화
|
3766
4036
|
@data['포스트설정']['이웃추가'].enabled = true # '내용투명' 활성화
|
3767
4037
|
@data['포스트설정']['서로이웃추가'].enabled = true # '내용투명' 활성화
|
3768
4038
|
@data['포스트설정']['공유하기'].enabled = true # '내용투명' 활성화
|
@@ -3783,6 +4053,7 @@ class Wordpress
|
|
3783
4053
|
@data['포스트설정']['블로그키워드검색최신순'].enabled = false # '내용투명' 활성화
|
3784
4054
|
@data['포스트설정']['블로그키워드검색인기순'].enabled = false # '내용투명' 활성화
|
3785
4055
|
@data['포스트설정']['블로그무작위'].enabled = false # '내용투명' 활성화
|
4056
|
+
@data['포스트설정']['타겟블로그'].enabled = false # '내용투명' 활성화
|
3786
4057
|
@data['포스트설정']['이웃추가'].enabled = false # '내용투명' 활성화
|
3787
4058
|
@data['포스트설정']['서로이웃추가'].enabled = false # '내용투명' 활성화
|
3788
4059
|
@data['포스트설정']['공유하기'].enabled = false # '내용투명' 활성화
|
@@ -3791,6 +4062,7 @@ class Wordpress
|
|
3791
4062
|
@data['포스트설정']['블로그키워드검색최신순'].checked = false
|
3792
4063
|
@data['포스트설정']['블로그키워드검색인기순'].checked = false
|
3793
4064
|
@data['포스트설정']['블로그무작위'].checked = false
|
4065
|
+
@data['포스트설정']['타겟블로그'].checked = false
|
3794
4066
|
@data['포스트설정']['이웃추가'].checked = false
|
3795
4067
|
@data['포스트설정']['서로이웃추가'].checked = false
|
3796
4068
|
@data['포스트설정']['공유하기'].checked = false
|
@@ -3809,6 +4081,7 @@ class Wordpress
|
|
3809
4081
|
if @data['포스트설정']['블로그키워드검색최신순'].checked?
|
3810
4082
|
@data['포스트설정']['블로그키워드검색인기순'].checked = false
|
3811
4083
|
@data['포스트설정']['블로그무작위'].checked = false
|
4084
|
+
@data['포스트설정']['타겟블로그'].checked = false
|
3812
4085
|
end
|
3813
4086
|
}
|
3814
4087
|
}
|
@@ -3820,12 +4093,13 @@ class Wordpress
|
|
3820
4093
|
if @data['포스트설정']['블로그키워드검색인기순'].checked?
|
3821
4094
|
@data['포스트설정']['블로그키워드검색최신순'].checked = false
|
3822
4095
|
@data['포스트설정']['블로그무작위'].checked = false
|
4096
|
+
@data['포스트설정']['타겟블로그'].checked = false
|
3823
4097
|
end
|
3824
4098
|
}
|
3825
4099
|
}
|
3826
4100
|
|
3827
4101
|
|
3828
|
-
@data['포스트설정']['블로그무작위'] = checkbox('블로그 랜덤 무작위 설정'){
|
4102
|
+
@data['포스트설정']['블로그무작위'] = checkbox('블로그 랜덤 무작위 설정 '){
|
3829
4103
|
top 1
|
3830
4104
|
left 3
|
3831
4105
|
enabled false
|
@@ -3833,11 +4107,23 @@ class Wordpress
|
|
3833
4107
|
if @data['포스트설정']['블로그무작위'].checked?
|
3834
4108
|
@data['포스트설정']['블로그키워드검색최신순'].checked = false
|
3835
4109
|
@data['포스트설정']['블로그키워드검색인기순'].checked = false
|
4110
|
+
@data['포스트설정']['타겟블로그'].checked = false
|
3836
4111
|
end
|
3837
4112
|
}
|
3838
4113
|
}
|
3839
|
-
|
3840
|
-
|
4114
|
+
@data['포스트설정']['타겟블로그'] = checkbox('타겟 블로그 작업 (블로그 게시글 URL이 아닌 블로그URL를 세팅해주세요.)'){
|
4115
|
+
top 1
|
4116
|
+
left 4
|
4117
|
+
enabled false
|
4118
|
+
on_toggled {
|
4119
|
+
if @data['포스트설정']['타겟블로그'].checked?
|
4120
|
+
@data['포스트설정']['블로그키워드검색최신순'].checked = false
|
4121
|
+
@data['포스트설정']['블로그키워드검색인기순'].checked = false
|
4122
|
+
@data['포스트설정']['블로그무작위'].checked = false
|
4123
|
+
end
|
4124
|
+
}
|
4125
|
+
}
|
4126
|
+
|
3841
4127
|
@data['포스트설정']['이웃추가'] = checkbox('이웃추가'){
|
3842
4128
|
top 2
|
3843
4129
|
left 0
|
@@ -3979,11 +4265,13 @@ class Wordpress
|
|
3979
4265
|
@data['닉네임설정']['닉네임'].shift
|
3980
4266
|
@data['이미지설정']['이미지'].shift
|
3981
4267
|
@data['내용설정']['내용'].shift
|
4268
|
+
@data['블로그설정']['블로그'].shift
|
3982
4269
|
@data['게시판설정']['랜덤사용'].checked = true
|
3983
4270
|
@data['키워드설정']['랜덤사용'].checked = true
|
3984
4271
|
@data['닉네임설정']['랜덤사용'].checked = true
|
3985
4272
|
@data['이미지설정']['랜덤사용'].checked = true
|
3986
4273
|
@data['내용설정']['랜덤사용'].checked = true
|
4274
|
+
@data['블로그설정']['랜덤사용'].checked = true
|
3987
4275
|
|
3988
4276
|
|
3989
4277
|
}.show
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: duo_blog_cafe_comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.20
|
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-
|
11
|
+
date: 2025-02-25 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: File to Clipboard gem
|
14
14
|
email: mymin26@naver.com
|