VictoriaFreSh 2020.7.34 → 2020.7.38

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: e94d9ec30267613093ac035dbe136f079ecc7aef2338fe97102f8ad9e2c28346
4
- data.tar.gz: a41b013e49e8c5fc4d581f183b92fb5fdced903da577c13b2c06727b6b9066e1
3
+ metadata.gz: a39fedfddb83014e92fd898251a01010a116a89766dddb607dd9ac10d98fd470
4
+ data.tar.gz: aa1df0393ee1fb5b7c9cb127e62c9413cec9cd16984547baa0271aa4fbd0398d
5
5
  SHA512:
6
- metadata.gz: 00617c1f82c32f5fc5889ad21bfe9edfccd4aa7caa99cbaee2a63db7320bcab155d4aeefd714979668123108ea0016f51844e5dbe26194a98d16ae8b66608fd0
7
- data.tar.gz: '05963d89eba36346fad251cc5102e07d13dac19616691fda5d4790bb8f9f210033a65d4efb9143722a93470abb995f1988495ac0990eb92639751666765af840'
6
+ metadata.gz: 890dd1f57aa777c450ac052007375f3c36519b9dd3e6e116f8f5bd9a3caa3c1874d9f58d4b0657211b18b1f15073cc7006d6f680f7cf3259f2299ca4b30cccf3
7
+ data.tar.gz: 6e3fb87d0f7e9e431027c6dfd44b86b7634593322391509e29151080747967493ff37aded92bcda98dc84cbbc004d3923b1421068be3f27c88d506e7dbd91e75
@@ -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
- packagedFile=Com::Stupidbeauty::Victoriafresh::FileMessage.new #创建文件消息对象。
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
- packagedFile.name=baseName #设置文件名。
100
+ # packagedFile.name=baseName #设置文件名。
101
+ packagedFile['name']=baseName #设置文件名。
97
102
 
98
103
  isFile=directoryPathName.file? #是否是文件。
99
- packagedFile.is_file=isFile #设置属性,是否是文件。
100
- packagedFile.file_start_index=startIndex #记录文件内容的开始位置。
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
- packagedFile.timestamp=Google::Protobuf::Timestamp.new #时间戳
111
- packagedFile.timestamp.seconds=mtimeStamp.tv_sec #设置秒数
112
- packagedFile.timestamp.nanos=mtimeStamp.tv_nsec #设置纳秒数
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
- packagedFile.file_length=directoryPathName.size #记录文件的内容长度。
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
- packagedFile.file_length=0 #本目录的内容长度。
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
- packagedFile.sub_files << packagedSubFile #加入到子文件列表中。
150
+ # packagedFile.sub_files << packagedSubFile #加入到子文件列表中。
151
+ packagedFile['sub_files'] << packagedSubFile #加入到子文件列表中。
133
152
 
134
153
  contentString = contentString + subFileContent #串接文件内容。
135
154
 
136
- subFileStartIndex+=packagedSubFile.file_length #记录打包的子文件的长度,更新下一个要打包的子文件的起始位置。
155
+ # subFileStartIndex+=packagedSubFile.file_length #记录打包的子文件的长度,更新下一个要打包的子文件的起始位置。
156
+ subFileStartIndex+=packagedSubFile['file_length'] #记录打包的子文件的长度,更新下一个要打包的子文件的起始位置。
137
157
 
138
- packagedFile.file_length+=packagedSubFile.file_length #随着子文件的打包而更新本目录的总长度。
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
 
@@ -1,9 +1,7 @@
1
1
  #!/usr/bin/ruby
2
2
 
3
- # require 'pathname'
4
- # require File.dirname(__FILE__)+'/filemessage.pb.rb'
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
- replyByteArray=Com::Stupidbeauty::Victoriafresh::FileMessage.encode(victoriaFresh) ##打包成字节数组。
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.34
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: protobuf
14
+ name: cbor
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '3.10'
19
+ version: 0.5.9
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.10.2
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: '3.10'
29
+ version: 0.5.9
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.10.2
32
+ version: 0.5.9.6
33
33
  description: Virtual file system.
34
34
  email: caihuosheng@gmail.com
35
35
  executables: []