duo_blog_comment 0.0.35 → 0.0.37
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_comment.rb +86 -28
- 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: 6fd80b9a56b0cc92eca30ad4b540541bdc93470658bca962ac88802f425dd74c
|
4
|
+
data.tar.gz: 587f72a14bd51043af6d3bf69aafe156096c979f8c5318e6d240961558d8e171
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9454a3b23458c6a157a4a2060e6116360119593a4158115aa8418357bc8748e72ea07c347dfe086584242c467254ede42e4aa266c28109c12f2c93e1b4cdca0b
|
7
|
+
data.tar.gz: 684742fb7cfca1527af0e2d965e04884862187478644fd54192a181c0396145be18842b88902ed3b543b987fb85af853e892b6bb7dc34182af13f25d58babf5b
|
data/lib/duo_blog_comment.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'glimmer-dsl-libui'
|
2
2
|
require 'selenium-webdriver'
|
3
|
-
require 'webdrivers'
|
3
|
+
#require 'webdrivers'
|
4
4
|
require 'iconv'
|
5
5
|
require 'nokogiri'
|
6
6
|
require 'http'
|
@@ -24,25 +24,6 @@ include Glimmer
|
|
24
24
|
class Naver
|
25
25
|
def initialize
|
26
26
|
@seed = 1
|
27
|
-
|
28
|
-
begin
|
29
|
-
# webdrivers가 사용자의 Chrome 버전에 맞는 chromedriver 다운로드 시도
|
30
|
-
|
31
|
-
# Webdrivers가 드라이버를 다운로드할 경로를 설정
|
32
|
-
Webdrivers.cache_time = 86_400 # 하루로 설정 (기본값: 86_400초)
|
33
|
-
Webdrivers.install_dir = "./" # 크롬드라이버를 수동으로 설치할 경로를 설정
|
34
|
-
# 크롬드라이버 자동 업데이트 시도
|
35
|
-
Webdrivers::Chromedriver.update
|
36
|
-
puts "chromedriver 자동 다운로드 성공"
|
37
|
-
rescue => e
|
38
|
-
puts "chromedriver 자동 다운로드 실패: #{e.message}"
|
39
|
-
puts "폴더내 크롬드라이버를 사용합니다."
|
40
|
-
puts "크롬드라이버가 오래된 경우 오류 발생될 수 있으며, 만일 오류 발생시 아래 지침을 따라주세요."
|
41
|
-
puts "1.크롬 업데이트 2.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일을 열어 드라이버를 교체하세요."
|
42
|
-
chromedriver_path = './chromedriver.exe' # 수동 경로를 인스턴스 변수로 설정
|
43
|
-
Selenium::WebDriver::Chrome::Service.driver_path = chromedriver_path
|
44
|
-
end
|
45
|
-
|
46
27
|
end
|
47
28
|
|
48
29
|
|
@@ -64,6 +45,18 @@ class Naver
|
|
64
45
|
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
65
46
|
if proxy == ''
|
66
47
|
begin
|
48
|
+
begin
|
49
|
+
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
50
|
+
rescue => e
|
51
|
+
puts "chromedriver 버전 불일치!!"
|
52
|
+
puts "아래 지침을 따라주세요."
|
53
|
+
puts "1.프로그램 종료!"
|
54
|
+
puts "2.크롬 업데이트!"
|
55
|
+
puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
|
56
|
+
puts "4.안내된 방식으로 크롬 드라이버 교체"
|
57
|
+
puts "5.재 시작"
|
58
|
+
exit 1
|
59
|
+
end
|
67
60
|
options = Selenium::WebDriver::Chrome::Options.new
|
68
61
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
69
62
|
#options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -91,7 +84,18 @@ class Naver
|
|
91
84
|
end
|
92
85
|
else
|
93
86
|
begin
|
94
|
-
|
87
|
+
begin
|
88
|
+
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
89
|
+
rescue => e
|
90
|
+
puts "chromedriver 버전 불일치!!"
|
91
|
+
puts "아래 지침을 따라주세요."
|
92
|
+
puts "1.프로그램 종료!"
|
93
|
+
puts "2.크롬 업데이트!"
|
94
|
+
puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
|
95
|
+
puts "4.안내된 방식으로 크롬 드라이버 교체"
|
96
|
+
puts "5.재 시작"
|
97
|
+
exit 1
|
98
|
+
end
|
95
99
|
options = Selenium::WebDriver::Chrome::Options.new
|
96
100
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
97
101
|
options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -118,7 +122,18 @@ class Naver
|
|
118
122
|
puts e
|
119
123
|
puts 'proxy error...'
|
120
124
|
begin
|
121
|
-
|
125
|
+
begin
|
126
|
+
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
127
|
+
rescue => e
|
128
|
+
puts "chromedriver 버전 불일치!!"
|
129
|
+
puts "아래 지침을 따라주세요."
|
130
|
+
puts "1.프로그램 종료!"
|
131
|
+
puts "2.크롬 업데이트!"
|
132
|
+
puts "3.프로그램 폴더 내부에 ★tip★-시작시-크롬창이....파일 실행"
|
133
|
+
puts "4.안내된 방식으로 크롬 드라이버 교체"
|
134
|
+
puts "5.재 시작"
|
135
|
+
exit 1
|
136
|
+
end
|
122
137
|
options = Selenium::WebDriver::Chrome::Options.new
|
123
138
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
124
139
|
options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -260,12 +275,13 @@ class Naver
|
|
260
275
|
|
261
276
|
|
262
277
|
|
263
|
-
def update(content,image,option,counts_number,keyword,blog_url,api_key)
|
278
|
+
def update(content,image,option,counts_number,keyword,blog_url,api_key,counts_delay)
|
264
279
|
|
265
280
|
@keyword = keyword
|
266
281
|
@content = content
|
267
282
|
@api_key = api_key
|
268
283
|
@blog_url = blog_url
|
284
|
+
#sleep(counts_delay)
|
269
285
|
|
270
286
|
|
271
287
|
|
@@ -1239,6 +1255,27 @@ class Naver
|
|
1239
1255
|
end
|
1240
1256
|
end
|
1241
1257
|
sleep(1)
|
1258
|
+
if option['비공개댓글'] == 'true'
|
1259
|
+
begin
|
1260
|
+
@driver.find_element(:xpath, '//*[@class="u_cbox_secret_label"]').click
|
1261
|
+
sleep(1)
|
1262
|
+
rescue
|
1263
|
+
begin
|
1264
|
+
@driver.find_element(:xpath, '//*[@class="u_cbox_secret_check"]').click
|
1265
|
+
sleep(1)
|
1266
|
+
rescue
|
1267
|
+
begin
|
1268
|
+
@driver.find_element(:xpath, '//*[@class="u_cbox_txt_secret"]').click
|
1269
|
+
sleep(1)
|
1270
|
+
rescue
|
1271
|
+
end
|
1272
|
+
end
|
1273
|
+
end
|
1274
|
+
else
|
1275
|
+
# 여기에 다른 코드 추가 가능
|
1276
|
+
end
|
1277
|
+
|
1278
|
+
|
1242
1279
|
begin
|
1243
1280
|
element = @driver.find_element(:xpath, '//*[@data-uiselector="writeButton"]')
|
1244
1281
|
@driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element) # 크롤 이동
|
@@ -1269,6 +1306,11 @@ class Naver
|
|
1269
1306
|
end
|
1270
1307
|
posting_url = @driver.current_url
|
1271
1308
|
puts "#{posting_url} [댓글 작성 완료 !!]".cyan
|
1309
|
+
|
1310
|
+
begin
|
1311
|
+
sleep(counts_delay)
|
1312
|
+
rescue
|
1313
|
+
end
|
1272
1314
|
|
1273
1315
|
sleep(2)
|
1274
1316
|
begin
|
@@ -1780,7 +1822,7 @@ class Wordpress
|
|
1780
1822
|
|
1781
1823
|
|
1782
1824
|
|
1783
|
-
|
1825
|
+
if @data['포스트설정']['공유하기'].checked?
|
1784
1826
|
option['공유하기'] = 'true'
|
1785
1827
|
else
|
1786
1828
|
option['공유하기'] = 'false'
|
@@ -1791,7 +1833,7 @@ class Wordpress
|
|
1791
1833
|
else
|
1792
1834
|
option['공유하기비공개'] = 'false'
|
1793
1835
|
end
|
1794
|
-
@data['table'][index][-1] =
|
1836
|
+
@data['table'][index][-1] = 80
|
1795
1837
|
@data['table'] << []
|
1796
1838
|
@data['table'].pop
|
1797
1839
|
|
@@ -1802,10 +1844,18 @@ class Wordpress
|
|
1802
1844
|
else
|
1803
1845
|
option['댓글패스'] = 'false'
|
1804
1846
|
end
|
1805
|
-
@data['table'][index][-1] =
|
1847
|
+
@data['table'][index][-1] = 85
|
1806
1848
|
@data['table'] << []
|
1807
1849
|
@data['table'].pop
|
1808
1850
|
|
1851
|
+
if @data['포스트설정']['비공개댓글'].checked?
|
1852
|
+
option['비공개댓글'] = 'true'
|
1853
|
+
else
|
1854
|
+
option['비공개댓글'] = 'false'
|
1855
|
+
end
|
1856
|
+
@data['table'][index][-1] = 90
|
1857
|
+
@data['table'] << []
|
1858
|
+
@data['table'].pop
|
1809
1859
|
|
1810
1860
|
|
1811
1861
|
|
@@ -1842,8 +1892,9 @@ class Wordpress
|
|
1842
1892
|
|
1843
1893
|
# 댓글 설정 수 카운트
|
1844
1894
|
counts_number = @data['table'][index][6].to_i
|
1895
|
+
counts_delay = @data['table'][index][5].to_i
|
1845
1896
|
api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
|
1846
|
-
naver.update(content,image,option,counts_number,keyword,blog_url,api_key)
|
1897
|
+
naver.update(content,image,option,counts_number,keyword,blog_url,api_key,counts_delay)
|
1847
1898
|
|
1848
1899
|
|
1849
1900
|
|
@@ -3164,9 +3215,16 @@ class Wordpress
|
|
3164
3215
|
end
|
3165
3216
|
}
|
3166
3217
|
}
|
3218
|
+
@data['포스트설정']['비공개댓글'] = checkbox('🔒비공개 댓글 '){
|
3219
|
+
top 1
|
3220
|
+
left 3
|
3221
|
+
on_toggled{
|
3222
|
+
|
3223
|
+
}
|
3224
|
+
}
|
3167
3225
|
@data['포스트설정']['댓글패스'] = checkbox('🔙이미 작성한 댓글이 있는 경우 패스'){
|
3168
3226
|
top 1
|
3169
|
-
left
|
3227
|
+
left 4
|
3170
3228
|
on_toggled{
|
3171
3229
|
|
3172
3230
|
}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: duo_blog_comment
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.37
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-05-22 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|