ftp_paradise 1.3.8
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.
Potentially problematic release.
This version of ftp_paradise might be problematic. Click here for more details.
- checksums.yaml +7 -0
- data/README.md +309 -0
- data/bin/create_remote_directory +9 -0
- data/bin/ftp_get +17 -0
- data/bin/ftp_upload +42 -0
- data/bin/ftp_upload_binary +18 -0
- data/bin/iftp +7 -0
- data/bin/remote_remove +28 -0
- data/doc/README.gen +292 -0
- data/doc/TODO_FOR_FTP_PARADISE_PROJECT.md +79 -0
- data/ftp_paradise.gemspec +114 -0
- data/lib/ftp_paradise.rb +5 -0
- data/lib/ftp_paradise/base/cliner.rb +21 -0
- data/lib/ftp_paradise/base/colours.rb +83 -0
- data/lib/ftp_paradise/base/prototype.rb +169 -0
- data/lib/ftp_paradise/base/reset.rb +29 -0
- data/lib/ftp_paradise/colours/colours.rb +141 -0
- data/lib/ftp_paradise/colours/use_colours.rb +74 -0
- data/lib/ftp_paradise/configuration/configuration.rb +49 -0
- data/lib/ftp_paradise/connection/README.md +1 -0
- data/lib/ftp_paradise/connection/connection.rb +35 -0
- data/lib/ftp_paradise/connection/constants.rb +46 -0
- data/lib/ftp_paradise/connection/data.rb +148 -0
- data/lib/ftp_paradise/connection/debug.rb +80 -0
- data/lib/ftp_paradise/connection/directory_handling.rb +271 -0
- data/lib/ftp_paradise/connection/do_login.rb +108 -0
- data/lib/ftp_paradise/connection/download.rb +86 -0
- data/lib/ftp_paradise/connection/file_handling.rb +172 -0
- data/lib/ftp_paradise/connection/ftp_object.rb +21 -0
- data/lib/ftp_paradise/connection/initialize.rb +86 -0
- data/lib/ftp_paradise/connection/initialize_a_new_net_ftp_object_with_this_url.rb +20 -0
- data/lib/ftp_paradise/connection/is_connected.rb +46 -0
- data/lib/ftp_paradise/connection/misc.rb +472 -0
- data/lib/ftp_paradise/connection/notify.rb +71 -0
- data/lib/ftp_paradise/connection/password.rb +47 -0
- data/lib/ftp_paradise/connection/port.rb +33 -0
- data/lib/ftp_paradise/connection/remote_pwd.rb +72 -0
- data/lib/ftp_paradise/connection/remote_url.rb +163 -0
- data/lib/ftp_paradise/connection/remove.rb +143 -0
- data/lib/ftp_paradise/connection/reset.rb +75 -0
- data/lib/ftp_paradise/connection/run.rb +18 -0
- data/lib/ftp_paradise/connection/set_array_available_hosts.rb +27 -0
- data/lib/ftp_paradise/connection/set_input.rb +18 -0
- data/lib/ftp_paradise/connection/show.rb +153 -0
- data/lib/ftp_paradise/connection/sync_ftp_object_onto_the_main_namespace.rb +24 -0
- data/lib/ftp_paradise/connection/transfer_mode.rb +162 -0
- data/lib/ftp_paradise/connection/upload.rb +253 -0
- data/lib/ftp_paradise/connection/use_default_dataset.rb +41 -0
- data/lib/ftp_paradise/connection/username.rb +42 -0
- data/lib/ftp_paradise/constants/constants.rb +19 -0
- data/lib/ftp_paradise/constants/misc.rb +57 -0
- data/lib/ftp_paradise/constants/namespace.rb +14 -0
- data/lib/ftp_paradise/constants/newline.rb +14 -0
- data/lib/ftp_paradise/constants/roebe.rb +27 -0
- data/lib/ftp_paradise/constants/roebe_ftp_constants.rb +219 -0
- data/lib/ftp_paradise/entry/entry.rb +293 -0
- data/lib/ftp_paradise/gui/gtk/constants.rb +58 -0
- data/lib/ftp_paradise/gui/gtk/ftp_bindings.rb +1149 -0
- data/lib/ftp_paradise/interactive_ftp/constants.rb +103 -0
- data/lib/ftp_paradise/interactive_ftp/directory_handling.rb +215 -0
- data/lib/ftp_paradise/interactive_ftp/help.rb +50 -0
- data/lib/ftp_paradise/interactive_ftp/initialize.rb +27 -0
- data/lib/ftp_paradise/interactive_ftp/interactive_ftp.rb +995 -0
- data/lib/ftp_paradise/interactive_ftp/main_loop.rb +50 -0
- data/lib/ftp_paradise/interactive_ftp/menu.rb +788 -0
- data/lib/ftp_paradise/interactive_ftp/misc.rb +208 -0
- data/lib/ftp_paradise/interactive_ftp/mode.rb +124 -0
- data/lib/ftp_paradise/interactive_ftp/readline.rb +115 -0
- data/lib/ftp_paradise/interactive_ftp/remove.rb +97 -0
- data/lib/ftp_paradise/interactive_ftp/reset.rb +90 -0
- data/lib/ftp_paradise/interactive_ftp/run.rb +22 -0
- data/lib/ftp_paradise/interactive_ftp/show.rb +184 -0
- data/lib/ftp_paradise/interactive_ftp/upload.rb +90 -0
- data/lib/ftp_paradise/interactive_ftp/user_input.rb +53 -0
- data/lib/ftp_paradise/project/project.rb +62 -0
- data/lib/ftp_paradise/requires/common_basic_requires.rb +13 -0
- data/lib/ftp_paradise/requires/common_external_requires.rb +9 -0
- data/lib/ftp_paradise/requires/require_the_constants.rb +7 -0
- data/lib/ftp_paradise/requires/require_the_ftp_paradise_project.rb +18 -0
- data/lib/ftp_paradise/requires/require_the_ftp_paradise_project_with_the_GUI_bindings.rb +10 -0
- data/lib/ftp_paradise/requires/require_the_toplevel_methods.rb +24 -0
- data/lib/ftp_paradise/toplevel_methods/can_connect_to_remote_site.rb +29 -0
- data/lib/ftp_paradise/toplevel_methods/clear_user_dataset.rb +28 -0
- data/lib/ftp_paradise/toplevel_methods/connect.rb +49 -0
- data/lib/ftp_paradise/toplevel_methods/create_file.rb +18 -0
- data/lib/ftp_paradise/toplevel_methods/data.rb +31 -0
- data/lib/ftp_paradise/toplevel_methods/delete.rb +23 -0
- data/lib/ftp_paradise/toplevel_methods/determine_user_dataset_from_this_hash.rb +37 -0
- data/lib/ftp_paradise/toplevel_methods/e.rb +16 -0
- data/lib/ftp_paradise/toplevel_methods/ftp_object.rb +270 -0
- data/lib/ftp_paradise/toplevel_methods/get_files.rb +24 -0
- data/lib/ftp_paradise/toplevel_methods/is_directory.rb +33 -0
- data/lib/ftp_paradise/toplevel_methods/is_on_roebe.rb +20 -0
- data/lib/ftp_paradise/toplevel_methods/login_name.rb +49 -0
- data/lib/ftp_paradise/toplevel_methods/opn.rb +24 -0
- data/lib/ftp_paradise/toplevel_methods/password.rb +48 -0
- data/lib/ftp_paradise/toplevel_methods/port.rb +41 -0
- data/lib/ftp_paradise/toplevel_methods/rds.rb +18 -0
- data/lib/ftp_paradise/toplevel_methods/remote_url.rb +57 -0
- data/lib/ftp_paradise/toplevel_methods/time.rb +45 -0
- data/lib/ftp_paradise/toplevel_methods/upload.rb +29 -0
- data/lib/ftp_paradise/toplevel_methods/upload_this_binary_file.rb +58 -0
- data/lib/ftp_paradise/version/version.rb +19 -0
- data/lib/ftp_paradise/www/public/css/style.css +3 -0
- data/lib/ftp_paradise/www/sinatra_web_interface.rb +242 -0
- data/lib/ftp_paradise/www/views/index.slim +3 -0
- data/lib/ftp_paradise/www/views/layout.slim +11 -0
- data/lib/ftp_paradise/www/web_interface.cgi +35 -0
- data/lib/ftp_paradise/yaml/automatically_connect_on_startup_of_the_interactive_ftp_shell.yml +1 -0
- data/lib/ftp_paradise/yaml/debug.yml +1 -0
- data/lib/ftp_paradise/yaml/open_in_default_editor.yml +1 -0
- data/lib/ftp_paradise/yaml/show_full_names.yml +1 -0
- data/lib/ftp_paradise/yaml/use_colours.yml +1 -0
- data/test/testing_ftp_paradise.rb +94 -0
- data/test/testing_minimal_pure_net_ftp_example_to_connect.rb +28 -0
- data/test/testing_the_ftp_connection_component.rb +70 -0
- data/test/testing_upload_a_local_directory.rb +10 -0
- metadata +315 -0
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
(1)
|
|
2
|
+
|
|
3
|
+
- rcd AUSARBEITUNG
|
|
4
|
+
|
|
5
|
+
Changing remote directory to `AUSARBEITUNG` now.
|
|
6
|
+
Trying to change directory into `AUSARBEITUNG/`.
|
|
7
|
+
|
|
8
|
+
^^^ nope, we should check FIRST before we do
|
|
9
|
+
that. "This directory does not exist."
|
|
10
|
+
|
|
11
|
+
(2)
|
|
12
|
+
|
|
13
|
+
- Build a GUI Wrapper (in ruby-gnome for now) over the FTP stuff.
|
|
14
|
+
Once it is finished, we can remove this entry here, or perhaps
|
|
15
|
+
extend to it every once in a while.
|
|
16
|
+
|
|
17
|
+
(3)
|
|
18
|
+
|
|
19
|
+
- Also check that tab completion works for remote files and
|
|
20
|
+
remote dirs.
|
|
21
|
+
|
|
22
|
+
(4)
|
|
23
|
+
|
|
24
|
+
- Add readline support so we can use tab completion. Would be
|
|
25
|
+
cool to use readline-support TAB COMPLETION, especially when
|
|
26
|
+
handling directories.
|
|
27
|
+
|
|
28
|
+
Tab completion must work for:
|
|
29
|
+
|
|
30
|
+
file screenshot.png
|
|
31
|
+
upload scr<PRESS_TAB_HERE>
|
|
32
|
+
|
|
33
|
+
(6)
|
|
34
|
+
|
|
35
|
+
- Build a WWW wrapper, in sinatra.
|
|
36
|
+
|
|
37
|
+
(7)
|
|
38
|
+
|
|
39
|
+
- shugo added directory? and stuff. we may be able to simplify
|
|
40
|
+
our already existing methods for that, then upload.
|
|
41
|
+
|
|
42
|
+
-> Please note that the new methods are available only with FTP servers
|
|
43
|
+
which support the MLST/MLSD commands specified in RFC 3659.
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
pwd
|
|
47
|
+
The local directory is:
|
|
48
|
+
/home/x/STUDIUM/BOKU_WIEN/958118_Obst_und_Weinbau/
|
|
49
|
+
remotemkdir 958118
|
|
50
|
+
Creating remote directory `958118/` now.
|
|
51
|
+
rcd 958118
|
|
52
|
+
false
|
|
53
|
+
#<NoMethodError: undefined method `+' for nil:NilClass>
|
|
54
|
+
rcd 958118
|
|
55
|
+
true
|
|
56
|
+
Changing remote directory to `958118` now.
|
|
57
|
+
Trying to change directory into `958118/`.
|
|
58
|
+
Remote directory is:
|
|
59
|
+
shevegen.square7.ch/AUSARBEITUNGEN/958118/
|
|
60
|
+
|
|
61
|
+
^^^^ warum gibt uns das einen Fehler aus????
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
FtpParadise.remote_host?
|
|
66
|
+
|
|
67
|
+
^^^ and show it
|
|
68
|
+
|
|
69
|
+
FtpParadise.user?
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
FtpParadise.password?
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
^^^ ensure that this exists in particular the top one
|
|
79
|
+
and add a commandline bin/ variant to show this too
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# =========================================================================== #
|
|
2
|
+
# Gemspec for Project FtpParadise.
|
|
3
|
+
# =========================================================================== #
|
|
4
|
+
require 'ftp_paradise/version/version.rb'
|
|
5
|
+
|
|
6
|
+
Gem::Specification.new { |s|
|
|
7
|
+
|
|
8
|
+
s.name = 'ftp_paradise'
|
|
9
|
+
s.version = FtpParadise::VERSION
|
|
10
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
|
11
|
+
|
|
12
|
+
DESCRIPTION = <<-EOF
|
|
13
|
+
|
|
14
|
+
This project aims to provide some convenience bindings and addon-classes
|
|
15
|
+
for the Ruby-FTP base module.
|
|
16
|
+
|
|
17
|
+
Please be aware that since as of the year 2020, this project is in a
|
|
18
|
+
low-effort maintenance mode only. Bug fixes are welcome as are usability
|
|
19
|
+
improvements and improvements made to the documentation - but do not
|
|
20
|
+
expect this project to be very actively maintained anymore. Its peak
|
|
21
|
+
days were from 2010 to 2014 or so; since then I have found fewer use
|
|
22
|
+
cases for the project, but I will maintain it nonetheless.
|
|
23
|
+
|
|
24
|
+
For more information about this project, please have a look at the
|
|
25
|
+
online documentation at https://www.rubydoc.info/gems/ftp_paradise/ or
|
|
26
|
+
within the doc/ subdirectory of this gem.
|
|
27
|
+
|
|
28
|
+
EOF
|
|
29
|
+
|
|
30
|
+
s.summary = DESCRIPTION
|
|
31
|
+
s.description = DESCRIPTION
|
|
32
|
+
|
|
33
|
+
# =============================================================== #
|
|
34
|
+
# Show this when a user installs this project.
|
|
35
|
+
# =============================================================== #
|
|
36
|
+
s.post_install_message = <<-EOF
|
|
37
|
+
|
|
38
|
+
The interactive file, which can be started by typing "iftp",
|
|
39
|
+
requires a library called configuration.
|
|
40
|
+
|
|
41
|
+
This is NOT the one available at rubygems.org - but instead can
|
|
42
|
+
be downloaded here:
|
|
43
|
+
|
|
44
|
+
wget http://shevegen.bplaced.net/configuration-1.0.21.gem
|
|
45
|
+
|
|
46
|
+
Please install only the above configuration-gem variant, not the
|
|
47
|
+
other gem called "configuration". (You can extract the gem and
|
|
48
|
+
look at it before you install it of course. Its sole purpose
|
|
49
|
+
is to read in a bunch of .yml yaml files to provide a proper
|
|
50
|
+
base configuration for a project.)
|
|
51
|
+
|
|
52
|
+
If you wish to start the interactive FTP, the file can be
|
|
53
|
+
found at:
|
|
54
|
+
|
|
55
|
+
bin/iftp
|
|
56
|
+
|
|
57
|
+
And should on most Linux systems end up on:
|
|
58
|
+
|
|
59
|
+
/usr/bin/iftp
|
|
60
|
+
|
|
61
|
+
if the --prefix is at /usr (obviously, if you install into
|
|
62
|
+
your home directory, then it will be at another location;
|
|
63
|
+
rubygems should take care of this).
|
|
64
|
+
|
|
65
|
+
So just typing "iftp" should suffice to start the interactive FTP
|
|
66
|
+
component, but keep in mind that you need to download the
|
|
67
|
+
configuration gem listed above first.
|
|
68
|
+
|
|
69
|
+
You can disable the colour-section of the interactive FTP
|
|
70
|
+
by issuing:
|
|
71
|
+
|
|
72
|
+
iftp --disable-colours
|
|
73
|
+
|
|
74
|
+
You can also batch-upload some scripts through the command
|
|
75
|
+
called:
|
|
76
|
+
|
|
77
|
+
ftp_upload
|
|
78
|
+
|
|
79
|
+
ftp_upload --help should give you some information on how
|
|
80
|
+
to use it.
|
|
81
|
+
|
|
82
|
+
Consider installing the "roebe" gem for making "Configuration"
|
|
83
|
+
available.
|
|
84
|
+
|
|
85
|
+
Thank you and have fun!
|
|
86
|
+
|
|
87
|
+
EOF
|
|
88
|
+
|
|
89
|
+
s.authors = ['Robert A. Heiler']
|
|
90
|
+
s.email = 'shevegen@gmail.com'
|
|
91
|
+
s.license = 'GPL-2.0'
|
|
92
|
+
s.files = Dir['**/*']
|
|
93
|
+
s.files << ['README.md']
|
|
94
|
+
s.files = s.files.flatten
|
|
95
|
+
s.executables = Dir['bin/*'].map { |entry| File.basename(entry) }
|
|
96
|
+
s.require_paths = ["lib"]
|
|
97
|
+
|
|
98
|
+
s.homepage = 'http://rubygems.org/gems/ftp_paradise'
|
|
99
|
+
|
|
100
|
+
s.required_ruby_version = '>= '+RUBY_VERSION
|
|
101
|
+
s.required_rubygems_version = '>= '+Gem::VERSION
|
|
102
|
+
s.rubygems_version = '>= '+Gem::VERSION
|
|
103
|
+
|
|
104
|
+
# =============================================================== #
|
|
105
|
+
# Dependencies for this project:
|
|
106
|
+
# =============================================================== #
|
|
107
|
+
s.add_dependency 'cliner'
|
|
108
|
+
s.add_dependency 'colours'
|
|
109
|
+
s.add_dependency 'convert_global_env'
|
|
110
|
+
s.add_dependency 'rcfiles'
|
|
111
|
+
s.add_dependency 'opn'
|
|
112
|
+
s.add_dependency 'verbose_truth'
|
|
113
|
+
|
|
114
|
+
}
|
data/lib/ftp_paradise.rb
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'ftp_paradise/base/cliner.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module FtpParadise
|
|
8
|
+
|
|
9
|
+
require 'ftp_paradise/requires/common_external_requires.rb'
|
|
10
|
+
# =========================================================================== #
|
|
11
|
+
# === cliner
|
|
12
|
+
# =========================================================================== #
|
|
13
|
+
def cliner
|
|
14
|
+
Cliner.cliner
|
|
15
|
+
if block_given?
|
|
16
|
+
yield
|
|
17
|
+
Cliner.cliner
|
|
18
|
+
end
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'ftp_paradise/base/colours.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module FtpParadise
|
|
8
|
+
|
|
9
|
+
class Base
|
|
10
|
+
|
|
11
|
+
require 'ftp_paradise/colours/colours.rb'
|
|
12
|
+
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
# === swarn
|
|
15
|
+
# ========================================================================= #
|
|
16
|
+
def swarn(i = '')
|
|
17
|
+
return ::FtpParadise.swarn(i) if use_colours?
|
|
18
|
+
i
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
# ========================================================================= #
|
|
22
|
+
# === sfile
|
|
23
|
+
# ========================================================================= #
|
|
24
|
+
def sfile(i = '')
|
|
25
|
+
return ::FtpParadise.sfile(i) if use_colours?
|
|
26
|
+
i
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# ========================================================================= #
|
|
30
|
+
# === simp
|
|
31
|
+
# ========================================================================= #
|
|
32
|
+
def simp(i = '')
|
|
33
|
+
return ::FtpParadise.simp(i) if use_colours?
|
|
34
|
+
i
|
|
35
|
+
end; alias simportant simp # === simportant
|
|
36
|
+
|
|
37
|
+
# ========================================================================= #
|
|
38
|
+
# === sfancy
|
|
39
|
+
# ========================================================================= #
|
|
40
|
+
def sfancy(i = '')
|
|
41
|
+
return ::FtpParadise.sfancy(i) if use_colours?
|
|
42
|
+
i
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
# ========================================================================= #
|
|
46
|
+
# === sdir
|
|
47
|
+
# ========================================================================= #
|
|
48
|
+
def sdir(i = '')
|
|
49
|
+
return ::FtpParadise.sdir(i) if use_colours?
|
|
50
|
+
i
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# ========================================================================= #
|
|
54
|
+
# === orange
|
|
55
|
+
# ========================================================================= #
|
|
56
|
+
def orange(i = '')
|
|
57
|
+
return ::Colours.orange(i) if use_colours?
|
|
58
|
+
i
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# ========================================================================= #
|
|
62
|
+
# === sandybrown
|
|
63
|
+
# ========================================================================= #
|
|
64
|
+
def sandybrown(i = '')
|
|
65
|
+
return ::Colours.sandybrown(i) if use_colours?
|
|
66
|
+
i
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
# ========================================================================= #
|
|
70
|
+
# === royalblue
|
|
71
|
+
# ========================================================================= #
|
|
72
|
+
def royalblue(i = '')
|
|
73
|
+
FtpParadise.royalblue(i)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# ========================================================================= #
|
|
77
|
+
# === slateblue
|
|
78
|
+
# ========================================================================= #
|
|
79
|
+
def slateblue(i = '')
|
|
80
|
+
FtpParadise.slateblue(i)
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
end; end
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'ftp_paradise/base/prototype.rb'
|
|
6
|
+
# FtpParadise::Base
|
|
7
|
+
# =========================================================================== #
|
|
8
|
+
require 'ftp_paradise/constants/constants.rb'
|
|
9
|
+
# =========================================================================== #
|
|
10
|
+
# The various project's toplevel_methods files:
|
|
11
|
+
# =========================================================================== #
|
|
12
|
+
require 'ftp_paradise/toplevel_methods/create_file.rb'
|
|
13
|
+
require 'ftp_paradise/toplevel_methods/e.rb'
|
|
14
|
+
require 'ftp_paradise/toplevel_methods/get_files.rb'
|
|
15
|
+
require 'ftp_paradise/toplevel_methods/opn.rb'
|
|
16
|
+
require 'ftp_paradise/toplevel_methods/password.rb'
|
|
17
|
+
require 'ftp_paradise/toplevel_methods/rds.rb'
|
|
18
|
+
require 'ftp_paradise/toplevel_methods/time.rb'
|
|
19
|
+
# =========================================================================== #
|
|
20
|
+
# The next .rb file will pull in "cliner":
|
|
21
|
+
# =========================================================================== #
|
|
22
|
+
require 'ftp_paradise/requires/common_external_requires.rb'
|
|
23
|
+
|
|
24
|
+
module FtpParadise
|
|
25
|
+
|
|
26
|
+
class Base
|
|
27
|
+
|
|
28
|
+
# =========================================================================== #
|
|
29
|
+
# Colour support comes next:
|
|
30
|
+
# =========================================================================== #
|
|
31
|
+
require 'ftp_paradise/base/colours.rb'
|
|
32
|
+
require 'ftp_paradise/base/cliner.rb'
|
|
33
|
+
require 'ftp_paradise/base/reset.rb'
|
|
34
|
+
|
|
35
|
+
# ========================================================================= #
|
|
36
|
+
# === N
|
|
37
|
+
# ========================================================================= #
|
|
38
|
+
N = "\n"
|
|
39
|
+
|
|
40
|
+
# ========================================================================= #
|
|
41
|
+
# === be_verbose?
|
|
42
|
+
# ========================================================================= #
|
|
43
|
+
def be_verbose?
|
|
44
|
+
@internal_hash[:be_verbose]
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# ========================================================================= #
|
|
48
|
+
# === be_quiet
|
|
49
|
+
# ========================================================================= #
|
|
50
|
+
def be_quiet
|
|
51
|
+
@internal_hash[:be_verbose] = false
|
|
52
|
+
end; alias be_silent be_quiet # === be_silent
|
|
53
|
+
|
|
54
|
+
# ========================================================================= #
|
|
55
|
+
# === set_be_verbose
|
|
56
|
+
#
|
|
57
|
+
# Set the verbosity mode.
|
|
58
|
+
# ========================================================================= #
|
|
59
|
+
def set_be_verbose(i = true)
|
|
60
|
+
@internal_hash[:be_verbose] = i
|
|
61
|
+
end; alias be_verbose= set_be_verbose # === be_verbose=
|
|
62
|
+
alias be_verbose set_be_verbose # === be_verbose
|
|
63
|
+
|
|
64
|
+
# ========================================================================= #
|
|
65
|
+
# === opnn
|
|
66
|
+
# ========================================================================= #
|
|
67
|
+
def opnn(i = NAMESPACE)
|
|
68
|
+
if i.is_a? String
|
|
69
|
+
i = { namespace: i }
|
|
70
|
+
end
|
|
71
|
+
FtpParadise.opnn(i)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
# ========================================================================= #
|
|
75
|
+
# === rds
|
|
76
|
+
# ========================================================================= #
|
|
77
|
+
def rds(i = '')
|
|
78
|
+
FtpParadise.rds(i)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
# ========================================================================= #
|
|
82
|
+
# === touch
|
|
83
|
+
# ========================================================================= #
|
|
84
|
+
def touch(i = '')
|
|
85
|
+
FtpParadise.touch(i)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
# ========================================================================= #
|
|
89
|
+
# === get_files
|
|
90
|
+
# ========================================================================= #
|
|
91
|
+
def get_files(i = '')
|
|
92
|
+
FtpParadise.get_files(i)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
# ========================================================================= #
|
|
96
|
+
# === cd
|
|
97
|
+
# ========================================================================= #
|
|
98
|
+
def cd(i)
|
|
99
|
+
Dir.chdir(i) if File.directory? i
|
|
100
|
+
end; alias change_local_directory cd # === change_local_directory
|
|
101
|
+
|
|
102
|
+
# ========================================================================= #
|
|
103
|
+
# === return_all_local_entries
|
|
104
|
+
#
|
|
105
|
+
# This will return an array.
|
|
106
|
+
# ========================================================================= #
|
|
107
|
+
def return_all_local_entries(
|
|
108
|
+
from_where = Dir.pwd
|
|
109
|
+
)
|
|
110
|
+
Dir["#{from_where}/**/**"]
|
|
111
|
+
end; alias return_directory_content return_all_local_entries # === return_directory_content
|
|
112
|
+
|
|
113
|
+
# ========================================================================= #
|
|
114
|
+
# === e
|
|
115
|
+
# ========================================================================= #
|
|
116
|
+
def e(i = '')
|
|
117
|
+
FtpParadise.e(i)
|
|
118
|
+
end
|
|
119
|
+
|
|
120
|
+
# ========================================================================= #
|
|
121
|
+
# === use_colours?
|
|
122
|
+
# ========================================================================= #
|
|
123
|
+
def use_colours?
|
|
124
|
+
@internal_hash[:use_colours]
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
# ========================================================================= #
|
|
128
|
+
# === parens (parens tag)
|
|
129
|
+
# ========================================================================= #
|
|
130
|
+
def parens(i)
|
|
131
|
+
padding_to_use = ' ' * 5
|
|
132
|
+
return sfancy("#{padding_to_use}(#{i}) ")
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# ========================================================================= #
|
|
136
|
+
# === pound_token
|
|
137
|
+
#
|
|
138
|
+
# Simply return a colourized pound token next, but only if we use colours.
|
|
139
|
+
# ========================================================================= #
|
|
140
|
+
def pound_token
|
|
141
|
+
_ = '# '
|
|
142
|
+
if use_colours?
|
|
143
|
+
return "#{Colours::CYAN}#{_}#{Colours::WHITE}"
|
|
144
|
+
end
|
|
145
|
+
_
|
|
146
|
+
end
|
|
147
|
+
|
|
148
|
+
# ========================================================================= #
|
|
149
|
+
# === on_roebe?
|
|
150
|
+
# ========================================================================= #
|
|
151
|
+
def on_roebe?
|
|
152
|
+
ENV['IS_ROEBE'].to_s == '1'
|
|
153
|
+
end; alias are_we_on_roebe? on_roebe? # === are_we_on_roebe?
|
|
154
|
+
|
|
155
|
+
# ========================================================================= #
|
|
156
|
+
# === return_time
|
|
157
|
+
# ========================================================================= #
|
|
158
|
+
def return_time
|
|
159
|
+
FtpParadise.return_time
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# ========================================================================= #
|
|
163
|
+
# === do_use_colours
|
|
164
|
+
# ========================================================================= #
|
|
165
|
+
def do_use_colours
|
|
166
|
+
@internal_hash[:use_colours] = true
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
end; end
|