ftp_paradise 1.4.5
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.
- checksums.yaml +7 -0
- data/README.md +319 -0
- data/bin/create_remote_directory +9 -0
- data/bin/ftp_get +17 -0
- data/bin/ftp_gtk3 +7 -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 +302 -0
- data/doc/todo/TODO_FOR_FTP_PARADISE_PROJECT.md +79 -0
- data/ftp_paradise.gemspec +122 -0
- data/lib/ftp_paradise.rb +5 -0
- data/lib/ftp_paradise/base/cliner.rb +23 -0
- data/lib/ftp_paradise/base/colours.rb +83 -0
- data/lib/ftp_paradise/base/prototype.rb +171 -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 +76 -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 +164 -0
- data/lib/ftp_paradise/connection/debug.rb +78 -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 +174 -0
- data/lib/ftp_paradise/connection/ftp_object.rb +21 -0
- data/lib/ftp_paradise/connection/initialize.rb +88 -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 +474 -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 +164 -0
- data/lib/ftp_paradise/connection/remove.rb +143 -0
- data/lib/ftp_paradise/connection/reset.rb +78 -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 +163 -0
- data/lib/ftp_paradise/connection/upload.rb +253 -0
- data/lib/ftp_paradise/connection/use_default_dataset.rb +40 -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 +31 -0
- data/lib/ftp_paradise/constants/roebe_ftp_constants.rb +233 -0
- data/lib/ftp_paradise/entry/entry.rb +300 -0
- data/lib/ftp_paradise/gui/gtk2/ftp_paradise.rb +34 -0
- data/lib/ftp_paradise/gui/gtk3/ftp_paradise.rb +34 -0
- data/lib/ftp_paradise/gui/shared_code/ftp_paradise/ftp_paradise_module.rb +709 -0
- data/lib/ftp_paradise/images/connection_image.png +0 -0
- data/lib/ftp_paradise/interactive_ftp/constants.rb +103 -0
- data/lib/ftp_paradise/interactive_ftp/directory_handling.rb +216 -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 +998 -0
- data/lib/ftp_paradise/interactive_ftp/main_loop.rb +51 -0
- data/lib/ftp_paradise/interactive_ftp/menu.rb +786 -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 +113 -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 +64 -0
- data/lib/ftp_paradise/requires/common_basic_requires.rb +14 -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 +28 -0
- data/lib/ftp_paradise/toplevel_methods/clear_user_dataset.rb +28 -0
- data/lib/ftp_paradise/toplevel_methods/connect.rb +50 -0
- data/lib/ftp_paradise/toplevel_methods/data.rb +31 -0
- data/lib/ftp_paradise/toplevel_methods/determine_user_dataset_from_this_hash.rb +37 -0
- data/lib/ftp_paradise/toplevel_methods/directory_related_actions.rb +33 -0
- data/lib/ftp_paradise/toplevel_methods/e.rb +16 -0
- data/lib/ftp_paradise/toplevel_methods/file_related_actions.rb +49 -0
- data/lib/ftp_paradise/toplevel_methods/ftp_object.rb +270 -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/misc.rb +16 -0
- data/lib/ftp_paradise/toplevel_methods/opn.rb +24 -0
- data/lib/ftp_paradise/toplevel_methods/password.rb +50 -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_and_download.rb +108 -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 +34 -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 +336 -0
data/doc/README.gen
ADDED
@@ -0,0 +1,302 @@
|
|
1
|
+
DEFAULT_RUBY_HEADER
|
2
|
+
|
3
|
+
## FtpParadise - Introduction
|
4
|
+
|
5
|
+
This README file contains FTP-related information about the ruby
|
6
|
+
scripts that are part of the **FtpParadise project**.
|
7
|
+
|
8
|
+
Currently the most important part of the FTP Paradise project is
|
9
|
+
the Library around the Ruby-FTP base library, and an interactive
|
10
|
+
component that can check on the given user-input.
|
11
|
+
|
12
|
+
A simple **GUI** also exists to support the extended FTP
|
13
|
+
functionality, but this GUI is extremely limited - I recommend
|
14
|
+
to use the commandline variant instead. (The commandline variant
|
15
|
+
is also significantly faster, in my experience.)
|
16
|
+
|
17
|
+
Since as of **March 2014** a web-interface of some sorts is
|
18
|
+
available too, currently being offered as a sinatra-app and
|
19
|
+
a .cgi file. This is also limited, so again: prefer to use
|
20
|
+
the commandline variant whenever possible.
|
21
|
+
|
22
|
+
The interactive component can be used to connect to remote websites
|
23
|
+
by making use of the script called **iftp** at **bin/iftp**. This
|
24
|
+
file is distributed with the project.
|
25
|
+
|
26
|
+
The name **iftp** indicates towards "interactive_ftp", which
|
27
|
+
describes its functionality best - it allows you to interactively
|
28
|
+
enter commands, which will then be evaluated in the context of
|
29
|
+
FTP. (Evidently you have to first connect to the remote
|
30
|
+
website via your FTP login credentials, so make sure to do
|
31
|
+
that first before inputting commands.)
|
32
|
+
|
33
|
+
## Requiring the FtpParadise library:
|
34
|
+
|
35
|
+
Simply do the following in order to require this project:
|
36
|
+
|
37
|
+
require 'ftp_paradise'
|
38
|
+
|
39
|
+
Please do note that rather than the various .set_ methods, you
|
40
|
+
could also use traditional = methods instead.
|
41
|
+
|
42
|
+
So, for instance:
|
43
|
+
|
44
|
+
set_port()
|
45
|
+
|
46
|
+
is the very same as using a direct setter method such as:
|
47
|
+
|
48
|
+
port=
|
49
|
+
|
50
|
+
This is mostly for convenience. Use in your code whatever you
|
51
|
+
prefer. Most may prefer foo=, I like to read a leading set_
|
52
|
+
though, visually.
|
53
|
+
|
54
|
+
## The interactive component of the FTP Paradise:
|
55
|
+
|
56
|
+
The **interactive** component will properly tell the user whether
|
57
|
+
he/she is connected to a remote host or whether the user is not
|
58
|
+
connected, since as of the version **1.0.35**.
|
59
|
+
|
60
|
+
If you need to determine manually whether you are connected, do
|
61
|
+
input this command in the interactive shell:
|
62
|
+
|
63
|
+
connected?
|
64
|
+
|
65
|
+
## Autoconnecting (Added as of December 2017)
|
66
|
+
|
67
|
+
This presently works only on my home system, by checking whether
|
68
|
+
the environment variable IS_ROEBE was set. If it was set, and
|
69
|
+
if **an upload event** occurs before we have connected
|
70
|
+
somewhere, then we will first connect.
|
71
|
+
|
72
|
+
This functionality could be changed to include any way to
|
73
|
+
auto-connect, but for now, this has to suffice.
|
74
|
+
|
75
|
+
In September 2018, an additional option has been added. The
|
76
|
+
file **automatically_connect_on-statup_of_the_interactive_ftp_shell.yml**
|
77
|
+
has been created. If its content is set to true, and if we
|
78
|
+
are on **roebe**, and we start the interactive ftp-shell, then
|
79
|
+
we will automatically connect to the remote shevy-FTP site.
|
80
|
+
|
81
|
+
This obviously is only useful on my home system, but it could
|
82
|
+
in theory be expanded to include other FTP sites as well.
|
83
|
+
|
84
|
+
## Readline support
|
85
|
+
|
86
|
+
The interactive component of the FtpParadise project will try
|
87
|
+
to make use of the readline module, if it is available. Not
|
88
|
+
every ruby version installed may have support for Readline,
|
89
|
+
though, so this must be **optional**.
|
90
|
+
|
91
|
+
If you do not want to use readline or do not need it, you can
|
92
|
+
pass the flag --no-readline to disable this for the current
|
93
|
+
invocation.
|
94
|
+
|
95
|
+
iftp --no-readline
|
96
|
+
|
97
|
+
(Where **iftp** stands short for interactive ftp.)
|
98
|
+
|
99
|
+
## Using FTP Paradise it in a project:
|
100
|
+
|
101
|
+
First, you must require this gem, as stated above:
|
102
|
+
|
103
|
+
require 'ftp_paradise'
|
104
|
+
|
105
|
+
Then you can use Ruby code such as this one here:
|
106
|
+
|
107
|
+
_ = FtpParadise::Connection.new("science_news")
|
108
|
+
_.set_user 'the_name_of_your_user_here' # <-- this is optional
|
109
|
+
_.set_port '21' # <-- this is also optional
|
110
|
+
_.connect_to 'insert_the_ftp_host_here'
|
111
|
+
_.run # Start transation (as in, try to login).
|
112
|
+
|
113
|
+
Note that most of the above is completely optional and thus can be
|
114
|
+
omitted.
|
115
|
+
|
116
|
+
It simply allows you to fine tune when you need to set these entries.
|
117
|
+
|
118
|
+
Convenience methods exist of course, for instance:
|
119
|
+
|
120
|
+
FtpParadise.connect to: 'url here'
|
121
|
+
|
122
|
+
A much simpler alternative to the above is to provide a Hash with all
|
123
|
+
that required information instead.
|
124
|
+
|
125
|
+
If you don't want to connect the very moment a new Library class is
|
126
|
+
instantiated, then you can do the following:
|
127
|
+
|
128
|
+
_ = FtpParadise::Connection.new :dont_run
|
129
|
+
|
130
|
+
You can also directly upload a file, by using a class_method such
|
131
|
+
as this one here:
|
132
|
+
|
133
|
+
FtpParadise.upload(this, to)
|
134
|
+
|
135
|
+
Class methods (or rather, module methods in this case), will
|
136
|
+
be stored in the file module.rb.
|
137
|
+
|
138
|
+
A pure commandline-program also exists, called:
|
139
|
+
|
140
|
+
ftp_upload
|
141
|
+
|
142
|
+
Check it's --help option for its available options.
|
143
|
+
|
144
|
+
## Uploading content to a remote FTP server
|
145
|
+
|
146
|
+
Remember that you can do all of this via the **official ruby FTP
|
147
|
+
bindings** already - I only wanted to be able to do so interactively
|
148
|
+
as well.
|
149
|
+
|
150
|
+
Uploading from the interactive FTP paradise executable can be done
|
151
|
+
by giving numbers. The FTP paradise project will assume that any
|
152
|
+
numbers given, will refer to the index position of the current
|
153
|
+
working directory.
|
154
|
+
|
155
|
+
That is, index 7 would mean file position at 7 in the current
|
156
|
+
directory:
|
157
|
+
|
158
|
+
upload 7,8
|
159
|
+
|
160
|
+
The above instructions would try to **upload file number 7**
|
161
|
+
and **8** to the remote host. Of course you could use the file
|
162
|
+
name instead directly - the numbers are just there for
|
163
|
+
convenience. Less to type when in an interactive mode.
|
164
|
+
|
165
|
+
Also note that this refers only to files. Directories will be
|
166
|
+
ignored for this purpose. This behaviour may change in the
|
167
|
+
future, but then again it may not. (The default is mostly
|
168
|
+
what is the most convenient and most used behaviour; for me
|
169
|
+
it is a LOT more common to just quickly upload files to a
|
170
|
+
remote ftp server, so the number support above prefers
|
171
|
+
files too.)
|
172
|
+
|
173
|
+
To **upload files** do:
|
174
|
+
|
175
|
+
upload foo.txt
|
176
|
+
|
177
|
+
You can **upload** several files by using , as a delimiter:
|
178
|
+
|
179
|
+
upload 6,7
|
180
|
+
|
181
|
+
This would upload file 6 and file 7.
|
182
|
+
|
183
|
+
If you wish to batch-upload some .pdf files, you can try this:
|
184
|
+
|
185
|
+
upload *pdf
|
186
|
+
|
187
|
+
To simply batch-upload the content of the current working
|
188
|
+
directory, this should suffice:
|
189
|
+
|
190
|
+
upload *
|
191
|
+
|
192
|
+
|
193
|
+
## General use cases for the interactive FTP component - using the interactive component
|
194
|
+
|
195
|
+
The interactive FTP component allows you to do several **ftp-related
|
196
|
+
commands** via an interactive interface. I needed this functionality
|
197
|
+
so that I can connect to remote FTP servers and quickly do things
|
198
|
+
such as creating a directory, removing it, renaming files, uploading
|
199
|
+
and downloading content.
|
200
|
+
|
201
|
+
Once you are all set and finished working with the Interactive
|
202
|
+
Ftp component of the ftp_paradise project, you can type **q** or
|
203
|
+
**quit** to exit from it again - or simply hit Ctrl-D, which achieves
|
204
|
+
the same, more or less.
|
205
|
+
|
206
|
+
To start the interactive ftp component, you can issue a command
|
207
|
+
such as:
|
208
|
+
|
209
|
+
_ = FtpParadise::InteractiveFtp.new
|
210
|
+
|
211
|
+
This should start the interactive component of the **FtpParadise project**.
|
212
|
+
|
213
|
+
If you want a **simplified API** call, you can also use:
|
214
|
+
|
215
|
+
_ = FtpParadise.interactive
|
216
|
+
|
217
|
+
instead. This variant has the benefit of being more succinct.
|
218
|
+
|
219
|
+
Once inside the main loop there, the one that will continually
|
220
|
+
fetch user input, you can issue "help" to get help.
|
221
|
+
|
222
|
+
The same syntax that is used via <b>upload</b>ing content, can
|
223
|
+
also be used by **downloading**, such as via:
|
224
|
+
|
225
|
+
download 8
|
226
|
+
download 8,9
|
227
|
+
download 1,2,3
|
228
|
+
|
229
|
+
In short, we can use positional numbers to handle files and
|
230
|
+
directories. The number 3 means "whatever is at the third
|
231
|
+
position", be it a file or a directory.
|
232
|
+
|
233
|
+
You can also specifically download a binary file by issuing:
|
234
|
+
|
235
|
+
download_remote_file test.bin
|
236
|
+
|
237
|
+
You can show the full path to a file, both remote or local,
|
238
|
+
if you wish to.
|
239
|
+
|
240
|
+
For this do either of:
|
241
|
+
|
242
|
+
toggle show
|
243
|
+
show_names
|
244
|
+
|
245
|
+
If you wish to remove all remote entries from a remote directory,
|
246
|
+
do issue this command:
|
247
|
+
|
248
|
+
remote_remove *
|
249
|
+
|
250
|
+
You can also upload from the commandline, by using the script
|
251
|
+
**ftp_upload**:
|
252
|
+
|
253
|
+
ftp_upload file_that_should_exist_comes_here.txt
|
254
|
+
ftp_upload *
|
255
|
+
|
256
|
+
The latter command would simply upload all the found files in
|
257
|
+
the current directory.
|
258
|
+
|
259
|
+
You can also do the above in **binary mode**:
|
260
|
+
|
261
|
+
ftp_upload file --binary
|
262
|
+
|
263
|
+
## Editor
|
264
|
+
|
265
|
+
You can query which editor is in use, in the interactive FTP
|
266
|
+
component of the **FtpParadise project**, by issuing this
|
267
|
+
command:
|
268
|
+
|
269
|
+
editor?
|
270
|
+
|
271
|
+
You can also assign another editor in use, via:
|
272
|
+
|
273
|
+
set_editor vim # Use "vim" as the editor.
|
274
|
+
|
275
|
+
This value is used when you wish to quickly **modify a file**
|
276
|
+
from within the **interactive_ftp component**. The latter
|
277
|
+
is triggered via:
|
278
|
+
|
279
|
+
edit NAME_OF_THE_FILE_HERE
|
280
|
+
edit foobar.md # <- an example
|
281
|
+
|
282
|
+
## Remote Hosts
|
283
|
+
|
284
|
+
If you need to determine the remote host, you can use this
|
285
|
+
toplevel method:
|
286
|
+
|
287
|
+
FtpParadise.remote_host?
|
288
|
+
|
289
|
+
This will return nil if no connection has been made as of
|
290
|
+
yet.
|
291
|
+
|
292
|
+
## The graphical user interface (ruby-gtk3)
|
293
|
+
|
294
|
+
There exists a small ruby-gtk3 client for the ftp_paradise
|
295
|
+
gem. Unfortunately it is not complete and has a few bugs;
|
296
|
+
if anyone wants to fix that ... :)
|
297
|
+
|
298
|
+
For selecting a local file, you currently have to
|
299
|
+
double-click. At some later point I will extend this
|
300
|
+
to one-click only.
|
301
|
+
|
302
|
+
ADD_CONTACT_DETAILS
|
@@ -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,122 @@
|
|
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
|
+
The basic idea for this project was to make working with FTP-related
|
18
|
+
code simpler, and more convenient. This is why the project focuses
|
19
|
+
both on commandline use, interactive commandline use, as well as
|
20
|
+
GUI components (via ruby-gtk3 primarily).
|
21
|
+
|
22
|
+
Please be aware that since as of the year 2020, this project is in a
|
23
|
+
low-effort maintenance mode only, though.
|
24
|
+
|
25
|
+
Bug fixes may still happen, as well as improvements made to the
|
26
|
+
documentation - but by and large, I am no longer modifying this
|
27
|
+
project that much anymore. My peak FTP days in regards to this
|
28
|
+
project were mostly from 2010 to 2014. Since then I have found
|
29
|
+
fewer use cases for this project.
|
30
|
+
|
31
|
+
For more information about the ftp_paradise project, please have a look
|
32
|
+
at the online documentation at https://www.rubydoc.info/gems/ftp_paradise/
|
33
|
+
or within the doc/ subdirectory of this gem.
|
34
|
+
|
35
|
+
EOF
|
36
|
+
|
37
|
+
s.summary = DESCRIPTION
|
38
|
+
s.description = DESCRIPTION
|
39
|
+
|
40
|
+
# =============================================================== #
|
41
|
+
# Show this when a user installs this project.
|
42
|
+
# =============================================================== #
|
43
|
+
s.post_install_message = <<-EOF
|
44
|
+
|
45
|
+
The interactive file, which can be started by typing "iftp",
|
46
|
+
requires a library called configuration.
|
47
|
+
|
48
|
+
This is NOT the one available at rubygems.org - but instead can
|
49
|
+
be downloaded here:
|
50
|
+
|
51
|
+
wget http://shevegen.bplaced.net/configuration-1.0.21.gem
|
52
|
+
|
53
|
+
Please install only the above configuration-gem variant, not the
|
54
|
+
other gem called "configuration". (You can extract the gem and
|
55
|
+
look at it before you install it of course. Its sole purpose
|
56
|
+
is to read in a bunch of .yml yaml files to provide a proper
|
57
|
+
base configuration for a project.)
|
58
|
+
|
59
|
+
If you wish to start the interactive FTP, the file can be
|
60
|
+
found at:
|
61
|
+
|
62
|
+
bin/iftp
|
63
|
+
|
64
|
+
And should on most Linux systems end up on:
|
65
|
+
|
66
|
+
/usr/bin/iftp
|
67
|
+
|
68
|
+
if the --prefix is at /usr (obviously, if you install into
|
69
|
+
your home directory, then it will be at another location;
|
70
|
+
rubygems should take care of this).
|
71
|
+
|
72
|
+
So just typing "iftp" should suffice to start the interactive FTP
|
73
|
+
component, but keep in mind that you need to download the
|
74
|
+
configuration gem listed above first.
|
75
|
+
|
76
|
+
You can disable the colour-section of the interactive FTP
|
77
|
+
by issuing:
|
78
|
+
|
79
|
+
iftp --disable-colours
|
80
|
+
|
81
|
+
You can also batch-upload some scripts through the command
|
82
|
+
called:
|
83
|
+
|
84
|
+
ftp_upload
|
85
|
+
|
86
|
+
ftp_upload --help should give you some information on how
|
87
|
+
to use it.
|
88
|
+
|
89
|
+
Consider installing the "roebe" gem for making "Configuration"
|
90
|
+
available.
|
91
|
+
|
92
|
+
Thank you and have fun!
|
93
|
+
|
94
|
+
EOF
|
95
|
+
|
96
|
+
s.authors = ['Robert A. Heiler']
|
97
|
+
s.email = 'shevegen@gmail.com'
|
98
|
+
s.license = 'GPL-2.0'
|
99
|
+
s.files = Dir['**/*']
|
100
|
+
s.files << ['README.md']
|
101
|
+
s.files = s.files.flatten
|
102
|
+
s.executables = Dir['bin/*'].map { |entry| File.basename(entry) }
|
103
|
+
s.require_paths = ["lib"]
|
104
|
+
|
105
|
+
s.homepage = 'http://rubygems.org/gems/ftp_paradise'
|
106
|
+
|
107
|
+
s.required_ruby_version = '>= '+RUBY_VERSION
|
108
|
+
s.required_rubygems_version = '>= '+Gem::VERSION
|
109
|
+
s.rubygems_version = '>= '+Gem::VERSION
|
110
|
+
|
111
|
+
# =============================================================== #
|
112
|
+
# Dependencies for this project:
|
113
|
+
# =============================================================== #
|
114
|
+
s.add_dependency 'cliner'
|
115
|
+
s.add_dependency 'colours'
|
116
|
+
s.add_dependency 'convert_global_env'
|
117
|
+
s.add_dependency 'rcfiles'
|
118
|
+
s.add_dependency 'opn'
|
119
|
+
s.add_dependency 'verbose_truth'
|
120
|
+
s.add_dependency 'gtk_paradise'
|
121
|
+
|
122
|
+
}
|