Class: Roebe::CreateIsoForGames
- Inherits:
-
Base
show all
- Defined in:
- lib/roebe/classes/create_iso_for_games.rb
Overview
Constant Summary
collapse
- FILE_GOOD_DOS_GAMES =
nil
- FILE_GOOD_WINDOWS_GAMES =
#
FILE_GOOD_WINDOWS_GAMES
This points to the “good windows games”.
#
nil
- DIRECTORY_FOR_THE_GAMES =
#
DIRECTORY_FOR_THE_GAMES
This constant specifies where exactly the directory should be placed on your filesystem.
#
'/Depot/jjjj/WINDOWS_GAMES/'
Constants inherited
from Base
Base::COLOURS, Base::HOME_DIRECTORY_OF_USER_X, Base::N, Base::NAMESPACE
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === Roebe::CreateIsoForGames[] ========================================================================= #.
Instance Method Summary
collapse
Methods inherited from Base
#actions, #append_this_onto_that_file, #append_what_into, #be_silent, #be_verbose?, #beautiful_url, #burlywood, #call_next, #chdir, #cheerful_guy, #cliner, #complex_esystem, #convert_global_env, #copy_directory, #copy_file, #cornflowerblue, #create_directory, #crimson, #current_month?, #current_time?, #current_year?, #cyan, #darkcyan, #darkgreen, #darkkhaki, #darkslateblue, #deeppink, #delete_symlink, #do_not_use_the_base_colours, #do_use_the_base_colours, #e, #ecomment, #editor_to_use?, #efancy, #eimp, #emphasis, #ensure_main_encoding, #ensure_utf_encoding, #eparse, #erev, #esteelblue, #etomato, #ewarn, #exit_program, #firebrick, #get_current_day, #get_current_month, #get_files_and_directories, #get_files_from, #get_german_name_for_this_weekday, #gold, #green, #grey, #hh_mm_ss, #hh_mm_ss_day_month_year, #home_dir?, #home_directory_of_user_x?, #infer_the_namespace, #internal_hash?, #is_a_directory?, #is_a_file?, #is_a_jpg_file?, #is_an_image_file?, #is_archive?, #is_audio_file?, #is_in_studium_dir?, #is_multimedia_file?, #is_on_roebe?, #is_on_windows?, #is_studium_available?, #is_symlink?, #is_this_a_ruby_file?, #is_video_file?, #iso_encoding?, #le, #left_colour, #lightblue, #lightgreen, #lightseagreen, #lightsteelblue, #lime, #limegreen, #localhost_to_data, #log_directory?, #main_encoding?, #mediumorchid, #mediumpurple, #mediumseagreen, #mediumslateblue, #mediumspringgreen, #mediumturquoise, #mkdir_p, #mv, #n_days_in_this_month, #n_pages_in_this_pdf_file?, #namespace?, #no_file_exists_at, #ogrey, #olive, #olivedrab, #open_in_browser, #opne, #opnesystem, #opnn, #orange, #orchid, #orev, #palegoldenrod, #palevioletred, #pink, #powderblue, #programs_dir?, #project_base_dir?, #random_html_colour, #rds, #read_file_in_iso_encoding, #read_file_via_the_default_encoding, #read_lines_via_iso_encoding, #readlines_with_main_encoding, #red, #register_sigint, #remove, #remove_directory, #remove_file, #rename_kde_konsole_tab, #replace_localhost_with_data, #report_pwd, #require_rescue, #reset_the_internal_hash, #return_all_directories_from_this_directory, #return_all_files_from_this_directory, #return_current_directory, #return_dd_mm_yyyy, #return_file_or_directory_of, #return_files_from_pwd, #return_last_part_of_the_current_directory, #return_utc, #rev, #right_arrow?, #right_colour, #roebe_log_directory?, #rosybrown, #royalblue, #ruby_base_directory?, #run_in_background, #run_rcfiles_then_run_ata_via_qdbus, #sandybrown, #sdir, #seagreen, #set_be_verbose, #set_xorg_buffer, #sfancy, #sfile, #show_help, #silent_redirection?, #simp, #simple_esystem, #skyblue, #slateblue, #slategray, #springgreen, #steelblue, #string_italic, #swarn, #symlink, #teal, #temp_dir?, #to_camelcase, #to_counted_hash, #tomato, #touch, #try_to_require_the_beautiful_url_gem, #try_to_require_the_html_template, #try_to_require_the_open_gem, #try_to_require_the_program_information_gem, #try_to_require_the_xorg_buffer, #use_colours?, #verbose_truth, #weekday?, #word_wrap, #write_what_into, #yellow
#append_onto_the_commandline_arguments, #clear_commandline_arguments, #commandline_arguments?, #commandline_arguments_as_string?, #commandline_arguments_without_leading_hyphens?, #first_argument?, #first_argument_without_leading_hyphens?, #has_an_argument_been_passed?, #remove_hyphened_arguments_from_the_commandline_arguments, #return_commandline_arguments_with_leading_hyphens, #second_argument?, #set_commandline_arguments
Constructor Details
#initialize(commandline_arguments = nil, run_already = true) ⇒ CreateIsoForGames
61
62
63
64
65
66
67
68
69
70
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 61
def initialize(
commandline_arguments = nil,
run_already = true
)
reset
set_commandline_arguments(
commandline_arguments
)
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
Roebe::CreateIsoForGames[]
#
290
291
292
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 290
def self.[](i = '')
new(i)
end
|
Instance Method Details
#check_whether_the_specified_files_exist_locally(i) ⇒ Object
#
check_whether_the_specified_files_exist_locally
#
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 161
def check_whether_the_specified_files_exist_locally(i)
if i.is_a? Hash
paths = i.map {|key, inner_hash|
inner_hash['local_path']
}
paths.each {|this_path|
if this_path and File.exist?(this_path)
opne 'File at `'+sfile(this_path)+'` exists. '\
'This is '+gold('good')+'! '+yellow(cheering_person)
else
opne swarn("No file exists at this path `")+
orange(this_path)+
swarn("`.")
end
}
end
end
|
#copy_all_existing_files_into_this_directory(target_directory = DIRECTORY_FOR_THE_GAMES) ⇒ Object
#
copy_all_existing_files_into_this_directory
#
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
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 132
def copy_all_existing_files_into_this_directory(
target_directory = DIRECTORY_FOR_THE_GAMES
)
target_directory = rds("#{target_directory}/")
cd File.absolute_path(target_directory+'..')
if target_directory == '/'
opne "#{rev}The target directory can not be #{steelblue('/')}#{rev}."
exit
end
if File.directory? target_directory
remove_directory(target_directory)
mkdir(target_directory)
end
if File.directory? target_directory
@dataset.each_pair {|key, inner_hash|
existing_file = inner_hash['local_path']
if existing_file and File.exist?(existing_file)
@total_filesize += File.size(existing_file)
opnn; copy_file(existing_file, target_directory)
else
opnn; no_file_exists_at(existing_file)
end
}
end
end
|
#create_a_new_directory_then_copy_the_games_and_then_create_the_iso_file ⇒ Object
#
create_a_new_directory_then_copy_the_games_and_then_create_the_iso_file
#
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 207
def create_a_new_directory_then_copy_the_games_and_then_create_the_iso_file
require 'roebe/classes/create_iso.rb' use_this_as_target_directory = DIRECTORY_FOR_THE_GAMES
opnn; create_directory use_this_as_target_directory, :be_verbose
copy_all_existing_files_into_this_directory(use_this_as_target_directory)
create_game_list_into_this_directory(use_this_as_target_directory)
Roebe.create_iso(use_this_as_target_directory) {{
output_name: @output_name
}}
report_total_filesize
display_summary
end
|
#create_game_list_into_this_directory(i) ⇒ Object
#
create_game_list_into_this_directory
#
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 227
def create_game_list_into_this_directory(i)
what = ''.dup
@dataset.each_pair {|name_of_the_game, inner_hash|
released_when = inner_hash['released_when'].to_s
wikipedia_url = inner_hash['wikipedia'].to_s
youtube_url = inner_hash['youtube'].to_s
what << 'Game name: '+name_of_the_game+"\n"
what << ' Released: '+released_when+"\n"
what << ' Wikipedia URL: '+wikipedia_url+"\n"
what << ' Youtube URL: '+youtube_url+"\n"
what << ' Filesize: '+inner_hash['file_size'].to_s+"\n\n"
}
into = rds(i+'/GAME_LIST.md')
opne 'Saving into the file `'+sfile(into)+'`.'
write_what_into(what, into)
end
|
#display_summary ⇒ Object
#
display_summary
This method will tell the user what games have been copied.
#
249
250
251
252
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 249
def display_summary
opne "#{rev}A total of #{palevioletred(@dataset.size.to_s)} "\
"#{rev}games have been copied into #{sdir(return_pwd)}."
end
|
#do_default_task ⇒ Object
#
do_default_task (default task, default tag)
This is the “default” task for this class. It can be changed at any moment in time, so its primary use case is to allow us to quickly test this class here really.
#
200
201
202
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 200
def do_default_task
create_a_new_directory_then_copy_the_games_and_then_create_the_iso_file
end
|
#load_up_the_main_yaml_file(this_file = :default) ⇒ Object
#
load_up_the_main_yaml_file
#
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
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 98
def load_up_the_main_yaml_file(
this_file = :default
)
case this_file
when :dos_games,
:dos
this_file = FILE_GOOD_DOS_GAMES
when :windows_games,
:default
this_file = FILE_GOOD_WINDOWS_GAMES
end
if this_file and File.exist?(this_file)
opne "#{slateblue('Loading dataset')} from the "\
"file `#{sfile(this_file)}`."
@dataset = YAML.load_file(this_file)
check_whether_the_specified_files_exist_locally(@dataset)
else
opnn; no_file_exists_at(this_file)
exit
end
end
|
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 257
def (
i = commandline_arguments?
)
if i.is_a? Array
i.each {|entry| (entry) }
else
case i when /^--default$/,
/^--do(-|_)?it$/
do_default_task
end
end
end
|
#report_total_filesize ⇒ Object
#
report_total_filesize
Remember that 1 GB equals 1024 MB.
#
184
185
186
187
188
189
190
191
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 184
def report_total_filesize
_ = @total_filesize
n_kb = (_ / 1024.0).round(2).to_s
n_mb = (n_kb.to_f / 1024.0).round(2).to_s
opne 'The total filesize is '+sfancy(_)+
' bytes ('+n_kb+' KB; '+
slateblue(n_mb+' MB')+').'
end
|
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 75
def reset
super()
infer_the_namespace
@total_filesize = 0
@output_name = 'WINDOWS_GAMES' end
|
279
280
281
282
283
284
285
|
# File 'lib/roebe/classes/create_iso_for_games.rb', line 279
def run
load_up_the_main_yaml_file
end
|