pindo 4.8.0 → 4.8.1
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/pindo/client/pgyeruploadclient.rb +20 -25
- data/lib/pindo/version.rb +1 -1
- 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: 0cff4bb49b837340114cc7cb33a2a6d2cbbb91ac74e97a2485d803887fdc2713
         | 
| 4 | 
            +
              data.tar.gz: 8b4390944c7a344643014534b9167f01ace020bf4fac8ff3ac485da4c4ae7506
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 8dbc329c5d290c7abbcf75dee882a07ea7187187ba38287271fa485c21d75fd22fcd8267a362d38e49e4bb87813ab6b0d56c53c67dae1e49f570de0ad6c68739
         | 
| 7 | 
            +
              data.tar.gz: 2263c2090f3377f75241d8b9a0adfb8db568acce03393f01eae36e0413ca1303cd4cde8ba6c5ebb2b70c9d4b2b47d28095e18516e7d236e262a8a6bf38e6f52f
         | 
| @@ -99,7 +99,8 @@ module Pindo | |
| 99 99 | 
             
                    puts "文件路径: #{@upload_binary_file}"
         | 
| 100 100 | 
             
                    puts "文件大小: #{total_m}M"
         | 
| 101 101 | 
             
                    puts "上传路径: #{upload_path_key}"
         | 
| 102 | 
            -
                    puts | 
| 102 | 
            +
                    puts
         | 
| 103 | 
            +
                    puts "切片大小: 5MB"
         | 
| 103 104 |  | 
| 104 105 | 
             
                    upload_result = nil
         | 
| 105 106 |  | 
| @@ -108,7 +109,8 @@ module Pindo | |
| 108 109 |  | 
| 109 110 | 
             
                    upload_id= result_data["data"]["uploadId"]
         | 
| 110 111 | 
             
                    @upload_params_list = result_data["data"]["uploadParamsList"]
         | 
| 111 | 
            -
                    task_num = @upload_params_list.length | 
| 112 | 
            +
                    task_num = @upload_params_list.length
         | 
| 113 | 
            +
                    retry_count = 5
         | 
| 112 114 | 
             
                    if task_num < 2
         | 
| 113 115 | 
             
                      task_num = 2
         | 
| 114 116 | 
             
                    end
         | 
| @@ -116,8 +118,9 @@ module Pindo | |
| 116 118 | 
             
                    if task_num > 100
         | 
| 117 119 | 
             
                      task_num = 100
         | 
| 118 120 | 
             
                    end
         | 
| 119 | 
            -
             | 
| 120 | 
            -
                    puts " | 
| 121 | 
            +
             | 
| 122 | 
            +
                    puts "线程个数: #{task_num}"
         | 
| 123 | 
            +
                    puts "重试次数: #{retry_count}"
         | 
| 121 124 | 
             
                    puts
         | 
| 122 125 |  | 
| 123 126 | 
             
                    Funlog.instance.fancyinfo_start("开始上传...")
         | 
| @@ -126,7 +129,7 @@ module Pindo | |
| 126 129 | 
             
                    # single_task_upload_data_req( )
         | 
| 127 130 |  | 
| 128 131 |  | 
| 129 | 
            -
                    multi_task_upload_data_req(task_num:task_num)
         | 
| 132 | 
            +
                    multi_task_upload_data_req(task_num:task_num, retry_count:retry_count)
         | 
| 130 133 |  | 
| 131 134 | 
             
                    result_data = post_upload_finish_req(upload_path_key:upload_path_key, upload_id:upload_id, eTags:@upload_eTags)
         | 
| 132 135 |  | 
| @@ -143,11 +146,10 @@ module Pindo | |
| 143 146 | 
             
                  end
         | 
| 144 147 |  | 
| 145 148 |  | 
| 146 | 
            -
                  def multi_task_upload_data_req(task_num:1)
         | 
| 147 | 
            -
             | 
| 149 | 
            +
                  def multi_task_upload_data_req(task_num:1, retry_count: 3)
         | 
| 148 150 |  | 
| 149 151 | 
             
                      for i in 0..@upload_params_list.length-1 do
         | 
| 150 | 
            -
                        @upload_params_list[i]["retryCount"] =  | 
| 152 | 
            +
                        @upload_params_list[i]["retryCount"] = retry_count
         | 
| 151 153 | 
             
                      end
         | 
| 152 154 |  | 
| 153 155 | 
             
                      while @upload_params_list.size > 0
         | 
| @@ -201,7 +203,6 @@ module Pindo | |
| 201 203 | 
             
                      put_data = file.read(read_length)
         | 
| 202 204 |  | 
| 203 205 | 
             
                      request = create_req(upload_url:upload_url, body_data:put_data, read_length:read_length)
         | 
| 204 | 
            -
             | 
| 205 206 | 
             
                      request.on_progress do |dltotal, dlnow, ultotal, ulnow|
         | 
| 206 207 | 
             
                          if ulnow
         | 
| 207 208 | 
             
                            @progress_bar.update_upload_index(upload_part:part_no, upload_size:ulnow)
         | 
| @@ -209,8 +210,6 @@ module Pindo | |
| 209 210 | 
             
                          end
         | 
| 210 211 | 
             
                      end
         | 
| 211 212 |  | 
| 212 | 
            -
                      eTag_item = nil
         | 
| 213 | 
            -
             | 
| 214 213 | 
             
                      request.on_complete do |response|
         | 
| 215 214 | 
             
                          if response.success?
         | 
| 216 215 | 
             
                            @progress_bar.complete_upload_index(upload_part:part_no, complete_size:read_length)
         | 
| @@ -221,7 +220,8 @@ module Pindo | |
| 221 220 | 
             
                            @progress_bar.delete_upload_index(upload_part:part_no)
         | 
| 222 221 | 
             
                            upload_params_item["retryCount"] = upload_params_item["retryCount"] - 1
         | 
| 223 222 | 
             
                            if upload_params_item["retryCount"] > 0
         | 
| 224 | 
            -
                              @upload_params_list.push(upload_params_item)
         | 
| 223 | 
            +
                              # @upload_params_list.push(upload_params_item)
         | 
| 224 | 
            +
                              single_task_upload_part_data_req(upload_params_item:upload_params_item, hydra_handle:hydra_handle)
         | 
| 225 225 | 
             
                            else
         | 
| 226 226 | 
             
                              Funlog.instance.fancyinfo_error("文件#{@upload_binary_file} 上传失败! 😭😭😭")
         | 
| 227 227 | 
             
                              raise Informative, "上传文件失败"
         | 
| @@ -234,9 +234,6 @@ module Pindo | |
| 234 234 | 
             
                      else
         | 
| 235 235 | 
             
                        hydra_handle.queue(request)
         | 
| 236 236 | 
             
                      end
         | 
| 237 | 
            -
             | 
| 238 | 
            -
                      return  eTag_item
         | 
| 239 | 
            -
             | 
| 240 237 | 
             
                  end
         | 
| 241 238 |  | 
| 242 239 | 
             
                  def create_req(upload_url:nil, body_data:nil, read_length:nil)
         | 
| @@ -341,6 +338,7 @@ module Pindo | |
| 341 338 | 
             
                    attr_accessor :upload_total_size
         | 
| 342 339 | 
             
                    attr_accessor :last_update_time
         | 
| 343 340 | 
             
                    attr_accessor :update_ing_size
         | 
| 341 | 
            +
                    attr_accessor :is_done
         | 
| 344 342 |  | 
| 345 343 | 
             
                    def initialize(upload_total_size:nil, draw_char:'>')
         | 
| 346 344 |  | 
| @@ -351,6 +349,8 @@ module Pindo | |
| 351 349 |  | 
| 352 350 | 
             
                      @complete_size = 0
         | 
| 353 351 | 
             
                      @update_ing_size = {}
         | 
| 352 | 
            +
             | 
| 353 | 
            +
                      @is_done = false
         | 
| 354 354 | 
             
                    end
         | 
| 355 355 |  | 
| 356 356 | 
             
                    def update_upload_index(upload_part:nil, upload_size:nil)
         | 
| @@ -373,7 +373,7 @@ module Pindo | |
| 373 373 | 
             
                            total_num = @upload_total_size
         | 
| 374 374 | 
             
                            index_num = @complete_size
         | 
| 375 375 | 
             
                            @update_ing_size.each do |key, value|
         | 
| 376 | 
            -
             | 
| 376 | 
            +
                               index_num = index_num + value
         | 
| 377 377 | 
             
                            end
         | 
| 378 378 |  | 
| 379 379 | 
             
                            progress_str = sprintf("%.2f", 100.0 * index_num / total_num )
         | 
| @@ -382,19 +382,14 @@ module Pindo | |
| 382 382 | 
             
                            index = 40.0 * index_num / total_num
         | 
| 383 383 | 
             
                            upload_message = "已上传:#{upload_size}MB|#{progress_str}\%【" + (@draw_char * (index/1).floor).ljust(40.0, '_') +  "】Total:#{total_size}MB"
         | 
| 384 384 | 
             
                            Funlog.instance.fancyinfo_update(upload_message)
         | 
| 385 | 
            +
                            if index_num == total_num && !@is_done
         | 
| 386 | 
            +
                              @is_done = true
         | 
| 387 | 
            +
                              Funlog.instance.fancyinfo_success(upload_message)
         | 
| 388 | 
            +
                            end
         | 
| 385 389 | 
             
                        end
         | 
| 386 390 | 
             
                    end
         | 
| 387 391 |  | 
| 388 392 | 
             
                  end
         | 
| 389 393 |  | 
| 390 | 
            -
                  # def set_progress(index_num, total_num,  char ='>' )
         | 
| 391 | 
            -
                  #     progress_str = sprintf("%.2f", 100.0 * index_num / total_num )
         | 
| 392 | 
            -
                  #     total_size = sprintf("%.2f", 1.00 * total_num / 1024 /1024 )
         | 
| 393 | 
            -
                  #     upload_size = sprintf("%.2f", 1.00 * index_num / 1024 /1024 )
         | 
| 394 | 
            -
                  #     index = 40.0 * index_num / total_num
         | 
| 395 | 
            -
                  #     upload_message = "已上传:#{upload_size}MB|#{progress_str}\%【" + (char * (index/1).floor).ljust(40.0, '_') +  "】Total:#{total_size}MB"
         | 
| 396 | 
            -
                  #     Funlog.instance.fancyinfo_update(upload_message)
         | 
| 397 | 
            -
                  # end
         | 
| 398 | 
            -
             | 
| 399 394 | 
             
              end
         | 
| 400 395 | 
             
            end
         | 
    
        data/lib/pindo/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: pindo
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 4.8. | 
| 4 | 
            +
              version: 4.8.1
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - wade
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date: 2024-05- | 
| 11 | 
            +
            date: 2024-05-25 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: claide
         |