cafe_basics 0.0.9 → 0.0.11

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/cafe_basics.rb +90 -47
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 21ab44c6c4a877438182e37d299281f55c25de0a81202a9aeb7903917ea9557e
4
- data.tar.gz: b420d160818f55d0848423ef500f4cc26527ed9f0fab983c9c42d9b4a4b31b7b
3
+ metadata.gz: 732d293fbe298007d812850531f11f00bddc27a7d2cf2a8de0849b05f65c68a3
4
+ data.tar.gz: c56120bd679c4d871aaf7811be998b56a6beac4fe76b84491e57c90bf275820c
5
5
  SHA512:
6
- metadata.gz: c854073c6d2da789db22bd44a335e7ea3da830b3ec96d10ace325bec3887eea433e1eeb5e8ff8b4b284b552f90935586eb1ef4956f40982b5ddf77174708bde1
7
- data.tar.gz: 216fc5ef2110547b87d88bd19d1cbadfcb9d7309eb33571efdd90f3ced5fb94045e9c487b2fdbd49362dcaba5f25178c7abe2c36bec78d726b24a59c06cf747a
6
+ metadata.gz: 51bef7a3ca54f39edf24c88fb93e5704a208a017eee91ed053bbbf9ee5d1cb8673e168176e119b48ccf079374c02003bdb5a549905a686c24eb755001d5d0ad4
7
+ data.tar.gz: b4b7575195c449eccbecd6627317c58460603388f92ca9499924588b0a02c98ad8d02d416a1988bd902c99ca23c3903d391ace148d3a848cd0ce09a4c66cd9dc
data/lib/cafe_basics.rb CHANGED
@@ -721,20 +721,43 @@ class Naver
721
721
  if i2.to_s.include?('<img')
722
722
  path = i2.to_s.split('src="')[1].split('"')[0]
723
723
  path = URI.decode_www_form(path)[0][0]
724
+ # 이미지 등록 버튼 클릭
724
725
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/header/div[1]/ul/li[1]/button').click
725
- sleep(2)
726
- Clipboard.copy(path.split('/').join("\\"))
727
- key_down('ctrl')
728
- key_stroke('v')
729
- key_up('ctrl')
730
726
  sleep(3)
731
- key_stroke('enter')
727
+ key_stroke('escape')
728
+
729
+ # 파일 경로 변환 (슬래시 -> 백슬래시)
730
+ file_path = path.split('/').join("\\") # 윈도우 스타일 경로로 변환
731
+
732
+ # 파일 입력 필드 찾기 (input[type="file"])
733
+ file_input = @driver.find_element(:id, 'hidden-file')
734
+
735
+ # send_keys로 파일 경로를 직접 입력하여 파일 업로드
736
+ file_input.send_keys(file_path)
732
737
  sleep(3)
738
+
739
+
740
+
741
+ begin
742
+ @driver.action.key_down(:up).key_up(:up).perform
743
+ wait = Selenium::WebDriver::Wait.new(:timeout => 3)
744
+ #요소가 나타날 때까지 60초 동안 기다립니다.
745
+ wait.until { @driver.find_element(:xpath, '//*[@class="se-placeholder __se_placeholder se-ff-system se-fs13"]') }
746
+ sleep(1)
747
+ @driver.find_element(:xpath, '//*[@class="se-placeholder __se_placeholder se-ff-system se-fs13"]').click
748
+ sleep(1)
749
+ @driver.action.send_keys(title).perform
750
+ sleep(1)
751
+ @driver.action.key_down(:enter).key_up(:enter).perform #엔터
752
+ sleep(1)
753
+ rescue
754
+ @driver.action.key_down(:down).key_up(:down).perform
755
+ end
733
756
 
734
757
 
735
758
  if i2.to_s.split('href="')[1] != nil
736
759
  href2 = i2.to_s.split('href="')[1].split('"')[0]
737
- key_stroke('up')
760
+ @driver.action.key_down(:up).key_up(:up).perform
738
761
  sleep(1)
739
762
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/header/div[2]/ul/li[7]/div/button').click
740
763
  sleep(1)
@@ -795,8 +818,8 @@ class Naver
795
818
  sleep(1)
796
819
  rescue
797
820
  @driver.action.key_down(:down).key_up(:down).perform
798
- end
799
-
821
+ end
822
+
800
823
  elsif i2.to_s.include?('<inyonggoo')
801
824
  if i2.text == ''
802
825
 
@@ -807,14 +830,13 @@ class Naver
807
830
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/header/div[1]/ul/li[5]/div/div/button['+select_number+']').click
808
831
  sleep(1)
809
832
  Clipboard.copy(i2.text)
810
- key_down('ctrl')
811
- key_stroke('v')
812
- key_up('ctrl')
813
- sleep(3)
833
+ sleep(1)
834
+ @driver.action.key_down(:control).send_keys('v').key_up(:control).perform
835
+ sleep(1)
814
836
 
815
- key_stroke('down')
837
+ @driver.action.key_down(:down).key_up(:down).perform
816
838
  sleep(1)
817
- key_stroke('down')
839
+ @driver.action.key_down(:down).key_up(:down).perform
818
840
  sleep(1)
819
841
  @driver.action.key_down(:enter).key_up(:enter).perform
820
842
 
@@ -1211,17 +1233,17 @@ class Naver
1211
1233
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/header/div[2]/ul/li[15]/div/div/button').click
1212
1234
  end
1213
1235
  sleep(1)
1214
- key_stroke('right')
1236
+ @driver.action.key_down(:arrow_right).key_up(:arrow_right).perform
1215
1237
  sleep(1)
1216
1238
  end
1217
1239
  end
1218
1240
  end
1219
1241
  end
1220
- sleep(1)
1242
+ sleep(0.5)
1221
1243
  @driver.action.key_down(:end).key_up(:end).perform
1222
- sleep(1)
1244
+ sleep(0.5)
1223
1245
  @driver.action.key_down(:enter).key_up(:enter).perform
1224
- sleep(1)
1246
+ sleep(0.5)
1225
1247
  # if check_image == 0
1226
1248
  # if value_data['nodes'].length == 0
1227
1249
  # value_data['nodes'][0] = {
@@ -1265,9 +1287,8 @@ class Naver
1265
1287
  sleep(3)
1266
1288
  # @driver.action.send_keys(soosick_1.text).perform
1267
1289
  Clipboard.copy(soosick_1.to_s)
1268
- key_down('ctrl')
1269
- key_stroke('v')
1270
- key_up('ctrl')
1290
+ sleep(1)
1291
+ @driver.action.key_down(:control).send_keys('v').key_up(:control).perform
1271
1292
  sleep(2)
1272
1293
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/div[4]/div[2]/div/div/div[3]/div/button[2]').click
1273
1294
  sleep(3)
@@ -1285,9 +1306,8 @@ class Naver
1285
1306
  sleep(3)
1286
1307
  # @driver.action.send_keys(soosick_2).perform
1287
1308
  Clipboard.copy(soosick_2.to_s)
1288
- key_down('ctrl')
1289
- key_stroke('v')
1290
- key_up('ctrl')
1309
+ sleep(1)
1310
+ @driver.action.key_down(:control).send_keys('v').key_up(:control).perform
1291
1311
  sleep(2)
1292
1312
  @driver.find_element(:xpath, '//*[@id="'+page_id+'"]/div[1]/div/div[4]/div[2]/div/div/div[3]/div/button[2]').click
1293
1313
  sleep(3)
@@ -1315,7 +1335,7 @@ class Naver
1315
1335
  # puts '카테고리 error'
1316
1336
  # puts e33
1317
1337
  # end
1318
- sleep(2)
1338
+ sleep(1)
1319
1339
  tags2 = option['tag'].to_s
1320
1340
  tag_mm2 = Array.new
1321
1341
  tags2.split(',').each do |tag_value|
@@ -3706,20 +3726,34 @@ class Wordpress
3706
3726
  stretchy false
3707
3727
  text "내용폴더경로 ex)C:\\내용\\폴더1"
3708
3728
  }
3709
- button('폴더째로 불러오기'){
3710
-
3711
- on_clicked{
3712
- path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
3713
- Dir.entries(@data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')).each do |file|
3714
- if file == '.' or file == '..'
3729
+ button('폴더째로 불러오기') {
3730
+ on_clicked {
3731
+ path = @data['이미지설정']['폴더경로2'].text.to_s.force_encoding('utf-8')
3715
3732
 
3716
- else
3717
- file_data = File.open(path+'/'+file,'r', :encoding => 'utf-8').read()
3718
- @data['내용설정']['내용'] << [false, file, file_data]
3733
+ # 경로가 유효한지 확인
3734
+ if Dir.exist?(path)
3735
+ Dir.entries(path).each do |file|
3736
+ if file == '.' or file == '..'
3737
+ next
3738
+ else
3739
+ begin
3740
+ # 파일을 열고 내용을 읽어서 추가
3741
+ file_data = File.open(path + '/' + file, 'r', encoding: 'utf-8').read
3742
+ @data['내용설정']['내용'] << [false, file, file_data]
3743
+ rescue => e
3744
+ # 파일을 열 수 없는 경우, 오류 메시지 출력
3745
+ puts "파일을 열 수 없습니다: #{file}, 오류: #{e.message}"
3746
+ end
3747
+ end
3719
3748
  end
3749
+
3750
+ # 내용 배열에서 마지막 빈 항목 제거
3751
+ @data['내용설정']['내용'] << []
3752
+ @data['내용설정']['내용'].pop
3753
+ else
3754
+ # 경로가 유효하지 않을 경우, 오류 메시지 출력
3755
+ puts "경로가 존재하지 않습니다: #{path}"
3720
3756
  end
3721
- @data['내용설정']['내용'] << []
3722
- @data['내용설정']['내용'].pop
3723
3757
  }
3724
3758
  }
3725
3759
  }
@@ -3804,19 +3838,28 @@ class Wordpress
3804
3838
  stretchy false
3805
3839
  text "사진폴더경로 ex)C:\\사진\\폴더2"
3806
3840
  }
3807
- button('폴더째로불러오기'){
3808
-
3809
- on_clicked{
3810
- path = @data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8').force_encoding('utf-8')
3811
- Dir.entries(@data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8')).each do |file|
3812
- if file == '.' or file == '..'
3841
+ button('폴더째로 불러오기') {
3842
+ on_clicked {
3843
+ path = @data['이미지설정']['폴더경로'].text.to_s.force_encoding('utf-8')
3813
3844
 
3814
- else
3815
- @data['이미지설정']['이미지'] << [false, file, path+"\\"+file.force_encoding('utf-8')]
3845
+ # 경로가 유효한지 확인
3846
+ if Dir.exist?(path)
3847
+ Dir.entries(path).each do |file|
3848
+ if file == '.' or file == '..'
3849
+ next
3850
+ else
3851
+ # 폴더 내의 파일을 이미지 리스트에 추가
3852
+ @data['이미지설정']['이미지'] << [false, file, path + "\\" + file.force_encoding('utf-8')]
3853
+ end
3816
3854
  end
3855
+
3856
+ # 마지막 빈 항목 추가 후 제거 (원래 로직에 맞춰)
3857
+ @data['이미지설정']['이미지'] << []
3858
+ @data['이미지설정']['이미지'].pop
3859
+ else
3860
+ # 경로가 존재하지 않으면 경고 메시지 출력
3861
+ puts "경로가 존재하지 않습니다: #{path}"
3817
3862
  end
3818
- @data['이미지설정']['이미지'] << []
3819
- @data['이미지설정']['이미지'].pop
3820
3863
  }
3821
3864
  }
3822
3865
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cafe_basics
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - zon
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-12-16 00:00:00.000000000 Z
11
+ date: 2024-12-30 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: File to Clipboard gem
14
14
  email: mymin26@naver.com