VictoriaFreSh 2020.7.34 → 2020.7.38
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/victoriafresh.rb +34 -13
- data/victoriafresh.example.rb +4 -5
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: a39fedfddb83014e92fd898251a01010a116a89766dddb607dd9ac10d98fd470
|
|
4
|
+
data.tar.gz: aa1df0393ee1fb5b7c9cb127e62c9413cec9cd16984547baa0271aa4fbd0398d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 890dd1f57aa777c450ac052007375f3c36519b9dd3e6e116f8f5bd9a3caa3c1874d9f58d4b0657211b18b1f15073cc7006d6f680f7cf3259f2299ca4b30cccf3
|
|
7
|
+
data.tar.gz: 6e3fb87d0f7e9e431027c6dfd44b86b7634593322391509e29151080747967493ff37aded92bcda98dc84cbbc004d3923b1421068be3f27c88d506e7dbd91e75
|
data/lib/victoriafresh.rb
CHANGED
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
require 'pathname'
|
|
4
4
|
require 'fileutils'
|
|
5
|
+
require 'cbor'
|
|
5
6
|
|
|
6
|
-
require File.dirname(__FILE__)+'/VictoriaFreSh/filemessage_pb.rb'
|
|
7
|
+
# require File.dirname(__FILE__)+'/VictoriaFreSh/filemessage_pb.rb'
|
|
7
8
|
|
|
8
9
|
class VictoriaFresh
|
|
9
10
|
def releaseFiles(victoriaFreshPackagedFileString, contentString) #释放目录树
|
|
@@ -82,8 +83,11 @@ class VictoriaFresh
|
|
|
82
83
|
end #def releaseFile(packagedFile, contentString) #释放一个文件
|
|
83
84
|
|
|
84
85
|
def checkOnce(directoryPath,startIndex=0) #打包一个目录树。
|
|
85
|
-
|
|
86
|
+
# packagedFile=Com::Stupidbeauty::Victoriafresh::FileMessage.new #创建文件消息对象。
|
|
87
|
+
packagedFile={} #创建文件消息对象。
|
|
88
|
+
|
|
86
89
|
# packagedFile.sub_files=[] #初始化数组。
|
|
90
|
+
packagedFile['sub_files'] = [] #加入到子文件列表中。
|
|
87
91
|
|
|
88
92
|
# packagedFile.sub_files=Google::Protobuf::RepeatedField.new(Com::Stupidbeauty::Victoriafresh::FileMessage, []) #初始化数组
|
|
89
93
|
# packagedFile.sub_files=Google::Protobuf::RepeatedField.new(Google::Protobuf::DescriptorPool.generated_pool.lookup("com.stupidbeauty.victoriafresh.FileMessage").msgclass, []) #初始化数组
|
|
@@ -93,11 +97,16 @@ class VictoriaFresh
|
|
|
93
97
|
|
|
94
98
|
baseName=directoryPathName.basename.to_s #基本文件名。
|
|
95
99
|
|
|
96
|
-
|
|
100
|
+
# packagedFile.name=baseName #设置文件名。
|
|
101
|
+
packagedFile['name']=baseName #设置文件名。
|
|
97
102
|
|
|
98
103
|
isFile=directoryPathName.file? #是否是文件。
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
|
|
105
|
+
# packagedFile.is_file=isFile #设置属性,是否是文件。
|
|
106
|
+
packagedFile['is_file']=isFile #设置属性,是否是文件。
|
|
107
|
+
|
|
108
|
+
# packagedFile.file_start_index=startIndex #记录文件内容的开始位置。
|
|
109
|
+
packagedFile['file_start_index']=startIndex #记录文件内容的开始位置。
|
|
101
110
|
|
|
102
111
|
|
|
103
112
|
#记录时间戳:
|
|
@@ -107,12 +116,19 @@ class VictoriaFresh
|
|
|
107
116
|
puts mtimeStamp.tv_sec #Debug
|
|
108
117
|
puts mtimeStamp.tv_nsec #Debug
|
|
109
118
|
|
|
110
|
-
|
|
111
|
-
packagedFile
|
|
112
|
-
|
|
119
|
+
# packagedFile.timestamp=Google::Protobuf::Timestamp.new #时间戳
|
|
120
|
+
packagedFile['timestamp']={} #时间戳
|
|
121
|
+
|
|
122
|
+
# packagedFile.timestamp.seconds=mtimeStamp.tv_sec #设置秒数
|
|
123
|
+
packagedFile['timestamp']['seconds']=mtimeStamp.tv_sec #设置秒数
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
# packagedFile.timestamp.nanos=mtimeStamp.tv_nsec #设置纳秒数
|
|
127
|
+
packagedFile['timestamp']['nanos']=mtimeStamp.tv_nsec #设置纳秒数
|
|
113
128
|
|
|
114
129
|
if (isFile) #是文件,不用再列出其子文件了。
|
|
115
|
-
|
|
130
|
+
# packagedFile.file_length=directoryPathName.size #记录文件的内容长度。
|
|
131
|
+
packagedFile['file_length']=directoryPathName.size #记录文件的内容长度。
|
|
116
132
|
|
|
117
133
|
#读取文件内容:
|
|
118
134
|
fileToReadContent=File.new(directoryPath,"rb") #创建文件。
|
|
@@ -121,7 +137,9 @@ class VictoriaFresh
|
|
|
121
137
|
else #是目录。
|
|
122
138
|
contentString="" #容纳内容的字符串。
|
|
123
139
|
subFileStartIndex=startIndex #子文件的起始位置,以此目录的起始位置为基准。
|
|
124
|
-
|
|
140
|
+
|
|
141
|
+
# packagedFile.file_length=0 #本目录的内容长度。
|
|
142
|
+
packagedFile['file_length']=0 #本目录的内容长度。
|
|
125
143
|
|
|
126
144
|
directoryPathName.each_child do |subFile| #一个个文件地处理。
|
|
127
145
|
realPath=subFile.realpath #获取绝对路径。
|
|
@@ -129,13 +147,16 @@ class VictoriaFresh
|
|
|
129
147
|
|
|
130
148
|
packagedSubFile,subFileContent=checkOnce(realPath,subFileStartIndex) #打包这个子文件。
|
|
131
149
|
|
|
132
|
-
|
|
150
|
+
# packagedFile.sub_files << packagedSubFile #加入到子文件列表中。
|
|
151
|
+
packagedFile['sub_files'] << packagedSubFile #加入到子文件列表中。
|
|
133
152
|
|
|
134
153
|
contentString = contentString + subFileContent #串接文件内容。
|
|
135
154
|
|
|
136
|
-
|
|
155
|
+
# subFileStartIndex+=packagedSubFile.file_length #记录打包的子文件的长度,更新下一个要打包的子文件的起始位置。
|
|
156
|
+
subFileStartIndex+=packagedSubFile['file_length'] #记录打包的子文件的长度,更新下一个要打包的子文件的起始位置。
|
|
137
157
|
|
|
138
|
-
|
|
158
|
+
# packagedFile.file_length+=packagedSubFile.file_length #随着子文件的打包而更新本目录的总长度。
|
|
159
|
+
packagedFile['file_length']+=packagedSubFile['file_length'] #随着子文件的打包而更新本目录的总长度。
|
|
139
160
|
end #directoryPathName.each_child do |subFile| #一个个文件地处理。
|
|
140
161
|
end #if (isFile) #是文件,不用再列出其子文件了。
|
|
141
162
|
|
data/victoriafresh.example.rb
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/ruby
|
|
2
2
|
|
|
3
|
-
# require '
|
|
4
|
-
|
|
5
|
-
require 'victoriafresh'
|
|
6
|
-
# require File.dirname(__FILE__)+'/lib/victoriafresh'
|
|
3
|
+
# require 'victoriafresh'
|
|
4
|
+
require File.dirname(__FILE__)+'/lib/victoriafresh'
|
|
7
5
|
|
|
8
6
|
if (ARGV.empty? ) #未指定命令行参数。
|
|
9
7
|
else #指定了命令行参数。
|
|
@@ -16,7 +14,8 @@ else #指定了命令行参数。
|
|
|
16
14
|
#利用protobuf打包成字节数组:
|
|
17
15
|
replyByteArray="" #回复时使用的字节数组。
|
|
18
16
|
# victoriaFresh.encode(replyByteArray) #打包成字节数组。
|
|
19
|
-
|
|
17
|
+
# replyByteArray=Com::Stupidbeauty::Victoriafresh::FileMessage.encode(victoriaFresh) ##打包成字节数组。
|
|
18
|
+
replyByteArray=victoriaFresh.to_cbor ##打包成字节数组。
|
|
20
19
|
|
|
21
20
|
victoriaFreshFile=File.new("victoriafresh.v","wb") #创建文件。
|
|
22
21
|
victoriaFreshFile.syswrite(replyByteArray) #写入文件。
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: VictoriaFreSh
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2020.7.
|
|
4
|
+
version: 2020.7.38
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Hxcan Cai
|
|
@@ -11,25 +11,25 @@ cert_chain: []
|
|
|
11
11
|
date: 2020-08-02 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
|
-
name:
|
|
14
|
+
name: cbor
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
17
|
- - "~>"
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
19
|
+
version: 0.5.9
|
|
20
20
|
- - ">="
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version:
|
|
22
|
+
version: 0.5.9.6
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
27
|
- - "~>"
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
29
|
+
version: 0.5.9
|
|
30
30
|
- - ">="
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version:
|
|
32
|
+
version: 0.5.9.6
|
|
33
33
|
description: Virtual file system.
|
|
34
34
|
email: caihuosheng@gmail.com
|
|
35
35
|
executables: []
|