zon_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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/zon_blog_comment.rb +85 -26
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 53551b0a70c3df880a8f7a2992664fe20caf66ba6ad42aa2cc0211fe050c4a85
4
- data.tar.gz: c19d4ef2b53205ffe89efd6b56c56ffa8422a4d696ae5f51479d13c2ba155672
3
+ metadata.gz: bf9c37d440c5d27dc3f7080aa093c92fe82398976b5eec3fc006ed08db7fa15f
4
+ data.tar.gz: 7fbb4aa76ce5658207009a806249bc55d87fec610b66397aaf8058fe08d39d4b
5
5
  SHA512:
6
- metadata.gz: dee3ec4211e3eafb3594c25fe201a206f814d1cceee507f26ed143cc74d331a7851a07a00670297005bf5aaf42c0e17e4131314a1a0236d27f50e34e181a2454
7
- data.tar.gz: da10a4122cf73d1daeafb39c56232d8e21c5c7cd33cee96cfc0f204b02d7c35d6883ca3c264c09566b427e56fd044f543dfa23bb4232125508ca13f75aba9737
6
+ metadata.gz: e0f171e23cacd5c155796250771c1fde8e9723ffde6e9802d492ab33cf416273a003153ab8ef3efc2c06e055e56251f6b249b74c62b34302cc80fa113b8604e9
7
+ data.tar.gz: a9d66557eb8516b3a49fd3c4ee62dd1e99aac61d27ce4b7cc5e424ac3d80d3dd992fcd93194244b95b8a39d915341dfe9c931e02c4e5a7d1c18340e96797e181
@@ -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
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
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
- #Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
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
 
@@ -1238,6 +1254,27 @@ class Naver
1238
1254
  end
1239
1255
  end
1240
1256
  sleep(1)
1257
+ if option['비공개댓글'] == 'true'
1258
+ begin
1259
+ @driver.find_element(:xpath, '//*[@class="u_cbox_secret_label"]').click
1260
+ sleep(1)
1261
+ rescue
1262
+ begin
1263
+ @driver.find_element(:xpath, '//*[@class="u_cbox_secret_check"]').click
1264
+ sleep(1)
1265
+ rescue
1266
+ begin
1267
+ @driver.find_element(:xpath, '//*[@class="u_cbox_txt_secret"]').click
1268
+ sleep(1)
1269
+ rescue
1270
+ end
1271
+ end
1272
+ end
1273
+ else
1274
+ # 여기에 다른 코드 추가 가능
1275
+ end
1276
+
1277
+
1241
1278
  begin
1242
1279
  element = @driver.find_element(:xpath, '//*[@data-uiselector="writeButton"]')
1243
1280
  @driver.execute_script("arguments[0].scrollIntoView({block: 'center', inline: 'center'})", element) # 크롤 이동
@@ -1268,6 +1305,11 @@ class Naver
1268
1305
  end
1269
1306
  posting_url = @driver.current_url
1270
1307
  puts "#{posting_url} [댓글 작성 완료 !!]".cyan
1308
+
1309
+ begin
1310
+ sleep(counts_delay)
1311
+ rescue
1312
+ end
1271
1313
 
1272
1314
  sleep(2)
1273
1315
  begin
@@ -1720,7 +1762,7 @@ end
1720
1762
  else
1721
1763
  option['공유하기비공개'] = 'false'
1722
1764
  end
1723
- @data['table'][index][-1] = 85
1765
+ @data['table'][index][-1] = 80
1724
1766
  @data['table'] << []
1725
1767
  @data['table'].pop
1726
1768
 
@@ -1731,6 +1773,15 @@ end
1731
1773
  else
1732
1774
  option['댓글패스'] = 'false'
1733
1775
  end
1776
+ @data['table'][index][-1] = 85
1777
+ @data['table'] << []
1778
+ @data['table'].pop
1779
+
1780
+ if @data['포스트설정']['비공개댓글'].checked?
1781
+ option['비공개댓글'] = 'true'
1782
+ else
1783
+ option['비공개댓글'] = 'false'
1784
+ end
1734
1785
  @data['table'][index][-1] = 90
1735
1786
  @data['table'] << []
1736
1787
  @data['table'].pop
@@ -1771,8 +1822,9 @@ end
1771
1822
 
1772
1823
  # 댓글 설정 수 카운트
1773
1824
  counts_number = @data['table'][index][6].to_i
1825
+ counts_delay = @data['table'][index][5].to_i
1774
1826
  api_key = @data['포스트설정']['api_key'].text.to_s.force_encoding('utf-8')
1775
- naver.update(content,image,option,counts_number,keyword,blog_url,api_key)
1827
+ naver.update(content,image,option,counts_number,keyword,blog_url,api_key,counts_delay)
1776
1828
 
1777
1829
 
1778
1830
 
@@ -3088,13 +3140,20 @@ end
3088
3140
  end
3089
3141
  }
3090
3142
  }
3091
- @data['포스트설정']['댓글패스'] = checkbox('🔙이미 작성한 댓글이 있는 경우 패스'){
3143
+ @data['포스트설정']['비공개댓글'] = checkbox('🔒비공개 댓글   '){
3092
3144
  top 1
3093
3145
  left 3
3094
3146
  on_toggled{
3095
3147
 
3096
3148
  }
3097
3149
  }
3150
+ @data['포스트설정']['댓글패스'] = checkbox('🔙이미 작성한 댓글이 있는 경우 패스'){
3151
+ top 1
3152
+ left 4
3153
+ on_toggled{
3154
+
3155
+ }
3156
+ }
3098
3157
  }
3099
3158
  }
3100
3159
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zon_blog_comment
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.35
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-04-30 00:00:00.000000000 Z
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