Redid file checking to use the provided chunked checksums, added (broken) support for partial package downloads (resumed package fails verification), misc. supporting changes.

This commit is contained in:
2021-11-17 22:34:15 -06:00
parent 2ccc09d0b4
commit 662e5c2b0c
8 changed files with 81 additions and 37 deletions

View File

@@ -1,7 +1,8 @@
class W3DHub
class Api
class Package
attr_reader :category, :subcategory, :name, :version, :size, :checksum, :checksum_chunk_size, :checksum_chunks
attr_reader :category, :subcategory, :name, :version, :size, :checksum, :checksum_chunk_size, :checksum_chunks,
:custom_partially_valid_at_bytes
def initialize(hash)
@data = hash
@@ -14,7 +15,17 @@ class W3DHub
@size = @data[:size]
@checksum = @data[:checksum]
@checksum_chunk_size = @data[:"checksum-chunk-size"]
@checksum_chunks = @data[:"checksum-chunks"]&.map { |c| Chunk.new(c) }
@checksum_chunks = @data[:"checksum-chunks"]
@custom_partially_valid_at_bytes = 0
end
def chunk(key)
@checksum_chunks[:"#{key}"]
end
def partially_valid_at_bytes=(i)
@custom_partially_valid_at_bytes = i
end
class Chunk