teuton-get 0.2.1 → 0.2.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +57 -8
- data/docs/get.md +38 -10
- data/docs/repo.md +32 -5
- data/lib/teuton-get/cli.rb +28 -23
- data/lib/teuton-get/downloader.rb +6 -2
- data/lib/teuton-get/files/repos.ini +2 -0
- data/lib/teuton-get/repo/local_info.rb +1 -0
- data/lib/teuton-get/repo/local_repo.rb +1 -0
- data/lib/teuton-get/repo/repo_config.rb +9 -8
- data/lib/teuton-get/repo/repo_data.rb +8 -2
- data/lib/teuton-get/searcher.rb +2 -2
- data/lib/teuton-get/{format.rb → utils/format.rb} +0 -0
- data/lib/teuton-get/version.rb +1 -1
- data/lib/teuton-get/writer/terminal_writer.rb +1 -1
- data/lib/teuton-get.rb +9 -4
- metadata +22 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b783cab2c10f1a23f61fe5b8e53e108dcce79fb8b97a0ab1a717b4244a0f193c
|
4
|
+
data.tar.gz: 576048fe21ce48012784d2ff48ba21198f94d63cff33f55d8091a5dc137947e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 93a9660d795aabc86399f2a7393175b07359ff22294d9c66487367478dd234fbf93f764a5c9310c89fb2de176876a9a7860acb74081e5a9cc1e7919d4eea4493
|
7
|
+
data.tar.gz: 4bc2009d8d715113336b0970beef9d4e92b949c48689358d328238dcc851aa88747d6ee6d4efe86c54ed2a1beeb212f0d51c94670ba9604f28fef4084dc5eae1
|
data/README.md
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
[![Gem Version](https://badge.fury.io/rb/teuton-get.svg)](https://badge.fury.io/rb/teuton-get)
|
1
2
|
|
2
3
|
# Teuton-Get
|
3
4
|
|
@@ -13,21 +14,69 @@
|
|
13
14
|
|
14
15
|
# Use
|
15
16
|
|
16
|
-
|
17
|
-
|
17
|
+
1. `teutonget init`, at first, create config file.
|
18
|
+
1. `teutonget refresh`, to refresh repo catalog.
|
19
|
+
1. `teutonget search FILTER`. then, search tests.
|
20
|
+
1. `teutonget download REPONAME:TESTPATH`, download test files.
|
18
21
|
|
22
|
+
## Examples
|
19
23
|
|
20
|
-
|
24
|
+
**Example 1: search and download**
|
21
25
|
|
22
|
-
|
26
|
+
* Create config files:
|
23
27
|
|
24
|
-
|
28
|
+
```
|
29
|
+
> teutonget init
|
25
30
|
|
26
|
-
|
31
|
+
==> Creating configuration files
|
32
|
+
✔ Create dir : /home/quigon/.config/teuton
|
33
|
+
✔ Create file : /home/quigon/.config/teuton/repos.ini
|
34
|
+
```
|
27
35
|
|
28
|
-
* Refresh
|
36
|
+
* Refresh repo catalog:
|
29
37
|
|
30
|
-
|
38
|
+
```
|
39
|
+
> teutonget refresh
|
40
|
+
|
41
|
+
==> Refreshing active repos
|
42
|
+
✔ Repo teuton.en (10 tests)
|
43
|
+
✔ Repo teuton.es (4 tests)
|
44
|
+
```
|
45
|
+
|
46
|
+
* Search test:
|
47
|
+
|
48
|
+
```
|
49
|
+
> teutonget search usermin
|
50
|
+
(x3) teuton.es:sistemas.3/scripting/usermin
|
51
|
+
```
|
52
|
+
|
53
|
+
* Show details:
|
54
|
+
|
55
|
+
```
|
56
|
+
> teutonget info teuton.es:sistemas.3/scripting/usermin
|
57
|
+
|
58
|
+
name : usermin
|
59
|
+
author : fvarrui, dvarrui
|
60
|
+
date : 2022-11-05
|
61
|
+
desc : Usermin. Script para la gestión de usuarios
|
62
|
+
tags : script, usuario, crear, consultar, listar, eliminar
|
63
|
+
files : INSTALL.md, README.md, bin/docker.run, bin/up_environ.sh, config.yaml, lib/docker/consultar.rb, lib/docker/eliminar.rb, lib/docker/help.rb, lib/docker/listar.rb, lib/docker/nuevo.rb, lib/vm/consultar.rb, lib/vm/eliminar.rb, lib/vm/help.rb, lib/vm/listar.rb, lib/vm/nuevo.rb, start.rb, tt-info.yaml, vagrant/install-software.sh, vagrant/profesor.rb, vm.rb, vm.yaml
|
64
|
+
```
|
65
|
+
|
66
|
+
* Download test:
|
67
|
+
|
68
|
+
```
|
69
|
+
> teutonget download teuton.es:sistemas.3/scripting/usermin
|
70
|
+
|
71
|
+
==> Progress [█████████████████████] 100%
|
72
|
+
==> Download OK
|
73
|
+
```
|
74
|
+
|
75
|
+
**Example 2: Locate TEST ID**
|
76
|
+
|
77
|
+
Teuton test ID (TESTID) is `REPONAME:TESTPATH`.
|
78
|
+
|
79
|
+
![](docs/images/teutonget-search-debian.png)
|
31
80
|
|
32
81
|
# Contact
|
33
82
|
|
data/docs/get.md
CHANGED
@@ -2,23 +2,51 @@
|
|
2
2
|
|
3
3
|
# Get
|
4
4
|
|
5
|
-
Find and download local or remote files.
|
5
|
+
Find and download local or remote test files.
|
6
6
|
|
7
|
-
|
7
|
+
1. [Search](#1-search)
|
8
|
+
2. [Info](#2-info)
|
9
|
+
3. [Download](#3-download)
|
8
10
|
|
9
|
-
|
11
|
+
## 1. Search
|
10
12
|
|
11
|
-
|
13
|
+
At first we need to locate the test according to some criterios.
|
14
|
+
|
15
|
+
```
|
16
|
+
teutonget search FILTER
|
17
|
+
```
|
18
|
+
|
19
|
+
| Command | Description |
|
20
|
+
| --------------------- | ----------- |
|
21
|
+
| teutonget search TEXT | Find test that contains TEXT |
|
22
|
+
| teutonget search :TEXT | |
|
23
|
+
| teutonget search ALL:TEXT | |
|
24
|
+
| teutonget search TEXT1,TEXT2 | Find test that contains TEXT1 or TEXT2 |
|
25
|
+
| teutonget search REPONAME:TEXT | Find test from REPONAME, that contains TEXT f|
|
26
|
+
| teutonget search REPONAME:ALL | Find all test from REPONAME |
|
12
27
|
|
13
28
|
Example:
|
14
29
|
|
15
30
|
```
|
16
|
-
❯ teutonget
|
17
|
-
(
|
18
|
-
(
|
31
|
+
❯ teutonget se window
|
32
|
+
(x3) teuton.en:systems.1/01-windows-conf
|
33
|
+
(x1) teuton.en:systems.1/04-winserver-conf
|
34
|
+
(x1) teuton.en:systems.2/01-install-w10-vbox
|
35
|
+
|
36
|
+
```
|
37
|
+
|
38
|
+
As a result we have a list of tests ordered from highest to lowest value according to the search requirement. In this example, the test with value x3 has greater weight than x1 and therefore appears recommended in the first position.
|
39
|
+
|
40
|
+
Ejample:
|
19
41
|
```
|
42
|
+
❯ teutonget se script,fvarrui
|
43
|
+
(x6) teuton.es:sistemas.3/scripting/usermin
|
44
|
+
(x1) teuton.en:systems.2/01-install-w10-vbox
|
45
|
+
```
|
46
|
+
|
47
|
+
In this example, the filter is form by multiple words separated by commas. As result, will be shown tests that contain word 1 or word 2, or both. And appear in order from highest to lowest according to the number of times these words appear in the test metadata.
|
20
48
|
|
21
|
-
## Info
|
49
|
+
## 2. Info
|
22
50
|
|
23
51
|
Show info about test. Example:
|
24
52
|
```
|
@@ -32,9 +60,9 @@ tags : Debian, configuration
|
|
32
60
|
files : README.md, config.yaml, debian.rb, network.rb, start.rb
|
33
61
|
```
|
34
62
|
|
35
|
-
## Download
|
63
|
+
## 3. Download
|
36
64
|
|
37
|
-
Download test by TESTID. Example:
|
65
|
+
Download teuton test files identified by TESTID. Example:
|
38
66
|
|
39
67
|
```
|
40
68
|
❯ teutonget download teuton.en:systems.1/03-debian-conf
|
data/docs/repo.md
CHANGED
@@ -4,7 +4,12 @@
|
|
4
4
|
|
5
5
|
Manage repositories: configure and creation.
|
6
6
|
|
7
|
-
|
7
|
+
1. Create info
|
8
|
+
2. Create repository
|
9
|
+
3. Configure remote repository
|
10
|
+
4. Configure local repository
|
11
|
+
|
12
|
+
## 1. Create info
|
8
13
|
|
9
14
|
Teuton test files are located into remote machines. Every Teuton test requires
|
10
15
|
a special info file that acts as manifest or test metadata.
|
@@ -23,11 +28,11 @@ desc? Practice basic commands into Debian host.
|
|
23
28
|
tags? practice,basic,command,debian,host
|
24
29
|
```
|
25
30
|
|
26
|
-
Every Teuton test
|
31
|
+
Every downdable Teuton test requires metadata file. Test info file called `tt-info.yaml`.
|
27
32
|
|
28
|
-
## Create repository
|
33
|
+
## 2. Create repository
|
29
34
|
|
30
|
-
|
35
|
+
All tests metadata is summarized into repo metadata. Repo info file called `tt-repo-yaml`.
|
31
36
|
|
32
37
|
* Go to your remote repository server host.
|
33
38
|
* Move to your repository root directory.
|
@@ -48,7 +53,7 @@ Example:
|
|
48
53
|
Created file ./tt-repo.yaml with 7 tests.
|
49
54
|
```
|
50
55
|
|
51
|
-
## Configure remote repository
|
56
|
+
## 3. Configure remote repository
|
52
57
|
|
53
58
|
Finaly we have to configure the new remote repo.
|
54
59
|
|
@@ -60,9 +65,31 @@ Example:
|
|
60
65
|
|
61
66
|
```
|
62
67
|
[REPONAME]
|
68
|
+
type = teutontest
|
63
69
|
description = WRITE REPO DESCRIPTION
|
64
70
|
URL = https://write.here/your/repo/url
|
65
71
|
enable = true
|
66
72
|
```
|
67
73
|
|
68
74
|
* Run `teutonget repos` to check configuration.
|
75
|
+
|
76
|
+
> Every repo is showed with different color automatically.
|
77
|
+
|
78
|
+
## 4. Configure local repository
|
79
|
+
|
80
|
+
The usual thing will be to have remote repositories from where to download the tests. This process requires a network connection between our local machine and the remote repository.
|
81
|
+
|
82
|
+
But it is possible to have a repository on our local machine and not use the network for test downloads.
|
83
|
+
|
84
|
+
To do this we will create the repository on our local machine as indicated above, but instead of using https:// the URL will use a path to a local directory.
|
85
|
+
|
86
|
+
|
87
|
+
Example:
|
88
|
+
|
89
|
+
```
|
90
|
+
[LOCALREPONAME]
|
91
|
+
type = teutontest
|
92
|
+
description = WRITE LOCAL REPO DESCRIPTION
|
93
|
+
URL = /path/to/your/local/repo/folder
|
94
|
+
enable=true
|
95
|
+
```
|
data/lib/teuton-get/cli.rb
CHANGED
@@ -6,56 +6,59 @@ require_relative "version"
|
|
6
6
|
require_relative "../teuton-get"
|
7
7
|
|
8
8
|
class CLI < Thor
|
9
|
-
map ["
|
9
|
+
map ["-help", "--help"] => "help"
|
10
10
|
|
11
|
-
map ["
|
11
|
+
map ["-version", "--version"] => "version"
|
12
12
|
desc "version", "Show the program version"
|
13
13
|
|
14
14
|
def version
|
15
15
|
puts "#{Version::EXECUTABLE} (version #{Version::VERSION})"
|
16
16
|
end
|
17
17
|
|
18
|
-
map ["ci", "-ci", "--create-info"] => "create_info"
|
18
|
+
map ["ci", "-ci", "--create-info", "create-info"] => "create_info"
|
19
19
|
desc "create-info [DIRPATH]", "Create info data for Teuton test"
|
20
20
|
long_desc <<-LONGDESC
|
21
|
-
|
21
|
+
Create info data for Teuton test. Example: "teutonget create-info systems.1/02-opensuse-conf"
|
22
22
|
LONGDESC
|
23
|
+
|
23
24
|
def create_info(testpath)
|
24
25
|
TeutonGet.create_info(testpath)
|
25
26
|
end
|
26
27
|
|
27
|
-
map ["
|
28
|
-
desc "info TESTID", "Show info data for Teuton test"
|
29
|
-
long_desc <<-LONGDESC
|
30
|
-
Show info data for Teuton test.
|
31
|
-
LONGDESC
|
32
|
-
def info(test_id)
|
33
|
-
TeutonGet.show_info(test_id)
|
34
|
-
end
|
35
|
-
|
36
|
-
map ["cr", "-cr", "--create-repo"] => "create_repo"
|
28
|
+
map ["cr", "-cr", "--create-repo", "create-repo"] => "create_repo"
|
37
29
|
desc "create-repo", "Create repo into current directory"
|
38
30
|
long_desc <<-LONGDESC
|
39
|
-
|
31
|
+
Create index from SOURCE directory. Example: "teutonget create-repo"
|
40
32
|
LONGDESC
|
41
33
|
def create_repo
|
42
34
|
TeutonGet.create_repo(".")
|
43
35
|
end
|
44
36
|
|
45
|
-
map ["
|
37
|
+
map ["--init"] => "init"
|
46
38
|
desc "init", "Create ini config file"
|
47
39
|
long_desc <<-LONGDESC
|
48
|
-
Create ini config file
|
40
|
+
Create ini config file. Example: "teutonget init"
|
49
41
|
LONGDESC
|
50
42
|
def init
|
51
43
|
TeutonGet.init
|
52
44
|
end
|
53
45
|
|
46
|
+
map ["i", "-i", "--info"] => "info"
|
47
|
+
desc "info TESTID", "Show info data for Teuton test"
|
48
|
+
long_desc <<-LONGDESC
|
49
|
+
Show info data for Teuton test. Example: "teutonget info teuton.en:systems.1/02-opensuse-conf"
|
50
|
+
LONGDESC
|
51
|
+
|
52
|
+
def info(test_id)
|
53
|
+
TeutonGet.show_info(test_id)
|
54
|
+
end
|
55
|
+
|
54
56
|
map ["--repos"] => "repos"
|
55
57
|
desc "repos", "Show repo list"
|
56
58
|
long_desc <<-LONGDESC
|
57
|
-
Show repo list.
|
59
|
+
Show repo list. Example: "teutonget repos"
|
58
60
|
LONGDESC
|
61
|
+
|
59
62
|
def repos
|
60
63
|
TeutonGet.show_repo_list
|
61
64
|
end
|
@@ -63,7 +66,7 @@ class CLI < Thor
|
|
63
66
|
map ["r", "-r", "--refresh"] => "refresh"
|
64
67
|
desc "refresh", "Synchronize list of available tests."
|
65
68
|
long_desc <<-LONGDESC
|
66
|
-
Synchronize list of tests available.
|
69
|
+
Synchronize list of tests available. Example: "teutonget refresh"
|
67
70
|
LONGDESC
|
68
71
|
def refresh
|
69
72
|
TeutonGet.refresh
|
@@ -72,18 +75,20 @@ class CLI < Thor
|
|
72
75
|
map ["s", "-s", "--search"] => "search"
|
73
76
|
desc "search [REPONAME:]FILTER", "Search Teuton test with FILTER"
|
74
77
|
long_desc <<-LONGDESC
|
75
|
-
|
78
|
+
Search Teuton test using FILTER. Example: "teutonget search opensuse"
|
76
79
|
LONGDESC
|
77
80
|
def search(filter)
|
78
81
|
TeutonGet.search(filter)
|
79
82
|
end
|
80
83
|
|
81
|
-
map ["d", "-d", "--download"] => "download"
|
84
|
+
map ["d", "-d", "--download", "clone", "--clone"] => "download"
|
85
|
+
# option :dirname # FIXME
|
82
86
|
desc "download TESTID", "Download Teuton test"
|
83
87
|
long_desc <<-LONGDESC
|
84
|
-
Download Teuton test. Example: "teutonget
|
88
|
+
Download Teuton test. Example: "teutonget download teuton.en:systems.1/02-opensuse-conf"
|
85
89
|
LONGDESC
|
86
90
|
def download(testname)
|
87
|
-
|
91
|
+
puts options unless options.empty?
|
92
|
+
TeutonGet.download(testname, options)
|
88
93
|
end
|
89
94
|
end
|
@@ -1,4 +1,5 @@
|
|
1
1
|
require "fileutils"
|
2
|
+
require "tty-progressbar"
|
2
3
|
require_relative "writer/file_writer"
|
3
4
|
require_relative "writer/terminal_writer"
|
4
5
|
require_relative "reader/inifile_reader"
|
@@ -56,16 +57,19 @@ class Downloader
|
|
56
57
|
end
|
57
58
|
|
58
59
|
def download(reponame, url, path, files)
|
59
|
-
|
60
|
+
bar = TTY::ProgressBar.new("==> Progress [:bar] :percent", total: files.size, bar_format: :block)
|
61
|
+
|
60
62
|
localpath = path.tr("/", "_")
|
61
63
|
FileUtils.mkdir(localpath) unless File.exist? localpath
|
62
64
|
files.each do |filename|
|
63
|
-
|
65
|
+
bar.advance
|
66
|
+
|
64
67
|
uri = "#{url}/#{path}/#{filename}"
|
65
68
|
out = FileWriter.new
|
66
69
|
out.open(File.join(localpath, filename))
|
67
70
|
out.write(URLReader.new(uri).read)
|
68
71
|
out.close
|
69
72
|
end
|
73
|
+
@dev.writeln "==> Download OK", color: :white
|
70
74
|
end
|
71
75
|
end
|
@@ -1,11 +1,13 @@
|
|
1
1
|
# version 1
|
2
2
|
|
3
3
|
[teuton.en]
|
4
|
+
type = teutontest
|
4
5
|
description = Main Teuton repo
|
5
6
|
URL = https://raw.githubusercontent.com/teuton-software/teuton-tests/master/en
|
6
7
|
enable = true
|
7
8
|
|
8
9
|
[teuton.es]
|
10
|
+
type = teutontest
|
9
11
|
description = Repositorio principal de Teuton Test
|
10
12
|
URL = https://raw.githubusercontent.com/teuton-software/teuton-tests/master/es
|
11
13
|
enable = true
|
@@ -1,9 +1,10 @@
|
|
1
1
|
require "fileutils"
|
2
2
|
require_relative "../application"
|
3
|
-
require_relative "../format"
|
4
3
|
require_relative "../reader/inifile_reader"
|
4
|
+
require_relative "../utils/format"
|
5
5
|
require_relative "../writer/terminal_writer"
|
6
6
|
|
7
|
+
# Create Teuton Repo config file
|
7
8
|
class RepoConfig
|
8
9
|
attr_reader :data
|
9
10
|
|
@@ -27,7 +28,7 @@ class RepoConfig
|
|
27
28
|
end
|
28
29
|
|
29
30
|
def create
|
30
|
-
@dev.writeln "\n==> Creating configuration files"
|
31
|
+
@dev.writeln "\n==> Creating configuration files"
|
31
32
|
create_dir
|
32
33
|
create_ini_file
|
33
34
|
end
|
@@ -56,12 +57,12 @@ class RepoConfig
|
|
56
57
|
def create_dir
|
57
58
|
dirpath = @config_dirpath
|
58
59
|
if Dir.exist? dirpath
|
59
|
-
@dev.write " \u{2716} Exists dir! : "
|
60
|
-
@dev.writeln dirpath, color: :
|
60
|
+
@dev.write " \u{2716} Exists dir! : ", color: :white
|
61
|
+
@dev.writeln dirpath, color: :white
|
61
62
|
else
|
62
63
|
begin
|
63
64
|
FileUtils.mkdir_p(dirpath)
|
64
|
-
@dev.write " \u{2714} Create dir : "
|
65
|
+
@dev.write " \u{2714} Create dir : ", color: :white
|
65
66
|
@dev.writeln dirpath, color: :green
|
66
67
|
rescue => e
|
67
68
|
@dev.write " \u{2716} Create dir ERROR: "
|
@@ -78,13 +79,13 @@ class RepoConfig
|
|
78
79
|
|
79
80
|
def copyfile(target, dest)
|
80
81
|
if File.exist? dest
|
81
|
-
@dev.write " \u{2716} Exists file! : "
|
82
|
-
@dev.writeln dest, color: :
|
82
|
+
@dev.write " \u{2716} Exists file! : ", color: :white
|
83
|
+
@dev.writeln dest, color: :white
|
83
84
|
return true
|
84
85
|
end
|
85
86
|
begin
|
86
87
|
FileUtils.cp(target, dest)
|
87
|
-
@dev.write " \u{2714} Create file : "
|
88
|
+
@dev.write " \u{2714} Create file : ", color: :white
|
88
89
|
@dev.writeln dest, color: :green
|
89
90
|
rescue => e
|
90
91
|
@dev.write " \u{2716} Create file ERROR: "
|
@@ -28,7 +28,7 @@ class RepoData
|
|
28
28
|
dirpath = @cache_dirpath
|
29
29
|
FileUtils.rm_r(dirpath) if Dir.exist? dirpath
|
30
30
|
|
31
|
-
@dev.writeln "\n==> Refreshing active repos"
|
31
|
+
@dev.writeln "\n==> Refreshing active repos"
|
32
32
|
@data.keys.sort.each do |key|
|
33
33
|
refresh_repo key
|
34
34
|
end
|
@@ -58,6 +58,12 @@ class RepoData
|
|
58
58
|
|
59
59
|
def database_filename
|
60
60
|
# REVISE: Used by teutonget search... replace by #get()
|
61
|
+
unless Dir.exist? @cache_dirpath
|
62
|
+
puts " [WARN] Create Teuton config files!"
|
63
|
+
puts " Usage: teutonget init"
|
64
|
+
exit 1
|
65
|
+
end
|
66
|
+
|
61
67
|
File.join(@cache_dirpath, "database.yaml")
|
62
68
|
end
|
63
69
|
|
@@ -65,7 +71,7 @@ class RepoData
|
|
65
71
|
|
66
72
|
def refresh_repo(reponame)
|
67
73
|
unless enabled? reponame
|
68
|
-
@dev.writeln " \u{2716} Skiping repo #{reponame}"
|
74
|
+
@dev.writeln " \u{2716} Skiping repo #{reponame}", color: :yellow
|
69
75
|
return false
|
70
76
|
end
|
71
77
|
dirpath = File.join(@cache_dirpath)
|
data/lib/teuton-get/searcher.rb
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
require_relative "application"
|
2
|
-
require_relative "format"
|
3
2
|
require_relative "reader/yaml_reader"
|
4
3
|
require_relative "repo/repo_data"
|
5
4
|
require_relative "searcher/result"
|
5
|
+
require_relative "utils/format"
|
6
6
|
require_relative "writer/terminal_writer"
|
7
7
|
|
8
8
|
class Searcher
|
@@ -33,7 +33,7 @@ class Searcher
|
|
33
33
|
|
34
34
|
def show_result
|
35
35
|
@results.each do |i|
|
36
|
-
@dev.write "(x
|
36
|
+
@dev.write ("(x%02d) " % i[:score]), color: :white
|
37
37
|
reponame = TeutonGet::Format.colorize(i[:reponame], i[:repoindex])
|
38
38
|
@dev.writeln "#{reponame}#{Application::SEPARATOR}#{i[:testname]}"
|
39
39
|
end
|
File without changes
|
data/lib/teuton-get/version.rb
CHANGED
data/lib/teuton-get.rb
CHANGED
@@ -6,19 +6,28 @@ require_relative "teuton-get/searcher"
|
|
6
6
|
require_relative "teuton-get/downloader"
|
7
7
|
|
8
8
|
module TeutonGet
|
9
|
+
# Create metadata for local user teuton test
|
9
10
|
def self.create_info(testpath)
|
10
11
|
LocalInfo.new.user_create(testpath)
|
11
12
|
end
|
12
13
|
|
14
|
+
# Create metadata for local user teuton repository
|
13
15
|
def self.create_repo(dirpath)
|
14
16
|
LocalRepo.new_by_default.create(dirpath)
|
15
17
|
end
|
16
18
|
|
19
|
+
# Download remote teuton test
|
20
|
+
def self.download(test_id, options)
|
21
|
+
Downloader.new.run(test_id)
|
22
|
+
end
|
23
|
+
|
24
|
+
# Create Teuton Repo config file
|
17
25
|
def self.init
|
18
26
|
RepoConfig.new_by_default.create
|
19
27
|
refresh # Auto repo refresh
|
20
28
|
end
|
21
29
|
|
30
|
+
# Refresh Teuton Repo Data
|
22
31
|
def self.refresh
|
23
32
|
RepoData.new_by_default.refresh
|
24
33
|
end
|
@@ -38,8 +47,4 @@ module TeutonGet
|
|
38
47
|
searcher.get(filter)
|
39
48
|
searcher.show_result
|
40
49
|
end
|
41
|
-
|
42
|
-
def self.download(test_id)
|
43
|
-
Downloader.new.run(test_id)
|
44
|
-
end
|
45
50
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: teuton-get
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David Vargas Ruiz
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-11-
|
11
|
+
date: 2022-11-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: inifile
|
@@ -30,14 +30,28 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.8
|
33
|
+
version: '0.8'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.8
|
40
|
+
version: '0.8'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: tty-progressbar
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.18'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.18'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: tty-prompt
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,14 +86,14 @@ dependencies:
|
|
72
86
|
requirements:
|
73
87
|
- - "~>"
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: '1.
|
89
|
+
version: '1.2'
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
94
|
- - "~>"
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '1.
|
96
|
+
version: '1.2'
|
83
97
|
description: " Find and download Teuton Test.\n"
|
84
98
|
email: teuton.software@protonmail.com
|
85
99
|
executables:
|
@@ -109,7 +123,6 @@ files:
|
|
109
123
|
- lib/teuton-get/downloader.rb
|
110
124
|
- lib/teuton-get/files/repos.ini
|
111
125
|
- lib/teuton-get/files/tt-info.yaml
|
112
|
-
- lib/teuton-get/format.rb
|
113
126
|
- lib/teuton-get/reader/inifile_reader.rb
|
114
127
|
- lib/teuton-get/reader/linux_environment_reader.rb
|
115
128
|
- lib/teuton-get/reader/reader.rb
|
@@ -121,6 +134,7 @@ files:
|
|
121
134
|
- lib/teuton-get/repo/repo_data.rb
|
122
135
|
- lib/teuton-get/searcher.rb
|
123
136
|
- lib/teuton-get/searcher/result.rb
|
137
|
+
- lib/teuton-get/utils/format.rb
|
124
138
|
- lib/teuton-get/version.rb
|
125
139
|
- lib/teuton-get/writer/file_writer.rb
|
126
140
|
- lib/teuton-get/writer/null_writer.rb
|
@@ -138,7 +152,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
138
152
|
requirements:
|
139
153
|
- - ">="
|
140
154
|
- !ruby/object:Gem::Version
|
141
|
-
version: 2.5.
|
155
|
+
version: 2.5.9
|
142
156
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
157
|
requirements:
|
144
158
|
- - ">="
|