unienv 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/assets/unity_versions.yml +6 -0
- data/lib/unienv/rss.rb +23 -0
- data/lib/unienv/version.rb +1 -1
- data/lib/unienv.rb +63 -22
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fbf206ad83f702c07d73b7d3ef8ba5a05d8cfc6
|
4
|
+
data.tar.gz: b006bcc0ab272d93e4c3bf4329cd5a0e006a53b9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 116c9709f29771c9891b2a0c31382a02c1eacc273ae9da236d450b6486a1c5c213ab4ec2408860e7724af7e0c91c60ce84e3f9638c1b4f396ab56f9f1caa6e14
|
7
|
+
data.tar.gz: 7c9cbf1c4bcd4b0e87b51517c2ccff457edd3403ef8e52139c9c33319836e43cf67c32c66f1a010d70dd8de515501ed068695663bb24f91401a97c47f3bca8fb
|
data/README.md
CHANGED
@@ -1,4 +1,10 @@
|
|
1
1
|
version:
|
2
|
+
5.2.1f1:
|
3
|
+
editor: http://netstorage.unity3d.com/unity/44735ea161b3/MacEditorInstaller/Unity-5.2.1f1.pkg
|
4
|
+
standard_assets: http://netstorage.unity3d.com/unity/44735ea161b3/MacStandardAssetsInstaller/StandardAssets-5.2.1f1.pkg
|
5
|
+
5.2.0p1:
|
6
|
+
editor: http://beta.unity3d.com/download/cd0778e591b3/MacEditorInstaller/Unity-5.2.0p1.pkg
|
7
|
+
standard_assets: http://beta.unity3d.com/download/cd0778e591b3/MacStandardAssetsInstaller/StandardAssets-5.2.0p1.pkg
|
2
8
|
5.2.0f3:
|
3
9
|
editor: http://netstorage.unity3d.com/unity/e7947df39b5c/MacEditorInstaller/Unity-5.2.0f3.pkg
|
4
10
|
standard_assets: http://netstorage.unity3d.com/unity/e7947df39b5c/MacStandardAssetsInstaller/StandardAssets-5.2.0f3.pkg
|
data/lib/unienv/rss.rb
ADDED
@@ -0,0 +1,23 @@
|
|
1
|
+
require "rexml/document"
|
2
|
+
require "cgi"
|
3
|
+
|
4
|
+
|
5
|
+
module Rss
|
6
|
+
def self.fetch_rss(uri)
|
7
|
+
s = UniEnv.download_to_s(uri).read
|
8
|
+
#s.gsub!(/</, '<')
|
9
|
+
#s.gsub!(/>/, '>')
|
10
|
+
doc = REXML::Document.new(s)
|
11
|
+
versions = {}
|
12
|
+
doc.elements.each('rss/channel/item') do |e|
|
13
|
+
ver = (e.elements['title'].text.strip =~ /\APatch\s+(.+)\Z/)? $1 : ''
|
14
|
+
next if ver.empty? or ver[0] == '4'
|
15
|
+
desc = CGI.unescapeHTML(e.elements['description'].text)
|
16
|
+
editor = (desc =~ /Unity-#{ver}.pkg/)? $& : ''
|
17
|
+
assets = (desc =~ /StandardAssets-#{ver}.pkg/)? $& : ''
|
18
|
+
next if editor.empty? or assets.empty?
|
19
|
+
versions[ver] = [editor, assets]
|
20
|
+
end
|
21
|
+
versions
|
22
|
+
end
|
23
|
+
end
|
data/lib/unienv/version.rb
CHANGED
data/lib/unienv.rb
CHANGED
@@ -2,7 +2,8 @@ require "unienv/version"
|
|
2
2
|
require "yaml"
|
3
3
|
require "tmpdir"
|
4
4
|
require "open-uri"
|
5
|
-
|
5
|
+
require "rexml/document"
|
6
|
+
require "unienv/rss"
|
6
7
|
|
7
8
|
module UniEnv
|
8
9
|
def self.sh(cmd)
|
@@ -105,32 +106,33 @@ module UniEnv
|
|
105
106
|
find_cache("StandardAssets", version)
|
106
107
|
end
|
107
108
|
|
108
|
-
def self.
|
109
|
+
def self.download_to_s(uri)
|
109
110
|
totalsize = nil
|
110
111
|
size = 0
|
111
112
|
progress = 0
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
{
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
progress = rate
|
127
|
-
end
|
113
|
+
OpenURI.open_uri(
|
114
|
+
uri,
|
115
|
+
{
|
116
|
+
:content_length_proc => lambda { |sz|
|
117
|
+
totalsize = sz
|
118
|
+
print "total: #{sz / 1024}KB\n"
|
119
|
+
},
|
120
|
+
:progress_proc => lambda { |sz|
|
121
|
+
unless totalsize.nil?
|
122
|
+
size = sz
|
123
|
+
rate = ((size.to_f / totalsize.to_f) * 10).to_i
|
124
|
+
if rate > progress
|
125
|
+
print ". #{sz / 1024}KB\n"
|
126
|
+
progress = rate
|
128
127
|
end
|
129
|
-
|
130
|
-
}
|
131
|
-
|
128
|
+
end
|
129
|
+
},
|
130
|
+
}
|
131
|
+
)
|
132
|
+
end
|
133
|
+
def self.download(uri, path)
|
132
134
|
File.open(path, "w+") do |f|
|
133
|
-
f.write(
|
135
|
+
f.write(download_to_s(uri).read)
|
134
136
|
end
|
135
137
|
end
|
136
138
|
|
@@ -216,10 +218,49 @@ end
|
|
216
218
|
|
217
219
|
|
218
220
|
|
221
|
+
command :fetch do |c|
|
222
|
+
|
223
|
+
c.action do |args, options|
|
224
|
+
Rss.fetch_rss("http://unity3d.com/unity/qa/patch-releases/latest.xml")
|
225
|
+
|
226
|
+
|
227
|
+
#s = UniEnv.download_to_s("http://unity3d.com/unity/qa/patch-releases/latest.xml").read
|
228
|
+
#s.gsub!(/</, '<')
|
229
|
+
#s.gsub!(/>/, '>')
|
230
|
+
#doc = REXML::Document.new(s)
|
231
|
+
#doc.elements.each('rss/channel/item') do |e|
|
232
|
+
# e.elements.each('title') do |t|
|
233
|
+
# p t.text
|
234
|
+
# end
|
235
|
+
# #p e['title']
|
236
|
+
#end
|
237
|
+
|
238
|
+
|
239
|
+
|
240
|
+
|
241
|
+
|
242
|
+
|
219
243
|
|
220
244
|
|
221
245
|
|
222
246
|
|
247
|
+
#sio = StringIO.new
|
248
|
+
#REXML::Formatters::Pretty.new.write(doc, sio)
|
249
|
+
#puts sio.string
|
250
|
+
|
251
|
+
#puts doc
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
end
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
|
260
|
+
|
261
|
+
end
|
262
|
+
|
263
|
+
|
223
264
|
|
224
265
|
|
225
266
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unienv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- fum1h1ro
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-09-
|
11
|
+
date: 2015-09-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -82,6 +82,7 @@ files:
|
|
82
82
|
- bin/unienv
|
83
83
|
- lib/assets/unity_versions.yml
|
84
84
|
- lib/unienv.rb
|
85
|
+
- lib/unienv/rss.rb
|
85
86
|
- lib/unienv/version.rb
|
86
87
|
- spec/spec_helper.rb
|
87
88
|
- spec/unienv_spec.rb
|