universal_pipe_handler 0.0.10
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 +461 -0
- data/doc/README.gen +417 -0
- data/doc/todo/todo_for_the_universal_pipe_handler_project.md +300 -0
- data/img/UNIVERSAL_PIPE_HANDLER_LOGO.jpg +0 -0
- data/img/pipe_paradise.png +0 -0
- data/lib/universal_pipe_handler/base/base.rb +147 -0
- data/lib/universal_pipe_handler/cmdlet/cmdlet.rb +287 -0
- data/lib/universal_pipe_handler/cmdlets/add.rb +15 -0
- data/lib/universal_pipe_handler/cmdlets/add_audio.rb +22 -0
- data/lib/universal_pipe_handler/cmdlets/all.rb +37 -0
- data/lib/universal_pipe_handler/cmdlets/any.rb +25 -0
- data/lib/universal_pipe_handler/cmdlets/ascii_video.rb +30 -0
- data/lib/universal_pipe_handler/cmdlets/assign.rb +24 -0
- data/lib/universal_pipe_handler/cmdlets/capture_screen.rb +46 -0
- data/lib/universal_pipe_handler/cmdlets/colourize.rb +35 -0
- data/lib/universal_pipe_handler/cmdlets/convert_to.rb +21 -0
- data/lib/universal_pipe_handler/cmdlets/convert_to_images.rb +17 -0
- data/lib/universal_pipe_handler/cmdlets/convert_to_mp3.rb +28 -0
- data/lib/universal_pipe_handler/cmdlets/convert_to_wav.rb +17 -0
- data/lib/universal_pipe_handler/cmdlets/copy_directories.rb +23 -0
- data/lib/universal_pipe_handler/cmdlets/count_character.rb +31 -0
- data/lib/universal_pipe_handler/cmdlets/count_longest_row.rb +21 -0
- data/lib/universal_pipe_handler/cmdlets/crop.rb +26 -0
- data/lib/universal_pipe_handler/cmdlets/cut.rb +101 -0
- data/lib/universal_pipe_handler/cmdlets/days.rb +41 -0
- data/lib/universal_pipe_handler/cmdlets/decolourize.rb +25 -0
- data/lib/universal_pipe_handler/cmdlets/download.rb +30 -0
- data/lib/universal_pipe_handler/cmdlets/download_torrent.rb +17 -0
- data/lib/universal_pipe_handler/cmdlets/duration.rb +34 -0
- data/lib/universal_pipe_handler/cmdlets/extract.rb +27 -0
- data/lib/universal_pipe_handler/cmdlets/extract_all.rb +23 -0
- data/lib/universal_pipe_handler/cmdlets/extract_audio.rb +30 -0
- data/lib/universal_pipe_handler/cmdlets/extract_video.rb +18 -0
- data/lib/universal_pipe_handler/cmdlets/find_all.rb +40 -0
- data/lib/universal_pipe_handler/cmdlets/generate_random_video.rb +29 -0
- data/lib/universal_pipe_handler/cmdlets/generate_string.rb +27 -0
- data/lib/universal_pipe_handler/cmdlets/get_all_audio_files.rb +33 -0
- data/lib/universal_pipe_handler/cmdlets/get_all_files.rb +61 -0
- data/lib/universal_pipe_handler/cmdlets/get_all_images.rb +47 -0
- data/lib/universal_pipe_handler/cmdlets/get_all_images_including_subdirs.rb +26 -0
- data/lib/universal_pipe_handler/cmdlets/get_all_video_files.rb +34 -0
- data/lib/universal_pipe_handler/cmdlets/get_last_characters.rb +24 -0
- data/lib/universal_pipe_handler/cmdlets/help.rb +36 -0
- data/lib/universal_pipe_handler/cmdlets/identify.rb +29 -0
- data/lib/universal_pipe_handler/cmdlets/increase_audio.rb +26 -0
- data/lib/universal_pipe_handler/cmdlets/install.rb +32 -0
- data/lib/universal_pipe_handler/cmdlets/match_regex.rb +24 -0
- data/lib/universal_pipe_handler/cmdlets/n_directories.rb +25 -0
- data/lib/universal_pipe_handler/cmdlets/n_files.rb +20 -0
- data/lib/universal_pipe_handler/cmdlets/n_words.rb +25 -0
- data/lib/universal_pipe_handler/cmdlets/number_lines.rb +34 -0
- data/lib/universal_pipe_handler/cmdlets/open_in_browser.rb +40 -0
- data/lib/universal_pipe_handler/cmdlets/pad_left.rb +20 -0
- data/lib/universal_pipe_handler/cmdlets/pad_right.rb +20 -0
- data/lib/universal_pipe_handler/cmdlets/play.rb +18 -0
- data/lib/universal_pipe_handler/cmdlets/position.rb +21 -0
- data/lib/universal_pipe_handler/cmdlets/processes.rb +18 -0
- data/lib/universal_pipe_handler/cmdlets/random.rb +21 -0
- data/lib/universal_pipe_handler/cmdlets/random_video.rb +23 -0
- data/lib/universal_pipe_handler/cmdlets/read_file.rb +44 -0
- data/lib/universal_pipe_handler/cmdlets/read_line.rb +31 -0
- data/lib/universal_pipe_handler/cmdlets/read_n_lines.rb +38 -0
- data/lib/universal_pipe_handler/cmdlets/read_n_lines_inverted.rb +36 -0
- data/lib/universal_pipe_handler/cmdlets/remove_audio.rb +22 -0
- data/lib/universal_pipe_handler/cmdlets/remove_comments.rb +26 -0
- data/lib/universal_pipe_handler/cmdlets/remove_directories.rb +29 -0
- data/lib/universal_pipe_handler/cmdlets/remove_html.rb +25 -0
- data/lib/universal_pipe_handler/cmdlets/remove_newlines.rb +23 -0
- data/lib/universal_pipe_handler/cmdlets/remove_numbers.rb +25 -0
- data/lib/universal_pipe_handler/cmdlets/repackage_to.rb +27 -0
- data/lib/universal_pipe_handler/cmdlets/replace_underscores.rb +29 -0
- data/lib/universal_pipe_handler/cmdlets/resize.rb +39 -0
- data/lib/universal_pipe_handler/cmdlets/resize_image.rb +45 -0
- data/lib/universal_pipe_handler/cmdlets/reverse.rb +22 -0
- data/lib/universal_pipe_handler/cmdlets/screenshot.rb +41 -0
- data/lib/universal_pipe_handler/cmdlets/search_torrent.rb +24 -0
- data/lib/universal_pipe_handler/cmdlets/seconds.rb +23 -0
- data/lib/universal_pipe_handler/cmdlets/select.rb +23 -0
- data/lib/universal_pipe_handler/cmdlets/show_lines.rb +31 -0
- data/lib/universal_pipe_handler/cmdlets/shuffle.rb +16 -0
- data/lib/universal_pipe_handler/cmdlets/shuffle_csv.rb +55 -0
- data/lib/universal_pipe_handler/cmdlets/size.rb +21 -0
- data/lib/universal_pipe_handler/cmdlets/sort_alphabetical.rb +20 -0
- data/lib/universal_pipe_handler/cmdlets/sort_by_date.rb +23 -0
- data/lib/universal_pipe_handler/cmdlets/starts_with.rb +25 -0
- data/lib/universal_pipe_handler/cmdlets/stat_file.rb +61 -0
- data/lib/universal_pipe_handler/cmdlets/to_ascii.rb +38 -0
- data/lib/universal_pipe_handler/cmdlets/to_camel_case.rb +38 -0
- data/lib/universal_pipe_handler/cmdlets/to_dna.rb +31 -0
- data/lib/universal_pipe_handler/cmdlets/to_movie.rb +16 -0
- data/lib/universal_pipe_handler/cmdlets/to_pdf.rb +58 -0
- data/lib/universal_pipe_handler/cmdlets/translate.rb +36 -0
- data/lib/universal_pipe_handler/cmdlets/upload_to.rb +29 -0
- data/lib/universal_pipe_handler/cmdlets/word_count.rb +39 -0
- data/lib/universal_pipe_handler/cmdlets/word_wrap.rb +26 -0
- data/lib/universal_pipe_handler/cmdlets/write_to.rb +51 -0
- data/lib/universal_pipe_handler/cmdlets/years.rb +30 -0
- data/lib/universal_pipe_handler/cmdlets_handler/cmdlets_handler.rb +193 -0
- data/lib/universal_pipe_handler/colours/colourize.rb +112 -0
- data/lib/universal_pipe_handler/colours/colours.rb +54 -0
- data/lib/universal_pipe_handler/configuration/configuration.rb +18 -0
- data/lib/universal_pipe_handler/constants/constants.rb +201 -0
- data/lib/universal_pipe_handler/dataset/dataset.rb +14 -0
- data/lib/universal_pipe_handler/project/project.rb +36 -0
- data/lib/universal_pipe_handler/requires/do_require_the_individual_cmdlet_files.rb +21 -0
- data/lib/universal_pipe_handler/requires/require_the_universal_pipe_handler.rb +14 -0
- data/lib/universal_pipe_handler/shell/shell.rb +256 -0
- data/lib/universal_pipe_handler/toplevel_methods/all_actions.rb +48 -0
- data/lib/universal_pipe_handler/toplevel_methods/cmdlet_directory.rb +22 -0
- data/lib/universal_pipe_handler/toplevel_methods/e.rb +16 -0
- data/lib/universal_pipe_handler/toplevel_methods/misc.rb +54 -0
- data/lib/universal_pipe_handler/toplevel_methods/rds.rb +18 -0
- data/lib/universal_pipe_handler/toplevel_methods/token.rb +18 -0
- data/lib/universal_pipe_handler/version/version.rb +19 -0
- data/lib/universal_pipe_handler/yaml/aliases_to_cmdlets.yml +250 -0
- data/lib/universal_pipe_handler/yaml/allowed_cmdlets.yml +118 -0
- data/lib/universal_pipe_handler/yaml/predefined_methods.yml +15 -0
- data/lib/universal_pipe_handler.rb +5 -0
- data/test/testing_the_universal_pipe_handler.rb +65 -0
- data/test/this_file +46 -0
- data/universal_pipe_handler.gemspec +80 -0
- metadata +299 -0
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/read_n_lines_inverted.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_read_n_lines_inverted
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
def self.cmdlet_read_n_lines_inverted(
|
|
13
|
+
n_lines_to_read = 50,
|
|
14
|
+
optional_file = nil
|
|
15
|
+
)
|
|
16
|
+
if n_lines_to_read.is_a? Array
|
|
17
|
+
if n_lines_to_read.size > 1
|
|
18
|
+
optional_file = n_lines_to_read.pop unless n_lines_to_read.nil?
|
|
19
|
+
end
|
|
20
|
+
n_lines_to_read = n_lines_to_read.first
|
|
21
|
+
end
|
|
22
|
+
n_lines_to_read = n_lines_to_read.to_i.abs
|
|
23
|
+
if optional_file
|
|
24
|
+
_ = File.readlines(optional_file)
|
|
25
|
+
else
|
|
26
|
+
_ = result?
|
|
27
|
+
end
|
|
28
|
+
if _
|
|
29
|
+
set_result(_.reverse[0 .. (n_lines_to_read-1)].reverse)
|
|
30
|
+
else
|
|
31
|
+
e 'The input in the method `'+__method__.to_s+'` is '+
|
|
32
|
+
'nil. Can not continue.'
|
|
33
|
+
end
|
|
34
|
+
end; self.instance_eval { alias read_n_lines_inverted cmdlet_read_n_lines_inverted } # === UniversalPipeHandler.read_n_lines_inverted
|
|
35
|
+
|
|
36
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/remove_audio.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_remove_audio
|
|
11
|
+
#
|
|
12
|
+
# This action will remove the audio from a clip, by calling the
|
|
13
|
+
# class RemoveAudio.
|
|
14
|
+
# ========================================================================= #
|
|
15
|
+
def self.cmdlet_remove_audio(
|
|
16
|
+
i = result?
|
|
17
|
+
)
|
|
18
|
+
set_result(RemoveAudio[i])
|
|
19
|
+
return result?
|
|
20
|
+
end; self.instance_eval { alias remove_audio cmdlet_remove_audio } # === UniversalPipeHandler.remove_audio
|
|
21
|
+
|
|
22
|
+
end
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/remove_comments.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_remove_comments
|
|
11
|
+
#
|
|
12
|
+
# Remove comments via the class StripComments.
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
def self.cmdlet_remove_comments(
|
|
15
|
+
i = result?,
|
|
16
|
+
use_this_split_character = '#'
|
|
17
|
+
)
|
|
18
|
+
_ = RemoveComments::RemoveComments.new(i, :be_silent) # bl $RSRC/remove_comments/lib/remove_comments/remove_comments/remove_comments.rb
|
|
19
|
+
_.split_character = use_this_split_character
|
|
20
|
+
_.retain_newlines
|
|
21
|
+
_.run
|
|
22
|
+
set_result(_.result)
|
|
23
|
+
return result?
|
|
24
|
+
end; self.instance_eval { alias remove_comments cmdlet_remove_comments } # === UniversalPipeHandler.remove_comments
|
|
25
|
+
|
|
26
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/remove_directories.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_remove_directories
|
|
11
|
+
#
|
|
12
|
+
# We use this action to remove directories.
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
def self.cmdlet_remove_directories
|
|
15
|
+
result = []
|
|
16
|
+
_ = result?.compact # Get rid of nil values.
|
|
17
|
+
if _.empty? # Then get all directory from the current dir.
|
|
18
|
+
_ = get_all_directories
|
|
19
|
+
end
|
|
20
|
+
_.map {|entry|
|
|
21
|
+
result << entry if File.directory?(entry)
|
|
22
|
+
}
|
|
23
|
+
e 'Removing these directories next:'
|
|
24
|
+
result.each { |entry| remove(entry) }
|
|
25
|
+
set_result(result)
|
|
26
|
+
return result?
|
|
27
|
+
end; self.instance_eval { alias remove_directories cmdlet_remove_directories } # === UniversalPipeHandler.remove_directories
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/remove_numbers.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_remove_html
|
|
11
|
+
#
|
|
12
|
+
# Remove the HTML part from a string.
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
def self.cmdlet_remove_html(partial_remove = false)
|
|
15
|
+
_ = result? # Work on a copy of result here.
|
|
16
|
+
_ = _.join if _.is_a? Array
|
|
17
|
+
if partial_remove
|
|
18
|
+
set_result _.gsub(/\</, '').gsub(/\>/,'')
|
|
19
|
+
else
|
|
20
|
+
set_result Cyberweb.remove_html(_)
|
|
21
|
+
end
|
|
22
|
+
return result? # This is ok again.
|
|
23
|
+
end; self.instance_eval { alias remove_html cmdlet_remove_html } # === UniversalPipeHandler.remove_html
|
|
24
|
+
|
|
25
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/remove_newlines.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_remove_newlines
|
|
11
|
+
#
|
|
12
|
+
# Remove comments via a gsub.
|
|
13
|
+
#
|
|
14
|
+
# This is similar to using tr by the way, like: tr "\n" " "
|
|
15
|
+
# ========================================================================= #
|
|
16
|
+
def self.cmdlet_remove_newlines(i = result?)
|
|
17
|
+
i = i.join if i.is_a? Array
|
|
18
|
+
_ = i.gsub(/\n/, ' ') # Here we will get rid of the "\"n.
|
|
19
|
+
set_result(_)
|
|
20
|
+
return result?
|
|
21
|
+
end; self.instance_eval { alias remove_newlines cmdlet_remove_newlines } # === UniversalPipeHandler.remove_newlines
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/remove_numbers.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_remove_numbers
|
|
11
|
+
#
|
|
12
|
+
# This method will remove numbers. We will apply the modification on
|
|
13
|
+
# @result.
|
|
14
|
+
#
|
|
15
|
+
# The method remove_numbers is defined in shared/shared.rb
|
|
16
|
+
# ========================================================================= #
|
|
17
|
+
def self.cmdlet_remove_numbers
|
|
18
|
+
if result?.is_a? Array
|
|
19
|
+
@result.map! {|entry| remove_numbers(entry) }
|
|
20
|
+
else
|
|
21
|
+
set_results(remove_numbers(result?))
|
|
22
|
+
end
|
|
23
|
+
end; self.instance_eval { alias remove_numbers cmdlet_remove_numbers } # === UniversalPipeHandler.remove_numbers
|
|
24
|
+
|
|
25
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/repackage_to.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_repackage_to
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
def self.cmdlet_repackage_to(
|
|
13
|
+
this = :zip
|
|
14
|
+
)
|
|
15
|
+
case this.to_s
|
|
16
|
+
# ======================================================================= #
|
|
17
|
+
# === zip
|
|
18
|
+
# ======================================================================= #
|
|
19
|
+
when 'zip'
|
|
20
|
+
_ = 'zip a_zip_archive_'+
|
|
21
|
+
action_generate_string(5, false).gsub(/ /,'')+
|
|
22
|
+
'_'+get_date+'_'+get_time+'.zip '+result?.join(' ')
|
|
23
|
+
run_sys_cmd _
|
|
24
|
+
end
|
|
25
|
+
end; self.instance_eval { alias repackage_to cmdlet_repackage_to } # === UniversalPipeHandler.repackage_to
|
|
26
|
+
|
|
27
|
+
end
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/replace_underscores.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
require 'roebe/classes/replace_space_with_underscore/replace_space_with_underscore.rb'
|
|
10
|
+
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
# === UniversalPipeHandler.cmdlet_replace_underscores
|
|
13
|
+
#
|
|
14
|
+
# We replace all ' ' with '_'. In other words, blanks are replaced
|
|
15
|
+
# with underscores, in the filenames. This is done through the class
|
|
16
|
+
# ReplaceSpaceWithUnderscore.
|
|
17
|
+
#
|
|
18
|
+
# To test this, try:
|
|
19
|
+
#
|
|
20
|
+
# ls | replace underscores
|
|
21
|
+
#
|
|
22
|
+
# ========================================================================= #
|
|
23
|
+
def self.cmdlet_replace_underscores
|
|
24
|
+
result = Roebe::ReplaceSpaceWithUnderscore.new
|
|
25
|
+
set_result(result.modified_these_files)
|
|
26
|
+
return result?
|
|
27
|
+
end; self.instance_eval { alias replace_underscores cmdlet_replace_underscores } # === UniversalPipeHandler.replace_underscores
|
|
28
|
+
|
|
29
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/reverse.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_resize
|
|
11
|
+
#
|
|
12
|
+
# This method can be used to resize video, audio or image data.
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
def self.cmdlet_resize(
|
|
15
|
+
which_files = nil,
|
|
16
|
+
resize_how = nil
|
|
17
|
+
)
|
|
18
|
+
if which_files.is_a? Array
|
|
19
|
+
which_files.each {|entry| action_resize(resize_how, entry) }
|
|
20
|
+
else
|
|
21
|
+
if resize_how.include? '%'
|
|
22
|
+
resize_how = (resize_how.to_i / 100.0)
|
|
23
|
+
output_file = rds(Dir.pwd+'/output_'+File.basename(which_file))
|
|
24
|
+
# ===================================================================== #
|
|
25
|
+
# Next, resize the video here:
|
|
26
|
+
# ===================================================================== #
|
|
27
|
+
if is_video_file?
|
|
28
|
+
_ = 'ffmpeg -i '+_+' -vf scale=iw*'+resize_how.to_s+':-1 '+output_file
|
|
29
|
+
else # Assume image here.
|
|
30
|
+
_ = 'convert '+which_file
|
|
31
|
+
end
|
|
32
|
+
set_result(output_file)
|
|
33
|
+
esystem _
|
|
34
|
+
return result?
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end; self.instance_eval { alias resize cmdlet_resize } # === UniversalPipeHandler.resize
|
|
38
|
+
|
|
39
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/resize_image.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
require 'universal_pipe_handler/toplevel_methods/rds.rb'
|
|
10
|
+
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
# === UniversalPipeHandler.cmdlet_resize_image
|
|
13
|
+
#
|
|
14
|
+
# This will resize an image, by making use of the program called
|
|
15
|
+
# "convert" from the ImageMagick suite.
|
|
16
|
+
# ========================================================================= #
|
|
17
|
+
def self.cmdlet_resize_image(
|
|
18
|
+
second_argument,
|
|
19
|
+
third_argument = nil
|
|
20
|
+
)
|
|
21
|
+
if second_argument.is_a? Array and second_argument.size > 1
|
|
22
|
+
third_argument = second_argument.pop # Eliminate last Array member.
|
|
23
|
+
end
|
|
24
|
+
if third_argument
|
|
25
|
+
second_argument = second_argument.to_a unless second_argument.is_a? Array
|
|
26
|
+
@result = second_argument
|
|
27
|
+
second_argument = third_argument
|
|
28
|
+
end
|
|
29
|
+
array = []
|
|
30
|
+
result?.each { |img|
|
|
31
|
+
store_here = ''
|
|
32
|
+
if img.include? '/'
|
|
33
|
+
store_here << rds(File.dirname(img))
|
|
34
|
+
else
|
|
35
|
+
store_here << rds(Dir.pwd)
|
|
36
|
+
end
|
|
37
|
+
array << (converted_name = store_here+'resized_image_'+File.basename(img) )
|
|
38
|
+
_ = 'convert '+img+' -resize '+second_argument+' '+converted_name
|
|
39
|
+
run_sys_cmd _
|
|
40
|
+
}
|
|
41
|
+
set_result(array)
|
|
42
|
+
do_not_display
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/reverse.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_reverse
|
|
11
|
+
#
|
|
12
|
+
# To test this method, try:
|
|
13
|
+
#
|
|
14
|
+
# cat :main_file | reverse
|
|
15
|
+
#
|
|
16
|
+
# ========================================================================= #
|
|
17
|
+
def self.cmdlet_reverse
|
|
18
|
+
set_result result?.reverse
|
|
19
|
+
return result?
|
|
20
|
+
end; self.instance_eval { alias reverse cmdlet_reverse } # === UniversalPipeHandler.reverse
|
|
21
|
+
|
|
22
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/screenshot.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
require 'roebe/classes/take_screenshot.rb'
|
|
10
|
+
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
# === UniversalPipeHandler.cmdlet_screenshot (screenshot tag)
|
|
13
|
+
#
|
|
14
|
+
# Make a screenshot through this method here.
|
|
15
|
+
#
|
|
16
|
+
# To test this, do:
|
|
17
|
+
#
|
|
18
|
+
# snapshot
|
|
19
|
+
#
|
|
20
|
+
# ========================================================================= #
|
|
21
|
+
def self.cmdlet_screenshot
|
|
22
|
+
set_img_file = Dir.pwd+'/Screenshot_'+get_date+'_'+get_time+'.png'
|
|
23
|
+
@result = @img_file
|
|
24
|
+
if Object.const_defined?(:Roebe) and
|
|
25
|
+
Roebe.const_defined?(:TakeScreenshot)
|
|
26
|
+
_ = Roebe::TakeScreenshot.new :dont_run_yet
|
|
27
|
+
_.store_into_this_file @img_file if @img_file # Otherwise use the default.
|
|
28
|
+
_.delay = 0
|
|
29
|
+
_.do_not_open_in_gimp # Don't want it gimp now.
|
|
30
|
+
_.be_quiet
|
|
31
|
+
_.set_output_file(set_img_file)
|
|
32
|
+
_.run
|
|
33
|
+
set_result _.output_file?
|
|
34
|
+
return result?
|
|
35
|
+
else
|
|
36
|
+
_ = 'scrot '+@img_file
|
|
37
|
+
esystem _
|
|
38
|
+
end
|
|
39
|
+
end; self.instance_eval { alias screenshot cmdlet_screenshot } # === UniversalPipeHandler.screenshot
|
|
40
|
+
|
|
41
|
+
end
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/search_torrent.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
begin
|
|
10
|
+
require 'search_torrent'
|
|
11
|
+
rescue LoadError; end
|
|
12
|
+
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
# === UniversalPipeHandler.cmdlet_search_torrent
|
|
15
|
+
#
|
|
16
|
+
# Simply delegate towards MultimediaConversions.
|
|
17
|
+
# ========================================================================= #
|
|
18
|
+
def self.cmdlet_search_torrent(i = result?)
|
|
19
|
+
search_torrent = SearchTorrent.new(remove_quotes(i), false) # false for dont be verbose
|
|
20
|
+
search_torrent.fetch_remote_url
|
|
21
|
+
set_result search_torrent.url
|
|
22
|
+
end; self.instance_eval { alias search_torrent cmdlet_search_torrent } # === UniversalPipeHandler.search_torrent
|
|
23
|
+
|
|
24
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/seconds.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_seconds?
|
|
11
|
+
#
|
|
12
|
+
# This method is a fake-method: it will simply return the result in
|
|
13
|
+
# form of an Integer.
|
|
14
|
+
# ========================================================================= #
|
|
15
|
+
def self.cmdlet_seconds?(i = result?)
|
|
16
|
+
i = i.first if i.is_a? Array
|
|
17
|
+
i = i.to_i
|
|
18
|
+
set_result(i)
|
|
19
|
+
return i
|
|
20
|
+
end; self.instance_eval { alias seconds? cmdlet_seconds? } # === UniversalPipeHandler.seconds?
|
|
21
|
+
self.instance_eval { alias n_seconds? cmdlet_seconds? } # === UniversalPipeHandler.n_seconds?
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/select.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_select
|
|
11
|
+
#
|
|
12
|
+
# We use this method to select n entries, where n is the argument to
|
|
13
|
+
# that method.
|
|
14
|
+
# ========================================================================= #
|
|
15
|
+
def self.cmdlet_select(i = 0)
|
|
16
|
+
i = i.to_i
|
|
17
|
+
if result?
|
|
18
|
+
set_result(result?[0, i])
|
|
19
|
+
end
|
|
20
|
+
return result?
|
|
21
|
+
end; self.instance_eval { alias select cmdlet_select } # === UniversalPipeHandler.select
|
|
22
|
+
|
|
23
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# This pipe-action will show the lines.
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
# require 'universal_pipe_handler/cmdlets/show_lines.rb'
|
|
8
|
+
# =========================================================================== #
|
|
9
|
+
module UniversalPipeHandler
|
|
10
|
+
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
# === UniversalPipeHandler.cmdlet_show_lines
|
|
13
|
+
# ========================================================================= #
|
|
14
|
+
def self.cmdlet_show_lines(range)
|
|
15
|
+
range = range.to_s
|
|
16
|
+
if range.include? '-'
|
|
17
|
+
splitted = range.split '-'
|
|
18
|
+
first = splitted.first.to_i - 1
|
|
19
|
+
last = splitted.last.to_i - 1
|
|
20
|
+
range = Range.new(first, last)
|
|
21
|
+
range = range.to_a
|
|
22
|
+
end
|
|
23
|
+
new_result = []
|
|
24
|
+
result?.each_with_index { |_, index|
|
|
25
|
+
new_result << _ if range.include?(index.to_i)
|
|
26
|
+
}
|
|
27
|
+
set_result(new_result)
|
|
28
|
+
return result?
|
|
29
|
+
end; self.instance_eval { alias show_lines cmdlet_show_lines } # === UniversalPipeHandler.show_lines
|
|
30
|
+
|
|
31
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/shuffle.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_shuffle
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
def self.cmdlet_shuffle(i = result?)
|
|
13
|
+
set_result(result?.shuffle)
|
|
14
|
+
end; self.instance_eval { alias shuffle cmdlet_shuffle } # === UniversalPipeHandler.shuffle
|
|
15
|
+
|
|
16
|
+
end
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/shuffle.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
require 'csv'
|
|
10
|
+
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
# === UniversalPipeHandler.cmdlet_shuffle_csv
|
|
13
|
+
#
|
|
14
|
+
# Currently the assumption is that we will pass a .csv file to
|
|
15
|
+
# this method, which will then be reshuffled into different
|
|
16
|
+
# tab-entries.
|
|
17
|
+
# ========================================================================= #
|
|
18
|
+
def self.cmdlet_shuffle_csv(
|
|
19
|
+
arguments = result?
|
|
20
|
+
)
|
|
21
|
+
new_array = []
|
|
22
|
+
possible_csv_file = result?.first
|
|
23
|
+
# ======================================================================= #
|
|
24
|
+
# We can not use CSV.read because this will chop off '"' quotes.
|
|
25
|
+
# ======================================================================= #
|
|
26
|
+
if File.exist? possible_csv_file
|
|
27
|
+
possible_csv_file = CSV.read(possible_csv_file)
|
|
28
|
+
# ===================================================================== #
|
|
29
|
+
# When we have an ',' entry in a member then we know that this
|
|
30
|
+
# derived from a '"' quoted word.
|
|
31
|
+
# ===================================================================== #
|
|
32
|
+
possible_csv_file.map! {|line|
|
|
33
|
+
line.map! {|entry|
|
|
34
|
+
entry = '"'+entry+'"' if entry.include? ','
|
|
35
|
+
entry
|
|
36
|
+
}
|
|
37
|
+
line
|
|
38
|
+
}
|
|
39
|
+
end
|
|
40
|
+
splitted = arguments.split(',')
|
|
41
|
+
possible_csv_file.each {|line|
|
|
42
|
+
index_array = [*splitted].map(&:to_i)
|
|
43
|
+
# ===================================================================== #
|
|
44
|
+
# Deduct one from the index-array next.
|
|
45
|
+
# ===================================================================== #
|
|
46
|
+
index_array.map! {|entry|
|
|
47
|
+
entry -= 1
|
|
48
|
+
}
|
|
49
|
+
new_array << index_array.map {|index| line.at(index) }
|
|
50
|
+
}
|
|
51
|
+
set_result(new_array)
|
|
52
|
+
return result?
|
|
53
|
+
end; self.instance_eval { alias shuffle_csv cmdlet_shuffle_csv } # === UniversalPipeHandler.shuffle_csv
|
|
54
|
+
|
|
55
|
+
end
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/size.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_size
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
def self.cmdlet_size(i = result?)
|
|
13
|
+
size = 0
|
|
14
|
+
i.each {|entry|
|
|
15
|
+
size += File.size(entry)
|
|
16
|
+
}
|
|
17
|
+
set_result(size)
|
|
18
|
+
return result?
|
|
19
|
+
end; self.instance_eval { alias size cmdlet_size } # === UniversalPipeHandler.size
|
|
20
|
+
|
|
21
|
+
end
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/cmdlet_convert_to_mp3.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_sort_alphabetical
|
|
11
|
+
# ========================================================================= #
|
|
12
|
+
def self.cmdlet_sort_alphabetical(i = result?)
|
|
13
|
+
new_data = i.sort_by {|entry|
|
|
14
|
+
File.basename(entry).downcase # We sort only on the last part here.
|
|
15
|
+
}
|
|
16
|
+
set_result(new_data)
|
|
17
|
+
end; self.instance_eval { alias sort_alphabetical cmdlet_sort_alphabetical } # === UniversalPipeHandler.sort_alphabetical
|
|
18
|
+
self.instance_eval { alias action_sort_alphabetical cmdlet_sort_alphabetical } # === UniversalPipeHandler.action_sort_alphabetical
|
|
19
|
+
|
|
20
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
#!/usr/bin/ruby -w
|
|
2
|
+
# Encoding: UTF-8
|
|
3
|
+
# frozen_string_literal: true
|
|
4
|
+
# =========================================================================== #
|
|
5
|
+
# require 'universal_pipe_handler/cmdlets/sort_by_date.rb'
|
|
6
|
+
# =========================================================================== #
|
|
7
|
+
module UniversalPipeHandler
|
|
8
|
+
|
|
9
|
+
# ========================================================================= #
|
|
10
|
+
# === UniversalPipeHandler.cmdlet_sort_by_date
|
|
11
|
+
#
|
|
12
|
+
# The convention used here is:
|
|
13
|
+
#
|
|
14
|
+
# new files will appear on top
|
|
15
|
+
#
|
|
16
|
+
# ========================================================================= #
|
|
17
|
+
def self.cmdlet_sort_by_date(i = result?)
|
|
18
|
+
sorted = i.sort_by {|entry| File.atime(entry) }.reverse
|
|
19
|
+
set_result sorted
|
|
20
|
+
return result?
|
|
21
|
+
end; self.instance_eval { alias sort_by_date cmdlet_sort_by_date } # === UniversalPipeHandler.sort_by_date
|
|
22
|
+
|
|
23
|
+
end
|