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.
Files changed (123) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +461 -0
  3. data/doc/README.gen +417 -0
  4. data/doc/todo/todo_for_the_universal_pipe_handler_project.md +300 -0
  5. data/img/UNIVERSAL_PIPE_HANDLER_LOGO.jpg +0 -0
  6. data/img/pipe_paradise.png +0 -0
  7. data/lib/universal_pipe_handler/base/base.rb +147 -0
  8. data/lib/universal_pipe_handler/cmdlet/cmdlet.rb +287 -0
  9. data/lib/universal_pipe_handler/cmdlets/add.rb +15 -0
  10. data/lib/universal_pipe_handler/cmdlets/add_audio.rb +22 -0
  11. data/lib/universal_pipe_handler/cmdlets/all.rb +37 -0
  12. data/lib/universal_pipe_handler/cmdlets/any.rb +25 -0
  13. data/lib/universal_pipe_handler/cmdlets/ascii_video.rb +30 -0
  14. data/lib/universal_pipe_handler/cmdlets/assign.rb +24 -0
  15. data/lib/universal_pipe_handler/cmdlets/capture_screen.rb +46 -0
  16. data/lib/universal_pipe_handler/cmdlets/colourize.rb +35 -0
  17. data/lib/universal_pipe_handler/cmdlets/convert_to.rb +21 -0
  18. data/lib/universal_pipe_handler/cmdlets/convert_to_images.rb +17 -0
  19. data/lib/universal_pipe_handler/cmdlets/convert_to_mp3.rb +28 -0
  20. data/lib/universal_pipe_handler/cmdlets/convert_to_wav.rb +17 -0
  21. data/lib/universal_pipe_handler/cmdlets/copy_directories.rb +23 -0
  22. data/lib/universal_pipe_handler/cmdlets/count_character.rb +31 -0
  23. data/lib/universal_pipe_handler/cmdlets/count_longest_row.rb +21 -0
  24. data/lib/universal_pipe_handler/cmdlets/crop.rb +26 -0
  25. data/lib/universal_pipe_handler/cmdlets/cut.rb +101 -0
  26. data/lib/universal_pipe_handler/cmdlets/days.rb +41 -0
  27. data/lib/universal_pipe_handler/cmdlets/decolourize.rb +25 -0
  28. data/lib/universal_pipe_handler/cmdlets/download.rb +30 -0
  29. data/lib/universal_pipe_handler/cmdlets/download_torrent.rb +17 -0
  30. data/lib/universal_pipe_handler/cmdlets/duration.rb +34 -0
  31. data/lib/universal_pipe_handler/cmdlets/extract.rb +27 -0
  32. data/lib/universal_pipe_handler/cmdlets/extract_all.rb +23 -0
  33. data/lib/universal_pipe_handler/cmdlets/extract_audio.rb +30 -0
  34. data/lib/universal_pipe_handler/cmdlets/extract_video.rb +18 -0
  35. data/lib/universal_pipe_handler/cmdlets/find_all.rb +40 -0
  36. data/lib/universal_pipe_handler/cmdlets/generate_random_video.rb +29 -0
  37. data/lib/universal_pipe_handler/cmdlets/generate_string.rb +27 -0
  38. data/lib/universal_pipe_handler/cmdlets/get_all_audio_files.rb +33 -0
  39. data/lib/universal_pipe_handler/cmdlets/get_all_files.rb +61 -0
  40. data/lib/universal_pipe_handler/cmdlets/get_all_images.rb +47 -0
  41. data/lib/universal_pipe_handler/cmdlets/get_all_images_including_subdirs.rb +26 -0
  42. data/lib/universal_pipe_handler/cmdlets/get_all_video_files.rb +34 -0
  43. data/lib/universal_pipe_handler/cmdlets/get_last_characters.rb +24 -0
  44. data/lib/universal_pipe_handler/cmdlets/help.rb +36 -0
  45. data/lib/universal_pipe_handler/cmdlets/identify.rb +29 -0
  46. data/lib/universal_pipe_handler/cmdlets/increase_audio.rb +26 -0
  47. data/lib/universal_pipe_handler/cmdlets/install.rb +32 -0
  48. data/lib/universal_pipe_handler/cmdlets/match_regex.rb +24 -0
  49. data/lib/universal_pipe_handler/cmdlets/n_directories.rb +25 -0
  50. data/lib/universal_pipe_handler/cmdlets/n_files.rb +20 -0
  51. data/lib/universal_pipe_handler/cmdlets/n_words.rb +25 -0
  52. data/lib/universal_pipe_handler/cmdlets/number_lines.rb +34 -0
  53. data/lib/universal_pipe_handler/cmdlets/open_in_browser.rb +40 -0
  54. data/lib/universal_pipe_handler/cmdlets/pad_left.rb +20 -0
  55. data/lib/universal_pipe_handler/cmdlets/pad_right.rb +20 -0
  56. data/lib/universal_pipe_handler/cmdlets/play.rb +18 -0
  57. data/lib/universal_pipe_handler/cmdlets/position.rb +21 -0
  58. data/lib/universal_pipe_handler/cmdlets/processes.rb +18 -0
  59. data/lib/universal_pipe_handler/cmdlets/random.rb +21 -0
  60. data/lib/universal_pipe_handler/cmdlets/random_video.rb +23 -0
  61. data/lib/universal_pipe_handler/cmdlets/read_file.rb +44 -0
  62. data/lib/universal_pipe_handler/cmdlets/read_line.rb +31 -0
  63. data/lib/universal_pipe_handler/cmdlets/read_n_lines.rb +38 -0
  64. data/lib/universal_pipe_handler/cmdlets/read_n_lines_inverted.rb +36 -0
  65. data/lib/universal_pipe_handler/cmdlets/remove_audio.rb +22 -0
  66. data/lib/universal_pipe_handler/cmdlets/remove_comments.rb +26 -0
  67. data/lib/universal_pipe_handler/cmdlets/remove_directories.rb +29 -0
  68. data/lib/universal_pipe_handler/cmdlets/remove_html.rb +25 -0
  69. data/lib/universal_pipe_handler/cmdlets/remove_newlines.rb +23 -0
  70. data/lib/universal_pipe_handler/cmdlets/remove_numbers.rb +25 -0
  71. data/lib/universal_pipe_handler/cmdlets/repackage_to.rb +27 -0
  72. data/lib/universal_pipe_handler/cmdlets/replace_underscores.rb +29 -0
  73. data/lib/universal_pipe_handler/cmdlets/resize.rb +39 -0
  74. data/lib/universal_pipe_handler/cmdlets/resize_image.rb +45 -0
  75. data/lib/universal_pipe_handler/cmdlets/reverse.rb +22 -0
  76. data/lib/universal_pipe_handler/cmdlets/screenshot.rb +41 -0
  77. data/lib/universal_pipe_handler/cmdlets/search_torrent.rb +24 -0
  78. data/lib/universal_pipe_handler/cmdlets/seconds.rb +23 -0
  79. data/lib/universal_pipe_handler/cmdlets/select.rb +23 -0
  80. data/lib/universal_pipe_handler/cmdlets/show_lines.rb +31 -0
  81. data/lib/universal_pipe_handler/cmdlets/shuffle.rb +16 -0
  82. data/lib/universal_pipe_handler/cmdlets/shuffle_csv.rb +55 -0
  83. data/lib/universal_pipe_handler/cmdlets/size.rb +21 -0
  84. data/lib/universal_pipe_handler/cmdlets/sort_alphabetical.rb +20 -0
  85. data/lib/universal_pipe_handler/cmdlets/sort_by_date.rb +23 -0
  86. data/lib/universal_pipe_handler/cmdlets/starts_with.rb +25 -0
  87. data/lib/universal_pipe_handler/cmdlets/stat_file.rb +61 -0
  88. data/lib/universal_pipe_handler/cmdlets/to_ascii.rb +38 -0
  89. data/lib/universal_pipe_handler/cmdlets/to_camel_case.rb +38 -0
  90. data/lib/universal_pipe_handler/cmdlets/to_dna.rb +31 -0
  91. data/lib/universal_pipe_handler/cmdlets/to_movie.rb +16 -0
  92. data/lib/universal_pipe_handler/cmdlets/to_pdf.rb +58 -0
  93. data/lib/universal_pipe_handler/cmdlets/translate.rb +36 -0
  94. data/lib/universal_pipe_handler/cmdlets/upload_to.rb +29 -0
  95. data/lib/universal_pipe_handler/cmdlets/word_count.rb +39 -0
  96. data/lib/universal_pipe_handler/cmdlets/word_wrap.rb +26 -0
  97. data/lib/universal_pipe_handler/cmdlets/write_to.rb +51 -0
  98. data/lib/universal_pipe_handler/cmdlets/years.rb +30 -0
  99. data/lib/universal_pipe_handler/cmdlets_handler/cmdlets_handler.rb +193 -0
  100. data/lib/universal_pipe_handler/colours/colourize.rb +112 -0
  101. data/lib/universal_pipe_handler/colours/colours.rb +54 -0
  102. data/lib/universal_pipe_handler/configuration/configuration.rb +18 -0
  103. data/lib/universal_pipe_handler/constants/constants.rb +201 -0
  104. data/lib/universal_pipe_handler/dataset/dataset.rb +14 -0
  105. data/lib/universal_pipe_handler/project/project.rb +36 -0
  106. data/lib/universal_pipe_handler/requires/do_require_the_individual_cmdlet_files.rb +21 -0
  107. data/lib/universal_pipe_handler/requires/require_the_universal_pipe_handler.rb +14 -0
  108. data/lib/universal_pipe_handler/shell/shell.rb +256 -0
  109. data/lib/universal_pipe_handler/toplevel_methods/all_actions.rb +48 -0
  110. data/lib/universal_pipe_handler/toplevel_methods/cmdlet_directory.rb +22 -0
  111. data/lib/universal_pipe_handler/toplevel_methods/e.rb +16 -0
  112. data/lib/universal_pipe_handler/toplevel_methods/misc.rb +54 -0
  113. data/lib/universal_pipe_handler/toplevel_methods/rds.rb +18 -0
  114. data/lib/universal_pipe_handler/toplevel_methods/token.rb +18 -0
  115. data/lib/universal_pipe_handler/version/version.rb +19 -0
  116. data/lib/universal_pipe_handler/yaml/aliases_to_cmdlets.yml +250 -0
  117. data/lib/universal_pipe_handler/yaml/allowed_cmdlets.yml +118 -0
  118. data/lib/universal_pipe_handler/yaml/predefined_methods.yml +15 -0
  119. data/lib/universal_pipe_handler.rb +5 -0
  120. data/test/testing_the_universal_pipe_handler.rb +65 -0
  121. data/test/this_file +46 -0
  122. data/universal_pipe_handler.gemspec +80 -0
  123. 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