Class: Studium::PrepareIndividualCurriculum
- Inherits:
-
Base
- Object
- Base
- Studium::PrepareIndividualCurriculum
show all
- Defined in:
- lib/studium/utility_scripts/prepare_individual_curriculum.rb
Overview
Studium::PrepareIndividualCurriculum
Constant Summary
collapse
- DIRECTORY_EXAMS_RESULT =
#
DIRECTORY_EXAMS_RESULT
#
"#{ROEBE_STUDIUM_DIR}EXAMS_RESULT/"
Constants inherited
from Base
Base::ARRAY_HTML_COLOURS_IN_USE, Base::CHECK_FOR_INCORRECT_ENTRIES_IN_THE_QUESTION_ANSWER_FILE_THAT_SHOULD_BE_COMMENTS, Base::COLOURS, Base::COMMON_YEAR_DAYS_IN_MONTH, Base::GRAY, Base::LEFT_PADDING, Base::NAMESPACE, Base::N_CHARACTERS_PER_LINE, Base::UNICODE_RIGHT_ARROW
Constants included
from Colours
Colours::COLOURS
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === Studium::PrepareIndividualCurriculum[] ========================================================================= #.
Instance Method Summary
collapse
Methods inherited from Base
#add_proper_year_entry_to_this_line, #already_solved_this_lva_number?, #append_what_into, #available_topics_as_short_name, #average_grade, #bachelor_master_or_diploma, #base_dir?, #be_silent, #be_verbose?, #beautiful_url, #change_directory, #cheering_person, #cliner, #colour_for_ects_points, #colourize_percentage, #commandline_arguments?, #commandline_arguments_joined, #commandline_arguments_with_hyphens?, #convert_this_array_of_lectures_into_the_full_dataset, #copy, #cpruby, #create_directory, #create_file, #csv_file?, #current_month?, #datum?, #day_month_year, #debug?, #delete_file, #directory_of_the_exam_topics?, #directory_to_my_exam_topics, #directory_to_the_exam_topics?, #disable_colours, #disable_colours_globally, #do_not_be_verbose, #do_not_use_opn, #do_these_curricula_include_both_a_bachelor_and_a_master_curriculum?, #does_this_line_include_a_german_weekday?, #does_this_line_include_a_html_colour?, #e, #ecomment, #editor?, #ee, #enable_colours, #enable_colours_globally, #enable_debug, #encoding?, #english_to_german_weekday, #ensure_main_encoding, #ensure_that_the_log_directory_exists, #eparse, #erev, #esystem, #etomato, #exit_program, #expand_topic, #extract_dd_mm_yyyy, #file_lecture_information?, #file_read_with_proper_encoding, #filter_away_invalid_questions, #find_corresponding_exam_topic, #first_argument?, #first_non_hyphen_argument?, #from_curriculum_id_to_university, #german_date_notation, #german_weekday?, #german_weekdays?, #has_a_bachelor_curriculum?, #has_a_master_curriculum?, #has_this_exam_topic_been_solved?, #has_year_entry?, #hh_mm_ss_dd_mm_yyyy, #horizontal_bar?, #html_log_directory?, #is_a_master_lecture?, #is_a_weekday?, #is_connected_to_the_www?, #is_on_roebe?, #is_prüfungsimmanent?, #is_this_a_valid_html_colour?, #is_this_day_today?, #konsole_support?, #last_file?, #lectures_from_indi1, #lectures_from_indi2, #lectures_from_indi3, #lectures_from_indi4, #lectures_from_the_bachelor_genetik_curriculum, #lectures_from_the_individual_vektor_curricula, #load_yaml_dataset, #move_file, #n_days_difference_from_today_to_this_day, #no_ext_name, #no_file_at, #number_to_month, #obtain, #obtain_lectures_from_this_curriculum, #open_in_editor, #opnn, #path_to_exam_topic?, #read_dataset_from_a_curriculum_file, #read_in_exam_dataset_from_this_file, #read_this_file_with_default_encoding, #readlines_from_this_input_file, #register_sigint, #remove_empty_strings, #remove_escape_sequences, #remove_internal_comments, #remove_leading_comments, #remove_leading_weekday_names_from, #remove_newlines, #remove_tags_from_this_input, #rename_kde_konsole_tab, #rename_konsole_tab?, #replace_all_html_colours_in_this, #replace_bold_token_with_default_colour, #replace_italic_token_with_default_colour, #replace_italic_token_with_this_colour, #replace_regular_numbers_with_unicode_numbers, #replace_underline_token_with_default_colour, #replace_underline_token_with_this_colour, #return_all_bachelor_lectures, #return_all_exams_on_this_day, #return_all_numbers_from, #return_all_registered_curricula, #return_all_steop_lectures, #return_current_year, #return_dataset_for_this_topic, #return_dataset_from_this_curriculum_file, #return_dd_mm_yy_and_time_from, #return_directory_for, #return_ects_points_from_these_lectures, #return_either_grey_or_the_custom_colour_for_answers, #return_either_grey_or_the_custom_colour_for_questions, #return_file_for_this_curriculum, #return_german_name_for_this_english_month, #return_german_weekday_of?, #return_hh_mm_ss_from, #return_hour_from_this, #return_lectures_from_bachelor_vektor_curriculum, #return_lectures_with_at_the_least_one_upcoming_exam, #return_local_path_of_this_pwdstud, #return_lva_number_of_this_lecture, #return_month_fitting_to_this_input, #return_n_days_until_monday, #return_n_days_until_sunday, #return_n_exam_questions_in, #return_n_questions_were_answered_for_this_topic, #return_name_of_the_weekday, #return_name_of_this_curriculum, #return_name_of_this_curriculum_based_on_its_id_number, #return_opnn, #return_passed_courses, #return_pwd, #return_random_curriculum, #return_sanitized_dataset_from_the_file_lecture_information, #return_solved_lectures, #return_steop_lectures, #return_the_remote_homepage_url, #return_this_line_has_n_characters_as_html_colour_tags, #return_title_from_this_curriculum_file, #rev, #right_arrow?, #rinstall2, #roebe_exam_directory?, #ruby_src_dir_at_home?, #runmode?, #sanitize_this_topic, #sanitize_url, #select_lectures_with_this_key, #set_be_quiet, #set_be_verbose, #set_commandline_arguments, #set_commandline_mode, #set_runmode, #set_this_cd_alias_to, #set_www_mode, #sfancy, #shall_we_make_use_of_unicode_symbols?, #show_todays_date, #simp, #sort_these_lecture_names_by_time, #spacer, #swarn, #this_month_has_n_days?, #total_ects_points_passed, #translate_dd_mm_yyyy_to_weekday, #try_to_require_the_rcfiles, #turn_this_array_into_the_full_dataset, #unicode_blocks_line, #use_colours?, #use_opn?, #vertical_bar?, #web_liner, #weekday?, #weekdays?, #word_wrap, #write_what_into, #www_connection_is_unavailable, #www_mode?, #yaml_dir?
Methods included from Colours
#bold_blue, #bold_red, #bold_yellow, #cadetblue, #chartreuse, crimson, #darkgray, darkgreen, darkseagreen, deepskyblue, #deepskyblue, default_colour, #dimgray, disable_colours, #dodgerblue, e, #efancy, enable_colours, #ewarn, #forestgreen, gold, #grey, lightblue, lightgreen, #lightslategray, #lightsteelblue, #mediumorchid, #mediumseagreen, #oldlace, #olivedrab, orange, orangered, #orchid, palevioletred, #papayawhip, rev, royalblue, sdir, #sdir, sfancy, #sfancy, sfile, #sfile, simp, #simp, slateblue, steelblue, #steelblue, #swarn, swarn, #teal, turquoise, use_colours?, use_this_colour_for_exam_answers, use_this_colour_for_exam_questions, #yellow
Constructor Details
#initialize(commandline_arguments = nil, run_already = true) ⇒ PrepareIndividualCurriculum
33
34
35
36
37
38
39
40
41
42
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 33
def initialize(
commandline_arguments = nil,
run_already = true
)
reset
set_commandline_arguments(
commandline_arguments
)
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
Studium::PrepareIndividualCurriculum[]
#
297
298
299
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 297
def self.[](i = '')
new(i)
end
|
Instance Method Details
#cd_to_the_generated_directory ⇒ Object
#
cd_to_the_generated_directory
#
131
132
133
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 131
def cd_to_the_generated_directory
cd @package_into_this_subdirectory
end
|
#copy_bachelor_documents ⇒ Object
#
copy_bachelor_documents
#
83
84
85
86
87
88
89
90
91
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 83
def copy_bachelor_documents
e 'Now copying the '+steelblue('bachelor-related documents')+'.'
_ = ROEBE_STUDIUM_DIR+'TU_WIEN/Individuelles_Studium_an_der_TU_Wien/Antrag/'
cd _
files = Dir["#{_}Bachelorcurriculum*"]
copy_these_files(files)
end
|
#copy_BOKU_sammelzeugnis ⇒ Object
#
copy_BOKU_sammelzeugnis
#
186
187
188
189
190
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 186
def copy_BOKU_sammelzeugnis
file = Dir[DIRECTORY_EXAMS_RESULT+'BOKU_WIEN/BOKU_Wien_Sammelzeugnis_bis_24.02.2021_Matrikelnummer_09703011.pdf'].first
das_sammelzeugnis_wurde_nicht_gefunden if file.nil?
copy_this_file(file)
end
|
#copy_master_documents ⇒ Object
#
copy_master_documents (master tag)
#
110
111
112
113
114
115
116
117
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 110
def copy_master_documents
e 'Now copying the '+steelblue('master-related documents')+'.'
_ = ROEBE_STUDIUM_DIR+'UNI_WIEN/Individuelles_Studium_an_der_Uni_Wien/Individuelles_Master_Studium/'
cd _
files = Dir[_+'Curriculum_Master'+'*']
files += Dir[_+'Zusammenfassung'+'*']
copy_these_files(files)
end
|
#copy_meduni_sammelzeugnis ⇒ Object
#
copy_meduni_sammelzeugnis
#
195
196
197
198
199
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 195
def copy_meduni_sammelzeugnis
file = Dir[DIRECTORY_EXAMS_RESULT+'MEDUNI_WIEN/MeduniWien_Sammelzeugnis_9703011_bis_17.02.2020_33.5_ECTS.pdf'].first
das_sammelzeugnis_wurde_nicht_gefunden if file.nil?
copy_this_file(file)
end
|
#copy_the_erklärbärschreiben(target = ROEBE_STUDIUM_DIR+'TU_WIEN/Individuelles_Studium_an_der_TU_Wien/Antrag/'\
'Extensives_Erklärungsschreiben_zu_dem_individuellen_Curriculum_Informatik_und_molekulare_Biologie.*') ⇒ Object
#
copy_the_erklärbärschreiben
#
155
156
157
158
159
160
161
162
163
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 155
def copy_the_erklärbärschreiben(
target = ROEBE_STUDIUM_DIR+'TU_WIEN/Individuelles_Studium_an_der_TU_Wien/Antrag/'\
'Extensives_Erklärungsschreiben_zu_dem_individuellen_Curriculum_Informatik_und_molekulare_Biologie.*'
)
Dir[target].sort.each {|this_file|
copy_this_file(this_file)
}
end
|
#copy_the_scanned_image_for_the_petition ⇒ Object
#
copy_the_scanned_image_for_the_petition
This is currently (April 2021) only used for the TU Vienna.
#
246
247
248
249
250
251
252
253
254
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 246
def copy_the_scanned_image_for_the_petition
case @target_university
when :tu_vienna
file = Dir[
'/home/x/studium/TU_WIEN/Individuelles_Studium_an_der_TU_Wien/Antrag/SCAN_*.jpg'
].first
copy_this_file(file)
end
end
|
#copy_these_files(files) ⇒ Object
Also known as:
copy_this_file
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 96
def copy_these_files(files)
[files].flatten.compact.each {|entry|
if File.exist? entry
copy_file(
entry,
@package_into_this_subdirectory+File.basename(entry)
)
end
}
end
|
#copy_tuwien_sammelzeugnis ⇒ Object
#
copy_tuwien_sammelzeugnis
#
168
169
170
171
172
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 168
def copy_tuwien_sammelzeugnis
file = Dir[DIRECTORY_EXAMS_RESULT+'TU_WIEN/*Sammel*.pdf'].first
das_sammelzeugnis_wurde_nicht_gefunden if file.nil?
copy_this_file(file)
end
|
#copy_uniwien_sammelzeugnis ⇒ Object
#
copy_uniwien_sammelzeugnis
#
211
212
213
214
215
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 211
def copy_uniwien_sammelzeugnis
file = Dir[DIRECTORY_EXAMS_RESULT+'UNI_WIEN/*UniWien_Sammelzeugnis*.pdf'].first
das_sammelzeugnis_wurde_nicht_gefunden if file.nil?
copy_this_file(file)
end
|
#copy_vetmed_sammelzeugnis ⇒ Object
#
copy_vetmed_sammelzeugnis
#
177
178
179
180
181
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 177
def copy_vetmed_sammelzeugnis
file = Dir[DIRECTORY_EXAMS_RESULT+'VETMED_UNI/Sammelzeugnis_Mitbeleger_an_der_Vetmed_Uni_bis_24.05.2019.pdf'].first
das_sammelzeugnis_wurde_nicht_gefunden if file.nil?
copy_this_file(file)
end
|
#create_a_zip_archive ⇒ Object
#
create_a_zip_archive (zip tag)
Finally create a .zip archive.
#
283
284
285
286
287
288
289
290
291
292
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 283
def create_a_zip_archive
e "Now creating a #{tomato('.zip')} archive."
cd @cd_into_this_directory
zip_cmd = 'zip -r '+
@name_of_the_directory_for_the_individual_curriculum+'-'+
return_dd_mm_yyyy+'.zip '+
@name_of_the_directory_for_the_individual_curriculum+
'-'+return_dd_mm_yyyy+'/'
esystem zip_cmd
end
|
#create_the_sammelzeugnis_directory ⇒ Object
#
create_the_sammelzeugnis_directory
#
269
270
271
272
273
274
275
276
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 269
def create_the_sammelzeugnis_directory
cd_to_the_generated_directory
e 'Next creating the directory '+
sdir('sammelzeugnisse/')+
' in the directory `'+
sdir(return_pwd)+'`.'
mkdir 'sammelzeugnisse'
end
|
#create_the_subdirectory_and_cd_into_it ⇒ Object
#
create_the_subdirectory_and_cd_into_it
#
122
123
124
125
126
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 122
def create_the_subdirectory_and_cd_into_it
mkdir @cd_into_this_directory
mkdir @package_into_this_subdirectory
cd_to_the_generated_directory end
|
#das_sammelzeugnis_wurde_nicht_gefunden ⇒ Object
#
das_sammelzeugnis_wurde_nicht_gefunden
#
204
205
206
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 204
def das_sammelzeugnis_wurde_nicht_gefunden
e tomato('Das Sammelzeugnis wurde nicht gefunden.')
end
|
#notify_the_user_where_the_subdirectory_is ⇒ Object
#
notify_the_user_where_the_subdirectory_is
#
145
146
147
148
149
150
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 145
def notify_the_user_where_the_subdirectory_is
e "#{rev}Everything will be copied into the following directory:"
e
e " #{sdir(@package_into_this_subdirectory)}"
e
end
|
#package_into_this_subdirectory? ⇒ Boolean
Also known as:
target?
#
package_into_this_subdirectory?
#
138
139
140
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 138
def package_into_this_subdirectory?
@package_into_this_subdirectory
end
|
#relocate_all_samelzeugnisse_into_the_sammelzeugnis_directory ⇒ Object
#
relocate_all_samelzeugnisse_into_the_sammelzeugnis_directory
#
259
260
261
262
263
264
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 259
def relocate_all_samelzeugnisse_into_the_sammelzeugnis_directory
array = Dir['*ammelzeugnis*.pdf']
array.each {|this_file|
move_file(this_file, 'sammelzeugnisse/')
}
end
|
#reset ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 47
def reset
super()
@cd_into_this_directory = '/Depot/Individuelles_Studium/'
@name_of_the_directory_for_the_individual_curriculum =
'individuelles_bachelorcurriculum_an_der_TU_Wien'
@target_university = :boku
@package_into_this_subdirectory =
@cd_into_this_directory+
@name_of_the_directory_for_the_individual_curriculum+
'-'+
return_dd_mm_yyyy+'/'
end
|
#run ⇒ Object
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
|
# File 'lib/studium/utility_scripts/prepare_individual_curriculum.rb', line 220
def run
e 'Preparing an individual curriculum at '\
'the university '+steelblue(@target_university.to_s)+
' next.'
create_the_subdirectory_and_cd_into_it
notify_the_user_where_the_subdirectory_is
copy_bachelor_documents
copy_uniwien_sammelzeugnis
copy_tuwien_sammelzeugnis
copy_vetmed_sammelzeugnis
copy_BOKU_sammelzeugnis
copy_vetmed_sammelzeugnis
copy_meduni_sammelzeugnis
copy_the_erklärbärschreiben
copy_the_scanned_image_for_the_petition
create_the_sammelzeugnis_directory
relocate_all_samelzeugnisse_into_the_sammelzeugnis_directory
create_a_zip_archive
end
|