magellan-gcs-proxy 0.2.0 → 0.3.0

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
  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