nblog_duo 111.117.899 → 111.119.999
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/nblog_duo.rb +92 -6
- 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: 4d42f64c6be0d3a05373c4e4980a9a4db2696859954fbd88233e6bfd2144f378
|
4
|
+
data.tar.gz: 878cab8fd8782e887b6af6424d4882a8c1a17ced7e17027e852f020789adb089
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9871f2ac734659c19736ff7eca3839970e7a14562140354fc0554b6c3da6723dc9fa1827e0a16efee14d4384f2b12f0693bb7abb6d93801c5ec0a5cab693c3f2
|
7
|
+
data.tar.gz: b467c9de33de09999a3e8718204b6a3070146935eaf99fb044a5f3aa10ad6c5e1c27d43d3ce9b528e876a570ec7325b7b8a2eeb3dfa5f01d2c3eb3b2c925b260
|
data/lib/nblog_duo.rb
CHANGED
@@ -18,7 +18,7 @@ require 'digest'
|
|
18
18
|
require 'auto_click'
|
19
19
|
require 'rainbow/refinement'
|
20
20
|
require 'httpclient'
|
21
|
-
require 'win32ole'
|
21
|
+
#require 'win32ole'
|
22
22
|
include AutoClickMethods
|
23
23
|
using Rainbow
|
24
24
|
include Glimmer
|
@@ -275,7 +275,6 @@ class Naver
|
|
275
275
|
# end
|
276
276
|
#end
|
277
277
|
|
278
|
-
|
279
278
|
def chrome_setup(user_id, proxy)
|
280
279
|
naver_cookie_dir = "C:/naver_cookie"
|
281
280
|
FileUtils.mkdir_p(naver_cookie_dir) unless File.exist?(naver_cookie_dir)
|
@@ -373,7 +372,7 @@ class Naver
|
|
373
372
|
begin
|
374
373
|
begin
|
375
374
|
Selenium::WebDriver::Chrome::Service.driver_path = './chromedriver.exe'
|
376
|
-
|
375
|
+
rescue => e
|
377
376
|
puts "chromedriver 버전 불일치!!"
|
378
377
|
puts "아래 지침을 따라주세요."
|
379
378
|
puts "1.프로그램 종료!"
|
@@ -382,7 +381,7 @@ class Naver
|
|
382
381
|
puts "4.안내된 방식으로 크롬 드라이버 교체"
|
383
382
|
puts "5.재 시작"
|
384
383
|
exit 1
|
385
|
-
|
384
|
+
end
|
386
385
|
options = Selenium::WebDriver::Chrome::Options.new
|
387
386
|
options.add_argument('--no-first-run') # 자동 실행 시 나타나는 "첫 실행" 화면 방지
|
388
387
|
options.add_argument('--disable-extensions') # 확장 프로그램 초기화 화면 방지
|
@@ -738,7 +737,7 @@ class Naver
|
|
738
737
|
puts "사용한 이미지가 없으므로 삭제 미 처리"
|
739
738
|
end
|
740
739
|
end
|
741
|
-
|
740
|
+
|
742
741
|
def update(title, content, option, soosick_1, soosick_2, dd_time)
|
743
742
|
#@driver.get(@url+'?Redirect=Write')
|
744
743
|
#sleep(15)
|
@@ -1381,6 +1380,32 @@ class Naver
|
|
1381
1380
|
end
|
1382
1381
|
|
1383
1382
|
|
1383
|
+
elsif i2.to_s.include?('<clip_number')
|
1384
|
+
# <clip_number> 태그에서 값을 추출하여 clip_123 배열에 저장 (중복 제거)
|
1385
|
+
clip_123 = i2.to_s.scan(/<clip_number>(\d+)<\/clip_number>/).flatten.uniq
|
1386
|
+
|
1387
|
+
# 내 클립 버튼 클릭
|
1388
|
+
@driver.find_element(:xpath, '//*[@type="button" and @data-name="moment" and @data-log="dot.moment"]').click
|
1389
|
+
sleep(2)
|
1390
|
+
|
1391
|
+
# clip_123에 있는 모든 번호를 사용하여 클립을 선택하고 삽입
|
1392
|
+
clip_123.each do |clip_number|
|
1393
|
+
# clip_number - 1을 사용하여 data-index에 맞는 클립을 클릭
|
1394
|
+
@driver.find_element(:xpath, "//*[@class='se-sidebar-element se-sidebar-element-moment' and @data-index='#{clip_number.to_i - 1}']").click
|
1395
|
+
sleep(2)
|
1396
|
+
end
|
1397
|
+
|
1398
|
+
# 클립 창 닫기
|
1399
|
+
@driver.find_element(:xpath, '//*[@type="button" and @class="se-sidebar-close-button"]').click
|
1400
|
+
sleep(2)
|
1401
|
+
|
1402
|
+
# 본문 입력 탭 닫기 1
|
1403
|
+
@driver.find_element(:xpath, '//*[@type="button" and @data-type="toggle" and @data-name="bold"]').click
|
1404
|
+
sleep(1)
|
1405
|
+
|
1406
|
+
# 본문 입력 탭 닫기 2
|
1407
|
+
@driver.find_element(:xpath, '//*[@type="button" and @data-type="toggle" and @data-name="bold"]').click
|
1408
|
+
sleep(1)
|
1384
1409
|
|
1385
1410
|
|
1386
1411
|
elsif i2.to_s.include?('<inyonggoo')
|
@@ -3347,6 +3372,51 @@ class Wordpress
|
|
3347
3372
|
@data['table'] << []
|
3348
3373
|
@data['table'].pop
|
3349
3374
|
|
3375
|
+
##여기서부터 클립####-------------------------------------------------------------------------------
|
3376
|
+
if @data['포스트설정']['클립적용'].checked?
|
3377
|
+
clip_word = @data['포스트설정']['클립단어'].text.to_s.force_encoding('utf-8')
|
3378
|
+
clip_123 = @data['포스트설정']['클립넘버'].text.to_s.force_encoding('utf-8').split(',')
|
3379
|
+
|
3380
|
+
# content를 줄 단위로 분리
|
3381
|
+
content_lines = content.split("\n")
|
3382
|
+
new_lines = []
|
3383
|
+
|
3384
|
+
content_lines.each do |line|
|
3385
|
+
processed = false
|
3386
|
+
|
3387
|
+
# 1. 클립 단어 패턴 처리: 클립 단어를 <clip_number>로 감싸기
|
3388
|
+
if line.include?(clip_word)
|
3389
|
+
# 클립 단어를 <clip_number> 태그로 감싸기
|
3390
|
+
parts = line.split(clip_word, 2)
|
3391
|
+
prefix = parts[0]
|
3392
|
+
suffix = parts[1]
|
3393
|
+
|
3394
|
+
# 클립 넘버를 순차적으로 적용
|
3395
|
+
clip_number = clip_123.shift || clip_123.last
|
3396
|
+
|
3397
|
+
open_tag = prefix[/<p[^>]*?>/i] || ""
|
3398
|
+
close_tag = suffix[/<\/p>/i] || ""
|
3399
|
+
|
3400
|
+
prefix_text = prefix.sub(open_tag, '')
|
3401
|
+
suffix_text = suffix.sub(close_tag, '')
|
3402
|
+
|
3403
|
+
# 새로운 라인으로 변경
|
3404
|
+
new_lines << "#{open_tag}#{prefix_text}</p>" unless prefix_text.strip.empty?
|
3405
|
+
new_lines << "<clip_number>#{clip_number}</clip_number>"
|
3406
|
+
new_lines << "#{open_tag}#{suffix_text}#{close_tag}" unless suffix_text.strip.empty?
|
3407
|
+
|
3408
|
+
processed = true
|
3409
|
+
end
|
3410
|
+
|
3411
|
+
# 변경이 없었으면 원래 줄 추가
|
3412
|
+
new_lines << line unless processed
|
3413
|
+
end
|
3414
|
+
|
3415
|
+
content = new_lines.join("\n")
|
3416
|
+
end
|
3417
|
+
######-------------------------------------------------------------------------------
|
3418
|
+
|
3419
|
+
|
3350
3420
|
|
3351
3421
|
|
3352
3422
|
if @data['포스트설정']['단어링크적용'].checked?
|
@@ -3800,7 +3870,7 @@ class Wordpress
|
|
3800
3870
|
dd_time = @data['table'][index][10].to_s.force_encoding('utf-8').to_i
|
3801
3871
|
#template_no = @data['table'][index][7].to_s.force_encoding('utf-8').to_i
|
3802
3872
|
naver.update(title,content,option,soosick_1,soosick_2, dd_time)
|
3803
|
-
|
3873
|
+
|
3804
3874
|
|
3805
3875
|
# if @data['포스트설정']['태그삽입2'].checked?
|
3806
3876
|
# snumber = @data['포스트설정']['태그삽입2시작숫자'].text.to_s.force_encoding('utf-8').to_i
|
@@ -5494,6 +5564,22 @@ class Wordpress
|
|
5494
5564
|
left 1
|
5495
5565
|
text 'api key 입력 필수!!'
|
5496
5566
|
}
|
5567
|
+
|
5568
|
+
@data['포스트설정']['클립적용'] = checkbox('클립 내용에 넣기'){
|
5569
|
+
top 16+ aa1
|
5570
|
+
left 0
|
5571
|
+
}
|
5572
|
+
|
5573
|
+
@data['포스트설정']['클립단어'] = entry(){
|
5574
|
+
top 16+ aa1
|
5575
|
+
left 1
|
5576
|
+
text '특정단어'
|
5577
|
+
}
|
5578
|
+
@data['포스트설정']['클립넘버'] = entry(){
|
5579
|
+
top 16+ aa1
|
5580
|
+
left 3
|
5581
|
+
text '클립넘버 ex)1,2,3'
|
5582
|
+
}
|
5497
5583
|
|
5498
5584
|
}
|
5499
5585
|
}
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nblog_duo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 111.
|
4
|
+
version: 111.119.999
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- zon
|
8
8
|
bindir: bin
|
9
9
|
cert_chain: []
|
10
|
-
date: 2025-
|
10
|
+
date: 2025-06-19 00:00:00.000000000 Z
|
11
11
|
dependencies: []
|
12
12
|
description: File to Clipboard gem
|
13
13
|
email: mymin26@naver.com
|