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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 97082e16910f8eb448e9dd90a579dab3f5d2645b
4
- data.tar.gz: b8ef0a1084a6da1b9287a9806c91ebd1e73b0ba8
3
+ metadata.gz: ea3b9c9c14c544a0856ccc2fc7e5923058ea2842
4
+ data.tar.gz: 7097911f386a69da3f54f01ceb4ad37c8e3cfc88
5
5
  SHA512:
6
- metadata.gz: 412d7f881615ba6bb467cd655d69a60701297f1bcd0a32be6bea745cf41a517f88dc0d3631c628a545e2a9d5c4acb586b02bbd1fa0f596e7d471f5d7968780ec
7
- data.tar.gz: cda4e394851a8f65fc5edd6564faae8dda6ad74c9f1fe2c52a4b1953ddca4f48775be4138703516f8245cb9dec25b13d99cc6980d4002197c7fe91a1ace7ed79
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
@@ -65,7 +65,7 @@ GEM
65
65
  logging (2.1.0)
66
66
  little-plugger (~> 1.1)
67
67
  multi_json (~> 1.10)
68
- magellan-gcs-proxy (0.2.0)
68
+ magellan-gcs-proxy (0.3.0)
69
69
  dotenv
70
70
  google-cloud-logging
71
71
  google-cloud-storage
data/example/app.sh CHANGED
@@ -1,19 +1,47 @@
1
1
  #!/bin/bash
2
2
 
3
3
  usage() {
4
- echo usage: `basename $0` src_path dest_path
4
+ echo usage: `basename $0` download_filepath downloads_dir uploads_dir suffix
5
5
  }
6
6
 
7
- if [ $# -ne 2 ]; then
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
- cp $1 $2/${fbase}-$(date '+%Y%m%d-%T' | tr -d :).${fext}
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('**/*') do |path|
69
- next if directory?(path)
70
- url = "gs://#{@last_bucket_name}/#{path}"
71
- logger.info("Uploading: #{path} to #{url}")
72
- bucket = GCP.storage.bucket(@last_bucket_name)
73
- bucket.create_file path, path
74
- logger.info("Upload OK: #{path} to #{url}")
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
 
@@ -1,7 +1,7 @@
1
1
  module Magellan
2
2
  module Gcs
3
3
  module Proxy
4
- VERSION = '0.2.0'.freeze
4
+ VERSION = '0.3.0'.freeze
5
5
  end
6
6
  end
7
7
  end
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.2.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-19 00:00:00.000000000 Z
11
+ date: 2016-12-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: dotenv