yadisk 0.0.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c51aa5b0b7d65604215a3580d5ff32ba59665179cdf38605e3dec7a5263a9b17
4
+ data.tar.gz: 2705caa4477857a2af13863b44ef3dc4651fb8c36dc26d04cd2a406bc26b3044
5
+ SHA512:
6
+ metadata.gz: 00adeabe1183fe6eb9801fb7d3532b86a349b129af334fe8d8c8556e670cd88ada6fb64bb27ec6df9398422e6f0c3a19a1ed5eed58eef5edaf2939406cddb730
7
+ data.tar.gz: 600ff3fc155af1a524a52987097c9e376a9a84aef94f813a4fe0c22e6e499b38da2dfbbcf0ee105a419d80b4708cdf56212d9e043d17b6664d177da39e2b05db
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env ruby
2
+ # encoding: utf-8
3
+
4
+ require 'yadisk'
5
+ require 'yadisk/check_runtime'
6
+
7
+ Yadisk::CheckRuntime.check_wget
8
+
9
+ if ARGV.length == 1
10
+ Yadisk::Main.new.download(ARGV[0])
11
+ elsif ARGV.length == 2
12
+ Yadisk::Main.new.download(ARGV[0], folder: ARGV[1])
13
+ else
14
+ puts "Use: $ yadisk url [/path/to/download/local/folder]\n"
15
+ end
@@ -0,0 +1,25 @@
1
+ # encoding: utf-8
2
+
3
+ require 'cgi'
4
+ require 'cgi/util'
5
+ require 'uri'
6
+ require 'io/console'
7
+ require 'json'
8
+
9
+ module Yadisk
10
+ class Main
11
+ BASE_URL = 'https://cloud-api.yandex.net:443/v1/disk/public/resources/download?public_key='
12
+ def download(url, folder: './')
13
+ enc_url = CGI::escape(url)
14
+
15
+ puts "wget -qO - #{BASE_URL}#{enc_url}"
16
+ res = IO.popen("wget -qO - #{BASE_URL}#{enc_url}").read
17
+ json_res = JSON.parse(res)
18
+ download_url = json_res['href']
19
+ filename = CGI::parse(URI(download_url).query)["filename"][0]
20
+ folder = folder + "/" if not folder.end_with?('/')
21
+
22
+ system("wget '#{download_url}' -O '#{folder}#{filename}'")
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,14 @@
1
+ require "io/console"
2
+
3
+ module Yadisk
4
+ class CheckRuntime
5
+ def self.check_wget
6
+ output = IO.popen("which wget").read
7
+ if output.empty?
8
+ puts "Please install wget or add it to 'PATH' and try again\n"
9
+ abort
10
+ end
11
+ end
12
+ end
13
+ end
14
+
@@ -0,0 +1,3 @@
1
+ module Yadisk
2
+ VERSION = '0.0.1'
3
+ end
metadata ADDED
@@ -0,0 +1,68 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yadisk
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Artem Yegorov
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2018-01-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rspec
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 3.7.0
20
+ - - "<"
21
+ - !ruby/object:Gem::Version
22
+ version: '4.0'
23
+ type: :development
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - "~>"
28
+ - !ruby/object:Gem::Version
29
+ version: 3.7.0
30
+ - - "<"
31
+ - !ruby/object:Gem::Version
32
+ version: '4.0'
33
+ description: Command line tool for download file from Yandex.Disk through share link
34
+ email: yegorov0725@yandex.ru
35
+ executables:
36
+ - yadisk
37
+ extensions: []
38
+ extra_rdoc_files: []
39
+ files:
40
+ - bin/yadisk
41
+ - lib/yadisk.rb
42
+ - lib/yadisk/check_runtime.rb
43
+ - lib/yadisk/version.rb
44
+ homepage: https://github.com/yegorov/yadisk
45
+ licenses:
46
+ - MIT
47
+ metadata: {}
48
+ post_install_message:
49
+ rdoc_options: []
50
+ require_paths:
51
+ - lib
52
+ required_ruby_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ required_rubygems_version: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ requirements: []
63
+ rubyforge_project:
64
+ rubygems_version: 2.7.3
65
+ signing_key:
66
+ specification_version: 4
67
+ summary: Download file from Yandex.Disk through share link
68
+ test_files: []