Class: RBT::InstalledPrograms

Inherits:
Base show all
Defined in:
lib/rbt/utility_scripts/installed_programs.rb

Overview

RBT::InstalledPrograms

Constant Summary collapse

DO_YOU_WANT_TO_DISPLAY_DEF_PROGRAMS =
#

DO_YOU_WANT_TO_DISPLAY_DEF_PROGRAMS

If true we display the red def packages. May be interesting due to lateron installed packages.

#
true
VIDEO_FAVICON =
#

VIDEO_FAVICON

#
"#{HOME_DIRECTORY_FOR_USER_X}data/images/video/VIDEO_FAVICON.png"
LOG_INSTALLED_SOURCE_FILES_HTML =
#

LOG_INSTALLED_SOURCE_FILES_HTML

#
"#{RBT.temp_directory?}InstalledPrograms.html"
FILE_INSTALLED_APPLICATIONS =
LOG_INSTALLED_SOURCE_FILES_HTML
USE_OCTAL_NUMBERING =
#

USE_OCTAL_NUMBERING

If this is true then we use octal numbering instead of decimal numbering.

#
true

Constants inherited from LeanPrototype

LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION

Instance Method Summary collapse

Methods inherited from Base

#cat, #cd_back_to_the_current_working_directory, #consider_reporting_how_many_programs_are_registered, #cookbook_files?, #copy_recursively, #delete_code_of_conduct?, #determine_appdir_prefix_from_this_input, #directory_validation?, #do_not_show_names, #fast_return_file_size_of_this_program, #file_last_symlinked_program?, #file_programs_version_url, #gem_version, #is_a_64bit_system?, #is_ccache_available?, #is_porg_available?, #is_this_binary_registered?, #is_this_program_included?, #make_command?, #make_install_command?, #new_cookbook_instance_for, #program_exists?, #publish_list_of_all_programs_version, #rcp, registered_binaries?, #remove_symlink, #rename_kde_konsole_tab, #repackage, #report_n_programs, #report_working_directory, #return_compile_time_statistics, #return_n_random_characters, #return_version_of_this_program, #run_make_then_make_install, #sanitize_url1_entry, #set_source_directory, #show_overview_over_available_utility_scripts, #symlink_all_files_from_this_directory_to_that_directory, #system_tags?, #upload_list_of_all_programs_version, #use_yaml_database_for_tags?, #warn_and_exit, #wget

Methods inherited from LeanPrototype

#a_or_an?, #abbreviations?, #absolute_path, #action, #add_to_the_commandline_arguments, #all_binaries?, #all_files_from, #all_libraries?, #allowed_cookbook_entries?, #appdir_location_of?, #append_onto_the_internal_hash, #append_what_into, #archive_type_of?, #available_programs?, #be_quiet?, #be_verbose?, #begins_with_a_comment?, #capitalize_first_alphabetical_character, #cd_to_the_log_directory, #cd_to_the_temp_directory, #change_directory, #change_permission, #cheering_person?, #chmod, #chop_off_archive, #clear_commandline_arguments, #cliner, #coloured_and_padded_e, #coloured_and_padded_esystem, #coloured_esystem, #colourize_directory_for_system_results, #colourize_this_error, #colourize_this_file_path, #colourize_this_warning, #commandline_arguments?, #commandline_arguments_without_hyphens?, #comment, #convert_dd_mm_yyyy_to_its_long_variant, #convert_env_variable, #copy_directory, #copy_files, #cpr, #create_directory, #current_hour?, #dd_mmm_yyy, #debug, #debug?, #directory_expanded_cookbooks?, #disable_colours, #display_md5sum?, #do_not_debug, #does_the_cookbook_include_this_program?, #does_this_expanded_cookbook_file_exist_for_this_program?, #does_this_file_exist?, #does_this_file_exist_and_is_it_a_file?, #e, #eblue, #ecomment, #ecrimson, #edir, #editor?, #efancy, #eimp, #enable_colours, #enable_debug, #ensure_main_encoding_for, #eparse, #esystem, #esystem_gold, #etomato, #ewarn, #exit_program, #expanded_cookbooks_directory_exists?, #extract_this_archive, #extract_to?, #file_compiled_programs?, #file_dirname_retaining_trailing_slash, #file_predefined_installation_instructions?, #file_specification_of_registered_cookbook_entries, #find_cookbook_alias_for, #find_this_yaml_file, #first_argument?, #first_non_hyphen_argument?, #get_all_directories_from, #get_all_files_from, #get_all_programs, #get_date, #get_extended_date, #get_files_and_directories_from, #go_to_base_dir, #home_dir?, #host_system?, #infer_the_namespace, #internal_hash?, #internal_hash_set_commandline_arguments, #is_an_archive?, #is_directory?, #is_file?, #is_github_url?, #is_make_available?, #is_meson_installed?, #is_on_gobolinux?, #is_on_windows?, #is_roebe?, #is_superuser?, #is_symlink?, #is_this_a_header?, #is_this_a_library?, #is_this_program_included?, #iso_encoding?, #load_dataset_from_this_expanded_cookbook, #load_yaml, #load_yaml_file_from_the_cookbook_directory_for_this_program, #log_directory?, #main_encoding?, #meson_build_file_exists?, #months?, #move_file, #n_programs_are_available?, #n_programs_available?, #namespace?, #no_directory_exists_at, #no_directory_was_found_at, #no_opn, #no_such_file_exists, #open_in_browser, #open_in_editor, #opncomment, #opne, #opnef, #opnerev, #opnerror, #opnesystem, #opnewarn, #opnfancy, #opnn, #otomato, #packages_directory?, #path_to_this_expanded_cookbooks_dataset, #pkgconfig_directory?, #populate_the_internal_hash_with_default_values, #predefined_installation_instructions?, #prepend_this_commandline_argument, #program_version_of?, #project_base_directory?, #project_yaml_directory?, #query_path?, #rarrow?, #read_file, #read_file_in_default_encoding, #read_file_with_default_encoding, #readlines, #readlines_with_proper_encoding, #register_sigint, #registered_cookbook_entries?, #remove, #remove_archive_from_the_end, #remove_comments_from_each_line, #remove_directory, #remove_double_slashes, #remove_file, #remove_newlines, #remove_parens, #remove_symlink, #remove_the_first_commandline_argument, #remove_this_commandline_argument, #remove_this_entry_from_the_commandline_arguments, #remove_trailing_ANSII_escape_code, #remove_unnecessary_data_from_url, #rename, #report_pwd, #require_the_rbt_aliases, #reset_the_internal_hash, #return_all_archives_from_this_directory, #return_appdir_prefix, #return_commandline_arguments_with_leading_hyphens, #return_current_hour_minutes_second, #return_date, #return_day_of_the_month_based_on_utc, #return_full_time, #return_hours_minutes_seconds_based_on_utc, #return_location_to_this_programs_yaml_file, #return_month_based_on_this_number, #return_month_based_on_utc, #return_opnn, #return_program_name, #return_program_name_for_gobolinux_systems, #return_program_name_via_program_information, #return_pwd, #return_unicode_warning_symbol_or_empty_string, #return_utc, #return_utc_time_in_a_format_similar_to_slackware, #return_weekday_based_on_utc, #return_year_based_on_utc, #rev, #rpn, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #set_use_colours, #set_use_opn, #set_xorg_buffer, #sfancy, #sfile, #silent_redirection?, #silently_create_this_directory_if_it_does_not_yet_exist, #simp, #source_base_directory?, #ssym, #stderr, #store_into_this_directory?, #string_right_arrow?, #swarn, #symlink, #sysbin_directory?, #sysetc_directory?, #sysinclude_directory?, #syslib_directory?, #sysshare_directory?, #system_directory?, #temp_directory?, #to_bool, #to_camelcase, #to_iso_encoding, #to_unicode, #today?, #touch, #try_to_require_beautiful_url, #try_to_require_the_environment_information_gem, #try_to_require_the_extracter_gem, #try_to_require_the_open_gem, #try_to_require_the_xorg_buffer, #try_to_require_wget, #try_to_return_a_special_compile_component, #unicode_cliner, #unicode_middle_cliner, #use_colours=, #use_colours?, #use_opn=, #use_opn?, #utf_encoding?, #verbose_truth, #word_wrap, #write_what_into, #write_what_into_via_unicode, #yes_or_no

Constructor Details

#initialize(folder = '', run_already = true) ⇒ InstalledPrograms

#

initialize

#


79
80
81
82
83
84
85
86
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 79

def initialize(
    folder      = '',
    run_already = true
  )
  reset
  set_programs_dir(folder)
  run if run_already
end

Instance Method Details

#_(i) ⇒ Object

#

_

#


244
245
246
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 244

def _(i)
  @string << "#{i}"
end

#array_programs_listing?Boolean Also known as: programs_listing?

#

array_programs_listing?

#

Returns:

  • (Boolean)


195
196
197
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 195

def array_programs_listing?
  @array_programs_listing
end

#create_image(which_type) ⇒ Object

#

create_image

#


251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 251

def create_image(which_type)
  case which_type
  # ======================================================================= #
  # === :audio
  # ======================================================================= #
  when :audio, :a
    WebObject.string_img(
      "#{HOME_DIRECTORY_FOR_USER_X}DATA/images/AUDIO/NOTEN4.png",'marr4px','','',0,'AudioImage'
    ) if cyberweb_is_available?
  # ======================================================================= #
  # === :video
  # ======================================================================= #
  when :video, :v
    WebObject.string_img(
      VIDEO_FAVICON,'marr4px','','',0,'VideoImage'
    ) if cyberweb_is_available?
  end
end

#create_info_page(into = FILE_INSTALLED_APPLICATIONS) ⇒ Object

#

create_info_page

Creates the info page.

A typical location may be:

/System/Information/InstalledApplications.html

It accepts one argument, which is the absolute path prepended to /Information/InstalledApplications.

#


307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 307

def create_info_page(
    into = FILE_INSTALLED_APPLICATIONS
  )
  # ======================================================================= #
  # CREATE THE NEW FILE
  # ======================================================================= #
  @string = ''.dup
  _ '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html><head><title>
Installed Programs
</title>
<meta name="robots"                     content="noindex,nofollow,noarchive,noimageindex">
<meta http-equiv="Content-type"         content="text/html;charset=ISO-8859-1">
<meta http-equiv="Content-Style-Type"   content="text/css">
<meta http-equiv="Content-Script-Type"  content="text/javascript">
<link rel="stylesheet" type="text/css" href="/home/x/DATA/CSS/STD.css"/ >
<link rel="stylesheet" type="text/css" href="/home/x/DATA/CSS/LINKS.css" />
<link rel="stylesheet" type="text/css" href="/home/x/DATA/CSS/FONTCOL.css" />
<style type="text/css">
.pad5        {padding:5px}
.s1em        {padding-left:1em;padding-right:1em}
.padl1em     {padding-left:1em}
.padl3em     {padding-left:3em}
.pad0_3em    {padding:0.3em}
.wid30       {width:30%}
.FS11px      {font-style:11px}
.FS12px      {font-style:12px}
.FS13px      {font-style:13px}
.crimson     {color:crimson}
.slateblue   {color:slateblue}
a:link       {font-weight:600;color:slateblue;padding:1px;}
a:visited    {font-weight:600;color:slateblue;
            padding:1px;
            }
a:hover      {font-weight:600;text-decoration:underline;
            font-weight:bolder;color:slateblue;
            padding:1px;
            }
a:active     {font-weight:600;color:slateblue;padding:1px;}
</style>'
  _ '<body class="pad8px" style="font-size:1.2em">'
  _ "<p class=\"FS13px\">Your platform seems to be <b class=\"crimson\">
  #{RUBY_PLATFORM}</b><br>"
  tmp_var = `uname -a`
  tmp_var.gsub!(/ - /,' ')
  _ "Your uptime was #{tmp_var}<br>"
  begin # hack :P
    _ "Your <b>kernel</b> is <b></b>: "+tmp_var
  rescue; end
  _('<b class="crimson">(def)</b> means default Gobolinux 014 Installation. If '+
  'its missing, then you have probably installed this application some day later on.<br>')
  _ how_many_installed_programs?(true)
  if cyberweb_is_available?
    _ WebObject.string_img(
      'PC/OS/LINUX/GLINUX/GOBOLINUX_LOGO4.png','FLR','','',0,'','../../')
    _ '</p><h2><i class="FL120">'+
      WebObject.string_img('STD/DOT2.png','marr4px','','',0,'','../../')
  end
  _ 'Listing of your programs</i></h2>'
  _ '<p class="pad0_3em" style="border-top:3px solid slateblue">'
  _ '<table class="s1em FS12px" cellpadding="1" cellspacing="1">'
  # ======================================================================= #
  # Wir nutzen RQuery.new(), also eine andere Datei, um die Information 
  # bezüglich der Programme und ihrer Gruppen zu sharen.
  # ======================================================================= #
  n_programs_counter = 0
  # sorted nur in die html datei rein
  @array_programs_listing.sort.each { |this_program|
    p = Pathname.new(this_program) 
    program_name = p.basename.to_s.downcase # is downcased
    @cookbooks = action(
      :SanitizeCookbook,
      File.basename(rds(this_program.downcase))
    )
    n_programs_counter += 1
    _ '<tr><td class="wid30">'
    # tmp_long_program_counter variable zählt zb 003) 004)  und so weiter..
    # USE_OCTAL_NUMBERING
    tmp_long_program_counter = '%03d' % n_programs_counter
    tmp_long_program_counter = tmp_long_program_counter.to_i
    if USE_OCTAL_NUMBERING
      tmp_long_program_counter = tmp_long_program_counter.to_s(8)
    end
    tmp_long_program_counter << ') '
    _ tmp_long_program_counter      
    _ '<b>'+this_program+'</b>'
    _ '</a></td><td class="wid60">'
    if @video_programs.include? program_name
      _ create_image(:video)+'<i class="padl0em">This is a video application.</i>'
    end
    if @audio_programs.include? program_name
      _ create_image(:audio)+'<i class="padl0em">This is an audio application.</i>'
    end
    _ '<i class="padl0em">Ist ein Script Programm</i>' if @scripting_programs.include? program_name
    _ '<i class="padl0em">Ist ein Grafik Programm/Bibliothek</i>' if @graphics_programs.include? program_name
    # Folgendes is nur für anderen padl Setting.      
    if @editor_programs.include? program_name
      if @default_editor_programs.include? program_name
        _ "<i class=\"padl0em\">#{p.basename.to_s} ist ein Editor</i><br>"     
      else
        _ "<i class=\"padl0em\">#{p.basename.to_s} ist ein Editor</i><br>"
      end
    end
    # File sharing, GUImaker und mud clients zeugs is by default nit auf gobolinux drauf      
    # video libraries wie libavc sind meines Wissens nach auch nit da
    _('<i class="padl2em">Ist eine Video Bibliothek - Video Library</i>') if @lib_video_programs.include?(program_name)
    _('<i class="padl2em">Ist ein GUI Maker</i>') if @gui_maker.include?(program_name)
    _('<i class="padl0em">Ist ein Filesharing Programm</i>') if @filesharing_programs.include?(program_name)
    _('<i class="padl2em">Ist ein MUD Client</i>') if @mud_programs.include?(program_name)
    # HERE WE LIST ALL THE SPECIAL CASES LIKE ALSA #
    _('<i class="padl1em">Eine ASCII Art Library, low level gfx</i>') if program_name                            == 'aalib'
    _('<i class="padl1em">Teil von ALSA Linux Audio</i>') if program_name[0,4]                                   == 'alsa'
    _('<i class="padl1em">Teil von KDE</i>') if program_name[0,'kde'.size] == 'kde'
    _('<i class="padl1em">Accessibility ToolKit für Bildschirmleser, Vergrösserer etc</i>') if program_name[0,3] == 'atk'
    _('<i class="padl1em">Spell Checker aspell</i>') if program_name[0,6] == 'aspell'
    _('<i class="padl1em">Automagically Configuring Source Code</i>') if program_name[0,8] == 'autoconf'
    _('<i class="padl1em">SNES emulator, also für SNES Spiele aufm PC</i>') if program_name[0,5] == 'zsnes'
    _('<i class="padl1em">Verbesserte DEVFS, also Datei System</i>')        if program_name[0,'udev'.size]  == 'udev'
    _('<i class="padl1em">Zum Bewältigen von Mehrpfad-Schnittstellen</i>')  if program_name[0,'multipath-tools'.size] == 'multipath-tools'
    _('<i class="padl1em">Console Tool zum downloaden von entfernten Programmen</i>') if program_name[0,'wget'.size] == 'wget'
    _('<i class="padl1em">General purpose data compression library</i>')    if program_name[0,'zlib'.size]  == 'zlib'
    _('<i class="padl1em">Wichtig für XPM Bilder</i>') if program_name[0,'xaw3d'.size] == 'xaw3d'
    # wie oben, nur sind die folgenden keine def Gobolinux installed Programme
    _('<i class="padl2em">Der Alsaplayer</i>') if program_name[0,4] == 'alsaplayer'
    _('<i class="padl2em">Blender ist ein 3D Programm, zum erstellen von 3D Objekten</i>') if program_name[0,'blender'.size] == 'blender'

    if program_name.start_with? 'games'
      _ '<i class="padl2px">(<b>Spielesammlung</b>)</i>' 
      if cyberweb_is_available?
        _ WebObject.string_img('GAMES/GAMES2_BIG_IMG.png','FLR marr2em')
      end
    end
    _ '</td></tr>'
  }
  _ '</table>'
  _ '<a href="'+LOG_INSTALLED_SOURCE_FILES_HTML+'" style="padding:1em">'
  _ 'Installierte Source Files</a>'
  # _ '<a href="../../PC/LINUX/DISTRIBUTIONEN/GOBOLINUX/GOBOLINUX.cgi" style="padding:1em">'
  _ '<a href="http://localhost/PC/LINUX/DISTRIBUTIONEN/GOBOLINUX/GOBOLINUX.cgi" style="padding:1em">'
  _ 'GOBOLINUX.cgi</a>'
  _ '</p></html>'
  what = @string
  write_what_into(what, into)
end

#cyberweb_is_available?Boolean

#

cyberweb_is_available?

#

Returns:

  • (Boolean)


202
203
204
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 202

def cyberweb_is_available?
  Object.const_defined? :WebObject
end

#gobolinux_014_default_packages_full=(i) ⇒ Object

#

gobolinux_014_default_packages_full=

We should probably keep this up-to-date with the most recenty GoboLinux version.

#


283
284
285
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 283

def gobolinux_014_default_packages_full=(i)
  @gobolinux_014_default_packages_full = i
end

#gobolinux_014_default_packages_full?Boolean Also known as: gobolinux_014_default_packages_full

#

gobolinux_014_default_packages_full

#

Returns:

  • (Boolean)


273
274
275
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 273

def gobolinux_014_default_packages_full?
  @gobolinux_014_default_packages_full
end

#how_many_installed_programs?(shall_we_beautify = false) ⇒ Boolean

#

how_many_installed_programs?

If beautify is true, then we use additional css rules to make the resulting page look nicer.

#

Returns:

  • (Boolean)


212
213
214
215
216
217
218
219
220
221
222
223
224
225
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 212

def how_many_installed_programs?(shall_we_beautify = false)
  if shall_we_beautify
    opne 'It seems that you have '+
         "<b style=\"font-style:italic;color:seagreen\">#{@array_programs_listing.length}</b> "+
         'installed Applications '+
         "of which #{@how_many_non_default_applications_are_on_this_pc} "+
         'seem to be non default.'
  else
    opne "It seems that you have #{sfancy(@array_programs_listing.length)} "+
         "installed "+'Applications of which '+
         "#{@how_many_non_default_applications_are_on_this_pc} "+
         'seem to be non default.'
  end
end

#how_many_non_default_packages_do_we_have?Boolean

#

how_many_non_default_packages_do_we_have?

We have x default packages, t total packages. t-x is the sum of all non-default packages.

#

Returns:

  • (Boolean)


187
188
189
190
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 187

def how_many_non_default_packages_do_we_have?
  @how_many_non_default_applications_are_on_this_pc += @array_programs_listing.size
  return @how_many_non_default_applications_are_on_this_pc
end

#phow_many_installed_programs?Boolean

#

phow_many_installed_programs?

#

Returns:

  • (Boolean)


230
231
232
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 230

def phow_many_installed_programs?
  e how_many_installed_programs?
end

#report_to_userObject

#

report_to_user

This will give our user a list of installed programs (if he is invoking the script from a console).

#


174
175
176
177
178
179
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 174

def report_to_user
  @array_programs_listing.sort.each_with_index { |content, index|
    _ = '%03d' % (index.to_i+1)
    sfancy("#{_}"+content)
  }
end

#resetObject

#

reset

#


91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 91

def reset
  super()
  infer_the_namespace
  # ========================================================================= #
  # === @program_dir
  # ========================================================================= #
  @program_dir = ''.dup
  # ========================================================================= #
  # === @array_programs_listing
  # ========================================================================= #
  @array_programs_listing = []
  # ========================================================================= #
  # === @how_many_non_default_applications_are_on_this_pc
  # ========================================================================= #
  @how_many_non_default_applications_are_on_this_pc = 0
  # ========================================================================= #
  # Perhaps this should all be registered elsewhere, or be done via
  # the "tags" entry in the cookbooks - but for now, we will keep it
  # this way.
  # ======================================================================= #
  @audio_programs          = %w( esound libogg xmms ogg lame audacity
                                 wavbreaker mp3blaster streamripper
                                 liboggz ffmpeg )
  @video_programs          = %w( audiofile aumix xine mplayer ogle ) #static data
  @lib_video_programs      = %w( libavc1394 libdv )
  @graphics_programs       = %w( gimp tiff libpng imagemagick )    
  @filesharing_programs    = %w( amule emule torrent bittorrent ctorrent azureus )
  @scripting_programs      = %w( pyqt ruby python perl abstk lisp )
  @editor_programs         = %w( xemacs vim gvim bluefish quanta )
  @gui_maker               = %w( FOX wxWidget )
  @default_editor_programs = %w( vim ed bluefish emacs geany gedit )
  @browsers                = %w( nautilus firefox internetexplorer ie lynx opera )
  @mud_programs            = %w( tintin zmud tinyfugue )
  @shells                  = %w( tcl zsh bash ksh csh perlshell psh )
  @n_video_programs        = 0
  @n_audio_programs        = 0
  # ======================================================================= #
  # All default GoboLinux-014 packages.
  # ======================================================================= #
  @array_listing_deprecated_programs = %w( alsa-driver ) # not sure about alsadriver
end

#runObject

#

run

#


455
456
457
458
459
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 455

def run
  scan_and_report
  how_many_non_default_packages_do_we_have?
  phow_many_installed_programs?
end

#scanObject

#

scan

scan scheint das Verzeichnis zu durchsuchen. Wenn es sich um ein Verzeichnis handelt, dann fügen wir diesen Eintrag in unser Array hinzu, halt der array, der alle unsere Programme speichert.

#


156
157
158
159
160
161
162
163
164
165
166
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 156

def scan
  _ = @programs_dir
  if File.directory? _
    Dir.foreach(_) { |x|   
      next if x[0,1].eql? '.'
      @array_programs_listing << _+'/'+x if File.directory? _+'/'+x
    }
  else
    e 'Directory '+sdir(_)+' does not exist.'
  end
end

#scan_and_reportObject

#

scan_and_report

#


290
291
292
293
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 290

def scan_and_report
  scan
  report_to_user
end

#set_programs_dir(folder = '') ⇒ Object

#

set_programs_dir

#


136
137
138
139
140
141
142
143
144
145
146
147
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 136

def set_programs_dir(folder = '')
  folder = '' if folder.nil?
  if folder.empty?
    # defaults to Gobolinux File Structure my_programs_dir
    @programs_dir = programs_directory?
  else
    @programs_dir = "/#{folder}"
    if folder == 'd' or folder == 'def' # overrule
      @programs_dir = programs_directory?
    end
  end
end

#where?Boolean

#

where?

#

Returns:

  • (Boolean)


237
238
239
# File 'lib/rbt/utility_scripts/installed_programs.rb', line 237

def where?
  LOG_INSTALLED_SOURCE_FILES_HTML
end