magellan-gcs-proxy 0.2.0 → 0.3.0
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/example/Dockerfile +1 -1
- data/example/Gemfile.lock +1 -1
- data/example/app.sh +32 -4
- data/exe/magellan-gcs-proxy-dev-setup +1 -1
- data/lib/magellan/gcs/proxy/context.rb +12 -8
- data/lib/magellan/gcs/proxy/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea3b9c9c14c544a0856ccc2fc7e5923058ea2842
|
4
|
+
data.tar.gz: 7097911f386a69da3f54f01ceb4ad37c8e3cfc88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5afd3e0bc9f9510715d9b509c46b38f43f552c1006e324931c13ae12fde72db44bfd48074b864e26c48f0071c8baa4ed11945ffd7d530406235fd0b8238aa5f6
|
7
|
+
data.tar.gz: 35e8d6f94d1bc21e2a8080bf0244bbf52ec41323d273f81d330f5d42e85a5d39d645c3b96e20561dd4b31528f283a890b900a0b1caf5826db3a377ff32a1e25a
|
data/example/Dockerfile
CHANGED
@@ -15,4 +15,4 @@ COPY . $APP_HOME
|
|
15
15
|
WORKDIR $APP_HOME
|
16
16
|
RUN bundle install --without development
|
17
17
|
|
18
|
-
CMD ["bundle", "exec", "magellan-gcs-proxy", "./app.sh", "%{download_files.0}", "%{uploads_dir}"]
|
18
|
+
CMD ["bundle", "exec", "magellan-gcs-proxy", "./app.sh", "%{download_files.0}", "%{downloads_dir}", "%{uploads_dir}", "test"]
|
data/example/Gemfile.lock
CHANGED
data/example/app.sh
CHANGED
@@ -1,19 +1,47 @@
|
|
1
1
|
#!/bin/bash
|
2
2
|
|
3
3
|
usage() {
|
4
|
-
echo usage: `basename $0`
|
4
|
+
echo usage: `basename $0` download_filepath downloads_dir uploads_dir suffix
|
5
5
|
}
|
6
6
|
|
7
|
-
if [ $# -ne
|
7
|
+
if [ $# -ne 4 ]; then
|
8
8
|
echo `basename $0`: missing operand 1>&2
|
9
9
|
usage
|
10
10
|
exit 1
|
11
11
|
fi
|
12
12
|
|
13
13
|
fpath=$1
|
14
|
+
downloads_dir=$2
|
15
|
+
uploads_dir=$3
|
16
|
+
suffix=$4
|
17
|
+
|
18
|
+
dl_localpath=${fpath##$downloads_dir/}
|
19
|
+
dl_bucket=$(echo $dl_localpath | cut -d '/' -f1)
|
20
|
+
dl_relpath=${dl_localpath##$dl_bucket/}
|
21
|
+
dl_fname=${dl_relpath##*/}
|
22
|
+
dl_dir=${dl_relpath%$dl_fname}
|
23
|
+
|
24
|
+
echo "dl_localpath=${dl_localpath}"
|
25
|
+
echo "dl_bucket=${dl_bucket}"
|
26
|
+
echo "dl_relpath=${dl_relpath}"
|
27
|
+
echo "dl_fname=${dl_fname}"
|
28
|
+
echo "dl_dir=${dl_dir}"
|
29
|
+
|
30
|
+
|
14
31
|
fname="${fpath##*/}"
|
15
32
|
fbase="${fname%.*}"
|
16
33
|
fext="${fpath##*.}"
|
17
|
-
mkdir -p $2
|
18
34
|
|
19
|
-
|
35
|
+
echo "fname=${fname}"
|
36
|
+
echo "fbase=${fbase}"
|
37
|
+
echo "fext=${fext}"
|
38
|
+
|
39
|
+
|
40
|
+
ul_dir="$3/${dl_bucket}/${dl_dir}"
|
41
|
+
ul_path="${ul_dir}${fbase}-${suffix}.${fext}"
|
42
|
+
|
43
|
+
echo "ul_dir=${ul_dir}"
|
44
|
+
echo "ul_path=${ul_path}"
|
45
|
+
|
46
|
+
mkdir -p $ul_dir
|
47
|
+
cp $fpath $ul_path
|
@@ -43,7 +43,7 @@ echo "export BLOCKS_BATCH_PROJECT_ID=${project_id}"
|
|
43
43
|
echo "export BLOCKS_BATCH_PUBSUB_SUBSCRIPTION=${job_sub}"
|
44
44
|
echo "export BLOCKS_BATCH_PROGRESS_TOPIC=${progress_topic}"
|
45
45
|
echo "export BLOCKS_BATCH_CLOUD_LOGGING_LOG_NAME=magellan-gcs-proxy-example-logging"
|
46
|
-
echo "bundle exec magellan-gcs-proxy ./app.sh %{download_files.0} %{uploads_dir}"
|
46
|
+
echo "bundle exec magellan-gcs-proxy ./app.sh %{download_files.0} %{downloads_dir} %{uploads_dir} test"
|
47
47
|
echo ""
|
48
48
|
echo "#"
|
49
49
|
echo "# At Terminal 3: Publish message"
|
@@ -65,13 +65,17 @@ module Magellan
|
|
65
65
|
|
66
66
|
def upload
|
67
67
|
Dir.chdir(uploads_dir) do
|
68
|
-
Dir.glob('
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
68
|
+
Dir.glob('*') do |bucket_name|
|
69
|
+
Dir.chdir(bucket_name) do
|
70
|
+
Dir.glob('**/*') do |path|
|
71
|
+
next if directory?(path)
|
72
|
+
url = "gs://#{bucket_name}/#{path}"
|
73
|
+
logger.info("Uploading: #{path} to #{url}")
|
74
|
+
bucket = GCP.storage.bucket(bucket_name)
|
75
|
+
bucket.create_file path, path
|
76
|
+
logger.info("Upload OK: #{path} to #{url}")
|
77
|
+
end
|
78
|
+
end
|
75
79
|
end
|
76
80
|
end
|
77
81
|
end
|
@@ -87,7 +91,7 @@ module Magellan
|
|
87
91
|
def build_mapping(base_dir, obj)
|
88
92
|
flatten_values(obj).flatten.each_with_object({}) do |url, d|
|
89
93
|
uri = parse_uri(url)
|
90
|
-
d[url] = File.join(base_dir, uri.path)
|
94
|
+
d[url] = File.join(base_dir, uri.host, uri.path)
|
91
95
|
end
|
92
96
|
end
|
93
97
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magellan-gcs-proxy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- akm
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dotenv
|