EXtremeZip 2021.5.7 → 2021.5.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/extremeunzip.zzaqsu.rb +42 -45
- data/lib/extremezip.zzaqsv.rb +18 -25
- 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: 753ba1f2130dde6c6ec8bddf35f5536e28de100cc5997099d5fe2794105e8d9c
|
4
|
+
data.tar.gz: 50fa807bb7b151b9107c6cae2fd96b2547c72766e8e224c4c1f3b31439ec6340
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9092daf0b835cc90785654fbba17fc4c706bd644840356be43783abdcb4e4ac26cb3b8d0a8732a7450be4faac25e71ad0b83351f9486035cdf254e05b261131b
|
7
|
+
data.tar.gz: cefc4c93c3b8ec68a11c845fad249c7fc021e2a063c9ffe72545c21d5dd47cfd6dd4c69bc8506f51bf7cacc8b9fc0d8ef5997b4ef15b7a7954a25acedf292926
|
data/lib/extremeunzip.zzaqsu.rb
CHANGED
@@ -97,60 +97,57 @@ end # extractVfsDataWithVersion(wholeCbor, fileVersion) #根据版本号
|
|
97
97
|
class ExtremeUnZip
|
98
98
|
#解压
|
99
99
|
def exuz(rootPath)
|
100
|
+
wholeFileContent=File.read(rootPath) #最终文件内容
|
100
101
|
|
101
|
-
|
102
|
-
wholeFileContent=File.read(rootPath) #最终文件内容
|
103
|
-
|
104
|
-
# puts wholeFileContent #Debug.
|
105
102
|
checkMemoryUsage(60)
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
103
|
+
|
104
|
+
puts wholeFileContent.class #debug
|
105
|
+
|
106
|
+
wholeCborByteArray=wholeFileContent[4..-1] #从第5个到末尾
|
110
107
|
checkMemoryUsage(65)
|
111
|
-
|
112
|
-
|
113
|
-
# puts wholeCborByteArray #Debug.
|
114
|
-
|
115
|
-
checkMemoryUsage(70)
|
116
|
-
wholeCbor=CBOR.decode(wholeCborByteArray) #解码
|
117
|
-
# wholeCbor=wholeCborByteArray.from_cbor #解码CBOR
|
118
|
-
|
119
|
-
# puts wholeCbor #Debug.
|
120
|
-
checkMemoryUsage(75)
|
121
|
-
|
122
|
-
fileVersion=wholeCbor['version'] #获取版本号
|
123
|
-
|
124
|
-
puts 'fileVersion:' #Debug
|
125
|
-
checkMemoryUsage(80)
|
126
|
-
puts fileVersion #Debug.
|
127
|
-
|
128
|
-
|
129
|
-
if (fileVersion<14) #版本号过小
|
130
|
-
checkMemoryUsage(85)
|
131
|
-
puts 'file version too old' #报告错误
|
132
|
-
else #版本号够大
|
133
|
-
compressedVfsMenu=wholeCbor['vfsMenu'] #获取压缩后的目录内容
|
134
108
|
|
135
|
-
checkMemoryUsage(90)
|
136
|
-
replyByteArray=LZMA.decompress(compressedVfsMenu) #解码目录VFS字节数组内容
|
137
109
|
|
138
|
-
#
|
139
|
-
|
140
|
-
checkMemoryUsage(95)
|
141
|
-
# victoriaFreshData=extractVfsDataWithVersion(wholeCbor, fileVersion) #根据版本号,提取VFS数据内容
|
142
|
-
victoriaFreshDataFile=extractVfsDataWithVersionExternalFile(wholeCbor, fileVersion) #根据版本号,提取VFS数据内容
|
110
|
+
# puts wholeCborByteArray #Debug.
|
143
111
|
|
144
|
-
|
112
|
+
checkMemoryUsage(70)
|
113
|
+
wholeCbor=CBOR.decode(wholeCborByteArray) #解码
|
114
|
+
# wholeCbor=wholeCborByteArray.from_cbor #解码CBOR
|
145
115
|
|
146
|
-
|
147
|
-
|
116
|
+
# puts wholeCbor #Debug.
|
117
|
+
checkMemoryUsage(75)
|
148
118
|
|
119
|
+
fileVersion=wholeCbor['version'] #获取版本号
|
120
|
+
|
121
|
+
puts 'fileVersion:' #Debug
|
122
|
+
checkMemoryUsage(80)
|
123
|
+
puts fileVersion #Debug.
|
124
|
+
|
125
|
+
|
126
|
+
if (fileVersion<14) #版本号过小
|
127
|
+
checkMemoryUsage(85)
|
128
|
+
puts 'file version too old' #报告错误
|
129
|
+
else #版本号够大
|
130
|
+
compressedVfsMenu=wholeCbor['vfsMenu'] #获取压缩后的目录内容
|
131
|
+
|
132
|
+
checkMemoryUsage(90)
|
133
|
+
replyByteArray=LZMA.decompress(compressedVfsMenu) #解码目录VFS字节数组内容
|
134
|
+
|
135
|
+
# puts replyByteArray #Debug
|
136
|
+
|
137
|
+
checkMemoryUsage(95)
|
138
|
+
# victoriaFreshData=extractVfsDataWithVersion(wholeCbor, fileVersion) #根据版本号,提取VFS数据内容
|
139
|
+
victoriaFreshDataFile=extractVfsDataWithVersionExternalFile(wholeCbor, fileVersion) #根据版本号,提取VFS数据内容
|
140
|
+
|
141
|
+
# puts victoriaFreshData #Debug
|
142
|
+
|
143
|
+
checkMemoryUsage(100)
|
144
|
+
$clipDownloader=VictoriaFresh.new #创建下载器。
|
145
|
+
|
146
|
+
|
147
|
+
$clipDownloader.releaseFilesExternalDataFile(replyByteArray, victoriaFreshDataFile) #释放各个文件
|
148
|
+
checkMemoryUsage(105)
|
149
|
+
end #if (fileVersion<14) #版本号过小
|
149
150
|
|
150
|
-
$clipDownloader.releaseFilesExternalDataFile(replyByteArray, victoriaFreshDataFile) #释放各个文件
|
151
|
-
checkMemoryUsage(105)
|
152
|
-
end #if (fileVersion<14) #版本号过小
|
153
|
-
|
154
151
|
end #def exuz(rootPath)
|
155
152
|
end #class ExtremeUnZip
|
156
153
|
|
data/lib/extremezip.zzaqsv.rb
CHANGED
@@ -56,8 +56,6 @@ class ExtremeZip
|
|
56
56
|
#利用protobuf打包成字节数组:
|
57
57
|
replyByteArray="" #回复时使用的字节数组。
|
58
58
|
checkMemoryUsage(30)
|
59
|
-
# victoriaFresh.encode(replyByteArray) #打包成字节数组。
|
60
|
-
# replyByteArray=Com::Stupidbeauty::Victoriafresh::FileMessage.encode(victoriaFresh) ##打包成字节数组。
|
61
59
|
replyByteArray=victoriaFresh.to_cbor ##打包成字节数组。
|
62
60
|
|
63
61
|
checkMemoryUsage(35)
|
@@ -114,40 +112,35 @@ class ExtremeZip
|
|
114
112
|
filePartCounter=0 #文件计数器
|
115
113
|
|
116
114
|
while (filePartCounter < filePartAmount) #未处理完毕
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
#记录管道:
|
132
|
-
checkMemoryUsage(110)
|
133
|
-
taskPipeList << currentTaskPipe
|
134
|
-
responsePipeList << currentResponsePipe
|
135
|
-
|
115
|
+
currentBlockFile=File.new($clipDownloader.diskFileName+filePartCounter.to_s, 'rb') #打开文件
|
116
|
+
|
117
|
+
currentBlockData=currentBlockFile.read #读取全部内容
|
118
|
+
|
119
|
+
currentBlockFile.close #关闭文件
|
120
|
+
|
121
|
+
File.delete(currentBlockFile) #删除数据块文件
|
122
|
+
|
123
|
+
currentTaskPipe=Cod.pipe #任务分配管道
|
124
|
+
currentResponsePipe=Cod.pipe #任务回复管道
|
125
|
+
|
126
|
+
#记录管道:
|
127
|
+
taskPipeList << currentTaskPipe
|
128
|
+
responsePipeList << currentResponsePipe
|
136
129
|
p1 = fork do #复制出子进程
|
137
|
-
|
130
|
+
checkMemoryUsage(115)
|
138
131
|
currentBlockDataToCompress=currentBlockData #读取数据块
|
139
132
|
|
140
133
|
currentCompressedVfsData=LZMA.compress(currentBlockDataToCompress) #压缩当前块
|
141
134
|
|
142
|
-
|
135
|
+
checkMemoryUsage(120)
|
143
136
|
puts("compressed data length: #{currentCompressedVfsData.bytesize}") #Debug.
|
144
137
|
|
145
138
|
currentResponsePipe.put currentCompressedVfsData #将压缩后的数据块写入到回复管道中
|
146
139
|
|
147
|
-
|
140
|
+
checkMemoryUsage(125)
|
148
141
|
puts("finished #{Process.pid}") #Debug
|
149
142
|
end #p1 = fork do #复制出子进程
|
150
|
-
|
143
|
+
|
151
144
|
processDataLength=processDataLength + dataBlockLength #计数
|
152
145
|
checkMemoryUsage(130)
|
153
146
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: EXtremeZip
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2021.5.
|
4
|
+
version: 2021.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hxcan Cai
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-05-
|
11
|
+
date: 2021-05-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: VictoriaFreSh
|