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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/nblog_duo.rb +92 -6
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3dca8d43aa8ce9857fae764c20dfdc93c6de95eb315af750208ffeb8f4d92dd5
4
- data.tar.gz: ca6e45937b0854f98f518e93379819dcce61ab1d97c3b5d91b22a099bd671b98
3
+ metadata.gz: 4d42f64c6be0d3a05373c4e4980a9a4db2696859954fbd88233e6bfd2144f378
4
+ data.tar.gz: 878cab8fd8782e887b6af6424d4882a8c1a17ced7e17027e852f020789adb089
5
5
  SHA512:
6
- metadata.gz: b73e52c2b875f5ce875cbfa6d683004a226b27211a9126066c0df7f76766085aa17fe9b4d418ff016038f664a19bb545b27a4003578ee83b63f5ad44324f2711
7
- data.tar.gz: d8a73b56344d7104ef740daaef7912a6bef2582fcc87e487c59d8843949833924d8e6b7f92673ce983754d1e7da4e4625c02bfba463683c9d42c96d979f38775
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
- rescue => e
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
- end
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.117.899
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-05-30 00:00:00.000000000 Z
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