aspera-cli 4.2.1 → 4.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1580 -946
  3. data/bin/ascli +1 -1
  4. data/bin/asession +3 -5
  5. data/docs/Makefile +8 -11
  6. data/docs/README.erb.md +1521 -829
  7. data/docs/doc_tools.rb +58 -0
  8. data/docs/test_env.conf +3 -1
  9. data/examples/faspex4.rb +28 -19
  10. data/examples/transfer.rb +2 -2
  11. data/lib/aspera/aoc.rb +157 -134
  12. data/lib/aspera/cli/listener/progress_multi.rb +5 -5
  13. data/lib/aspera/cli/main.rb +106 -48
  14. data/lib/aspera/cli/manager.rb +19 -20
  15. data/lib/aspera/cli/plugin.rb +22 -7
  16. data/lib/aspera/cli/plugins/aoc.rb +260 -208
  17. data/lib/aspera/cli/plugins/ats.rb +11 -10
  18. data/lib/aspera/cli/plugins/bss.rb +2 -2
  19. data/lib/aspera/cli/plugins/config.rb +360 -189
  20. data/lib/aspera/cli/plugins/faspex.rb +119 -56
  21. data/lib/aspera/cli/plugins/faspex5.rb +32 -17
  22. data/lib/aspera/cli/plugins/node.rb +72 -31
  23. data/lib/aspera/cli/plugins/orchestrator.rb +5 -3
  24. data/lib/aspera/cli/plugins/preview.rb +94 -68
  25. data/lib/aspera/cli/plugins/server.rb +16 -5
  26. data/lib/aspera/cli/plugins/shares.rb +17 -0
  27. data/lib/aspera/cli/transfer_agent.rb +64 -82
  28. data/lib/aspera/cli/version.rb +1 -1
  29. data/lib/aspera/command_line_builder.rb +48 -31
  30. data/lib/aspera/cos_node.rb +4 -3
  31. data/lib/aspera/environment.rb +4 -4
  32. data/lib/aspera/fasp/{manager.rb → agent_base.rb} +7 -6
  33. data/lib/aspera/fasp/{connect.rb → agent_connect.rb} +46 -39
  34. data/lib/aspera/fasp/{local.rb → agent_direct.rb} +42 -38
  35. data/lib/aspera/fasp/{http_gw.rb → agent_httpgw.rb} +50 -29
  36. data/lib/aspera/fasp/{node.rb → agent_node.rb} +43 -4
  37. data/lib/aspera/fasp/agent_trsdk.rb +106 -0
  38. data/lib/aspera/fasp/default.rb +17 -0
  39. data/lib/aspera/fasp/installation.rb +64 -48
  40. data/lib/aspera/fasp/parameters.rb +78 -91
  41. data/lib/aspera/fasp/parameters.yaml +531 -0
  42. data/lib/aspera/fasp/uri.rb +1 -1
  43. data/lib/aspera/faspex_gw.rb +12 -11
  44. data/lib/aspera/id_generator.rb +22 -0
  45. data/lib/aspera/keychain/encrypted_hash.rb +120 -0
  46. data/lib/aspera/keychain/macos_security.rb +94 -0
  47. data/lib/aspera/log.rb +45 -32
  48. data/lib/aspera/node.rb +9 -4
  49. data/lib/aspera/oauth.rb +116 -100
  50. data/lib/aspera/persistency_action_once.rb +11 -7
  51. data/lib/aspera/persistency_folder.rb +6 -26
  52. data/lib/aspera/rest.rb +66 -50
  53. data/lib/aspera/sync.rb +40 -35
  54. data/lib/aspera/timer_limiter.rb +22 -0
  55. metadata +86 -29
  56. data/docs/transfer_spec.html +0 -99
  57. data/lib/aspera/api_detector.rb +0 -60
  58. data/lib/aspera/fasp/aoc.rb +0 -24
  59. data/lib/aspera/secrets.rb +0 -20
data/bin/ascli CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'rubygems'
3
- $LOAD_PATH.unshift(File.dirname(__FILE__)+"/../lib")
3
+ $LOAD_PATH.unshift(File.realpath(File.dirname(File.realpath(__FILE__))+"/../lib"))
4
4
  require 'aspera/cli/main'
5
5
  require 'aspera/environment'
6
6
  Encoding.default_internal = Encoding::UTF_8
data/bin/asession CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env ruby
2
2
  # Laurent Martin/2017
3
3
  $LOAD_PATH.unshift(File.dirname(__FILE__)+"/../lib")
4
- require 'aspera/fasp/local'
4
+ require 'aspera/fasp/agent_direct'
5
5
  require 'aspera/cli/listener/line_dump'
6
6
  require 'aspera/cli/extended_value'
7
7
  require 'aspera/log'
@@ -65,10 +65,8 @@ if transfer_spec.has_key?(TS_TMP_FILELIST_FOLDER)
65
65
  Aspera::Fasp::Parameters.file_list_folder=transfer_spec[TS_TMP_FILELIST_FOLDER]
66
66
  transfer_spec.delete(TS_TMP_FILELIST_FOLDER)
67
67
  end
68
- # get local agent (ascp)
69
- client=Aspera::Fasp::Local.new
70
- # disable ascp output on stdout to not mix with JSON events
71
- client.quiet=true
68
+ # get local agent (ascp), disable ascp output on stdout to not mix with JSON events
69
+ client=Aspera::Fasp::AgentDirect.new({quiet: true})
72
70
  # display JSON instead of legacy Lines
73
71
  client.add_listener(Aspera::Cli::Listener::LineDump.new)
74
72
  # start transfer (asynchronous)
data/docs/Makefile CHANGED
@@ -10,31 +10,29 @@ DIR_DOC=
10
10
  INCL_USAGE=$(DIR_TMP)$(EXENAME)_usage.txt
11
11
  INCL_COMMANDS=$(DIR_TMP)$(EXENAME)_commands.txt
12
12
  INCL_ASESSION=$(DIR_TMP)asession_usage.txt
13
- INCL_TRSPEC=$(DIR_DOC)transfer_spec.html
14
- # env var used in README.erb.md
15
- export EXENAME GEMSPEC INCL_USAGE INCL_COMMANDS INCL_ASESSION INCL_TRSPEC
16
13
 
17
- TMPL_TEST_CONF=$(DIR_DOC)$(TEST_CONF_FILE_BASE)
14
+ # env var used in README.erb.md
15
+ export EXENAME GEMSPEC INCL_USAGE INCL_COMMANDS INCL_ASESSION
18
16
 
19
17
  MANUAL_BASE=$(DIR_DOC)Manual_$(EXENAME)_$(GEMVERSION)
20
18
  MANUAL_PDF=$(MANUAL_BASE).pdf
21
19
  MANUAL_HTML=$(MANUAL_BASE).html
22
20
 
23
21
  # main target to build doc
24
- all:: $(MANUAL_PDF) $(TMPL_TEST_CONF)
22
+ all:: $(MANUAL_PDF) $(TMPL_CONF_FILE_PATH)
25
23
 
26
24
  doc: all
27
25
 
28
26
  # generate template configuration file for tests, remove own secrets
29
- $(TMPL_TEST_CONF): $(TEST_CONF_FILE_PATH)
30
- ruby -e 'require "yaml";n={};c=YAML.load_file("$(TEST_CONF_FILE_PATH)").each{|k,v| n[k]=["config","default"].include?(k)?v:v.keys.inject({}){|m,i|m[i]="your value here";m}};File.write("$(TMPL_TEST_CONF)",n.to_yaml)'
27
+ $(TMPL_CONF_FILE_PATH): $(TEST_CONF_FILE_PATH)
28
+ ruby -e 'require "yaml";n={};c=YAML.load_file("$(TEST_CONF_FILE_PATH)").each{|k,v| n[k]=["config","default"].include?(k)?v:v.keys.inject({}){|m,i|m[i]="your value here";m}};File.write("$(TMPL_CONF_FILE_PATH)",n.to_yaml)'
31
29
 
32
30
  $(MANUAL_PDF): $(DIR_TOP)README.md
33
31
  pandoc --number-sections --resource-path=. --toc -o $(MANUAL_HTML) $(DIR_TOP)README.md
34
32
  wkhtmltopdf toc $(MANUAL_HTML) $(MANUAL_PDF)
35
33
 
36
- $(DIR_TOP)README.md: $(DIR_DOC)README.erb.md $(DIR_DOC)transfer_spec.html $(INCL_COMMANDS) $(INCL_USAGE) $(INCL_ASESSION)
37
- erb -T - --encoding UTF-8:UTF-8 $(DIR_DOC)README.erb.md > $(DIR_TOP)README.md
34
+ $(DIR_TOP)README.md: $(DIR_DOC)README.erb.md $(INCL_COMMANDS) $(INCL_USAGE) $(INCL_ASESSION)
35
+ INCL_DIR_GEM=$(DIR_TOP)lib erb -T - --encoding UTF-8:UTF-8 $(DIR_DOC)README.erb.md > $(DIR_TOP)README.md
38
36
 
39
37
  $(INCL_COMMANDS): $(DIR_TMP).exists $(TEST_MAKEFILE)
40
38
  sed -nEe 's/.*\$$\(EXE_MAN.?\)/$(EXENAME)/p' $(TEST_MAKEFILE) > $(DIR_TMP)usg1.txt
@@ -58,8 +56,7 @@ $(INCL_COMMANDS): $(DIR_TMP).exists $(TEST_MAKEFILE)
58
56
  $(INCL_USAGE): $(DIR_TMP).exists
59
57
  -$(EXETESTB) -Cnone -h 2> $(INCL_USAGE)
60
58
  sed -i -e 's/\/Users\/[^\/]*/\/Users\/FooBar/g' $(INCL_USAGE)
61
- .PHONY: $(INCL_ASESSION)
62
- $(INCL_ASESSION): $(DIR_TMP).exists
59
+ $(INCL_ASESSION): $(DIR_TMP).exists $(DIR_BIN)/asession
63
60
  $(DIR_BIN)/asession -h 2> $(INCL_ASESSION) || true
64
61
  clean::
65
62
  rm -f $(MANUAL_PDF) $(MANUAL_HTML) $(INCL_COMMANDS) $(INCL_USAGE) $(INCL_ASESSION)