Class: RBT::Cookbooks::UpdateKdePlasma
Overview
RBT::Cookbooks::UpdateKdePlasma
Constant Summary
LeanPrototype::ALL_COLOUR_METHODS, LeanPrototype::ARRAY_KDE_KONSOLE_COLOURS_IN_USE, LeanPrototype::DAY_NAMES, LeanPrototype::NAMESPACE, LeanPrototype::SILENT_REDIRECTION
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === RBT::Cookbooks::UpdateKdePlasma[] ========================================================================= #.
Instance Method Summary
collapse
#add_these_programs_were_updated, #array_these_programs_were_updated?, #commandline_size_query_was_issued?, #correct_for_common_mistakes_in_program_names, #dataset?, #distrowatch_url?, #do_use_wget, #ensure_download_mode_is_system_wget_from_now_on, #menu, #notify_the_user_that_no_downloads_have_occurred, #obtain_dataset_from_the_remote_webpage, #report_that_these_programs_were_updated, #report_the_remote_webpage, #return_local_version_of_this_program, #show_help, #that_remote_URL_should_be_at, #update_entry, #use_wget?
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
#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, #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_information, #return_program_name_for_gobolinux_systems, #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, #run_simulation=, #run_simulation?, #sdir, #sdir_return_pwd, #set_be_silent, #set_be_verbose, #set_first_commandline_argument, #set_namespace, #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(i = nil, run_already = true) ⇒ UpdateKdePlasma
28
29
30
31
32
33
34
35
36
37
|
# File 'lib/rbt/check_for_updates/update_kde_plasma.rb', line 28
def initialize(
i = nil,
run_already = true
)
reset
set_commandline(
i
)
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
RBT::Cookbooks::UpdateKdePlasma[]
#
183
184
185
|
# File 'lib/rbt/check_for_updates/update_kde_plasma.rb', line 183
def self.[](i = '')
new(i)
end
|
Instance Method Details
#decide_what_to_do_next ⇒ Object
#
decide_what_to_do_next
The first variant can be invoked via:
KDE_Plasma --size
#
82
83
84
85
86
87
88
89
|
# File 'lib/rbt/check_for_updates/update_kde_plasma.rb', line 82
def decide_what_to_do_next
if commandline_size_query_was_issued?
opne "There are #{sfancy(@scanned_results.size)} remote "\
"KDE Plasma programs."
else iterate_through_the_results_and_update_old_cookbooks_entries
end
end
|
#iterate_through_the_results_and_update_old_cookbooks_entries ⇒ Object
#
iterate_through_the_results_and_update_old_cookbooks_entries
This will go over the dataset stored in @scanned_results, to then check on the program given there.
#
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
|
# File 'lib/rbt/check_for_updates/update_kde_plasma.rb', line 112
def iterate_through_the_results_and_update_old_cookbooks_entries
@scanned_results.each {|this_program| name_of_the_program, program_version = ::ProgramInformation.return_array_program_name_and_program_version(this_program)
local_dataset = new_cookbook_instance_for(name_of_the_program)
local_program_version = local_dataset.program_version?
if local_program_version.nil?
e
e tomato('nil-value for ')+
sfancy(name_of_the_program)+
' - the local_program_version was nil.'
e
elsif program_version.nil?
e
e tomato('nil-value for ')+
sfancy(name_of_the_program)+
' - the program_version was nil.'
e
end
shall_we_download_the_program = local_program_version < program_version
shall_we_download_the_program = true if @download_the_program_without_any_additional_checks
if shall_we_download_the_program
@downloaded_n_programs += 1
opne "#{rev}There is a more recent program version "\
"available for `#{sfancy(name_of_the_program)}`."
full_remote_url = remote_download_url?.dup
full_remote_url << '/' unless full_remote_url.end_with? '/'
full_remote_url << "#{program_version}/#{this_program}.tar.xz"
that_remote_URL_should_be_at(full_remote_url)
colourized_result = slateblue(
"class RBT::UpdateEntry.new(#{full_remote_url})"
)
opne "Now delegating towards #{colourized_result}."
update_entry(full_remote_url)
add_these_programs_were_updated(
remove_archive_from_the_end(
File.basename(full_remote_url)
)
)
end
}
if @downloaded_n_programs == 0
notify_the_user_that_no_downloads_have_occurred
else
report_that_these_programs_were_updated(
array_these_programs_were_updated?
)
end
end
|
#main_url? ⇒ Boolean
Also known as:
remote_url?, remote_webpage?, remote_website?
#remote_download_url? ⇒ Boolean
#reset ⇒ Object
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
# File 'lib/rbt/check_for_updates/update_kde_plasma.rb', line 42
def reset
super()
infer_the_namespace
@download_the_program_without_any_additional_checks = false
end
|
#run ⇒ Object
173
174
175
176
177
178
|
# File 'lib/rbt/check_for_updates/update_kde_plasma.rb', line 173
def run
report_the_remote_webpage
obtain_remote_dataset
scan_for_all_results
decide_what_to_do_next
end
|
#scan_for_all_results ⇒ Object
94
95
96
97
98
99
100
101
102
103
104
|
# File 'lib/rbt/check_for_updates/update_kde_plasma.rb', line 94
def scan_for_all_results
use_this_regex =
/<td><a href="(http:\/\/download.kde.org\/stable\/plasma\/\d{0,1}.\d{0,2}.\d{0,2}\/)?(.+)\.tar\.xz">\D.+<\/a>/
@scanned_results = @dataset.scan(use_this_regex).flatten.compact
end
|