Class: Studium::LecturesAttributedToUniversities
- Inherits:
-
Base
- Object
- Base
- Studium::LecturesAttributedToUniversities
show all
- Defined in:
- lib/studium/utility_scripts/lectures_attributed_to_universities.rb
Overview
Studium::LecturesAttributedToUniversities
Constant Summary
collapse
- NAMESPACE =
inspect
- DEFAULT_CURRICULUM =
:bachelor_vektorx
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::N_CHARACTERS_PER_LINE, Base::UNICODE_RIGHT_ARROW
Constants included
from Colours
Colours::COLOURS
Class Method Summary
collapse
-
.[](i = '') ⇒ Object
# === Studium::LecturesAttributedToUniversities[] ========================================================================= #.
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_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 = DEFAULT_CURRICULUM, run_already = true) ⇒ LecturesAttributedToUniversities
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 35
def initialize(
commandline_arguments = DEFAULT_CURRICULUM,
run_already = true
)
reset
set_commandline_arguments(
commandline_arguments
)
if block_given?
yielded = yield
case yielded
when :do_not_show_the_title_and_do_not_report
@show_the_title_on_the_commandline = false
do_not_report_anything
when :do_not_show_the_title
@show_the_title_on_the_commandline = false
end
end
run if run_already
end
|
Class Method Details
.[](i = '') ⇒ Object
#
Studium::LecturesAttributedToUniversities[]
#
331
332
333
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 331
def self.[](i = '')
new(i)
end
|
Instance Method Details
#do_not_report_anything ⇒ Object
#
do_not_report_anything
#
128
129
130
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 128
def do_not_report_anything
@do_report = false
end
|
#do_not_show_the_title ⇒ Object
#
do_not_show_the_title
#
135
136
137
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 135
def do_not_show_the_title
@show_the_title_on_the_commandline = false
end
|
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 226
def (
i = @commandline_arguments
)
if i.is_a? Array
i.each {|entry| (entry) }
else
if i.to_s.include?('bachelor') or i.to_s.include?('master')
set_use_this_curriculum_file(i.to_sym)
elsif i.is_a? Symbol
set_use_this_curriculum_file(i)
else
case i when /-?-?no(-|_)title/
do_not_show_the_title
else
set_use_this_curriculum_file(i.to_sym)
end
end
end
end
|
#reject_entries_that_begin_with_two_hyphens_and_pass_them_into_menu(i) ⇒ Object
#
reject_entries_that_begin_with_two_hyphens_and_pass_them_into_menu
#
115
116
117
118
119
120
121
122
123
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 115
def reject_entries_that_begin_with_two_hyphens_and_pass_them_into_menu(i)
if i.is_a?(String) and i.any? {|line| line.start_with? '--' }
(
i.select {|inner_line| inner_line.start_with? '--' }
)
i.reject! {|inner_line| inner_line.start_with? '--' }
end
return i
end
|
#report_the_percentages ⇒ Object
Also known as:
report
#
report_the_percentages (report tag)
#
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 256
def report_the_percentages
if @do_report
report_the_title_of_the_curriculum
total = @total_ects.to_f
e
sorted_hash?.each {|name_of_the_university, n_ects_points_attributed_to_that_university|
percentage_value = (
(n_ects_points_attributed_to_that_university * 100) / total
).round(2)
percentage_value = '%.2f' % percentage_value
colourized_percentage_value = springgreen(
'('+percentage_value.to_s.rjust(5)+'% belong to the '
)+
seagreen(name_of_the_university)+
springgreen(')')
padded_name_of_the_university = name_of_the_university.ljust(18)
e ' '+
sfancy(padded_name_of_the_university)+
slateblue(
n_ects_points_attributed_to_that_university.to_s.rjust(5)+' ECTS'
)+
' '+
colourized_percentage_value
}
e ' '.ljust(20)+
royalblue('-' * 45)
e ' '.ljust(21)+
slateblue(@total_ects.to_f.to_s+' ECTS')
end
end
|
#report_the_title_of_the_curriculum ⇒ Object
#
report_the_title_of_the_curriculum
#
166
167
168
169
170
171
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 166
def report_the_title_of_the_curriculum
if @show_the_title_on_the_commandline
e
e ' '+sfancy(@title_of_the_curriculum)
end
end
|
#reset ⇒ Object
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 87
def reset
super()
@namespace = NAMESPACE
@dataset_from_the_file_lecture_information = dataset_lecture_information
@hash_tracking_the_universities = {}
@hash_tracking_the_universities.default = 0
@total_ects = 0
@title_of_the_curriculum = nil
@show_the_title_on_the_commandline = true
@use_these_curricula_files = :bachelor_vektorx
@do_report = true
end
|
#return_html_string ⇒ Object
Also known as:
html_string
#
return_html_string (www tag, html tag)
This method will return a “html string” - that is, a string that can be embedded into a .html page.
#
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 200
def return_html_string
_ = ''.dup total = total?
sorted_hash?.each {|name_of_the_university, n_ects_points_attributed_to_that_university|
percentage_value = (
(n_ects_points_attributed_to_that_university * 100) / total
).round(2)
percentage_value = '%.2f' % percentage_value
colourized_percentage_value = '<span style="color: springgreen">'+
'('+percentage_value.to_s.rjust(5)+'% belong to the '.dup
colourized_percentage_value << name_of_the_university
colourized_percentage_value << '<span style="color:springgreen">)</span>'
padded_name_of_the_university = name_of_the_university
_ << ' <span style="color: lightblue">'+padded_name_of_the_university.ljust(10)+'</span>'
_ << '<span style="color:slateblue">'+n_ects_points_attributed_to_that_university.to_s.rjust(5)+' ECTS </span>'
_ << ' '+colourized_percentage_value+N
}
return _
end
|
#run ⇒ Object
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 293
def run
dataset = []
@use_these_curricula_files.each {|this_file|
if File.exist? this_file
set_title(
return_title_from_this_curriculum_file(
this_file
)
)
end
dataset << read_dataset_from_a_curriculum_file(this_file)
}
dataset.flatten!
dataset.reject! {|line| line.start_with? '=====' }
dataset.each {|name_of_the_lecture|
name_of_the_lecture.squeeze!(' ')
name_of_the_lecture.strip! if @dataset_from_the_file_lecture_information.has_key? name_of_the_lecture
pointer = @dataset_from_the_file_lecture_information[name_of_the_lecture]
n_ects = pointer[:ects]
@total_ects += n_ects
this_university = pointer[:university]
@hash_tracking_the_universities[this_university] += n_ects
else
opnn; e "Not registered: #{sfancy(name_of_the_lecture)}"
end
}
report_the_percentages
end
|
#set_commandline_arguments(i = DEFAULT_CURRICULUM) ⇒ Object
#
set_commandline_arguments
#
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 59
def set_commandline_arguments(i = DEFAULT_CURRICULUM)
if i.is_a?(Array) and i.empty?
i << DEFAULT_CURRICULUM end
unless i.is_a? Array
i = [i]
end
i.map! {|line|
if line.is_a?(String) and line.start_with?(':')
line = line.dup if line.frozen?
line[0,1] = ''
end
line
}
i = reject_entries_that_begin_with_two_hyphens_and_pass_them_into_menu(i)
if i.is_a?(Array) and i.empty?
i << DEFAULT_CURRICULUM end
@commandline_arguments = i
end
|
#set_title_of_the_curriculum(i = nil) ⇒ Object
Also known as:
set_title
#
set_title_of_the_curriculum
#
159
160
161
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 159
def set_title_of_the_curriculum(i = nil)
@title_of_the_curriculum = i
end
|
#set_use_this_curriculum_file(i = :bvektorx) ⇒ Object
#
set_use_this_curriculum_file
#
142
143
144
145
146
147
148
149
150
151
152
153
154
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 142
def set_use_this_curriculum_file(
i = :bvektorx
)
if i.is_a? Symbol
i = return_file_for_this_curriculum(i)
end
unless i.is_a? Array
i = [i]
end
i.flatten!
i.compact! @use_these_curricula_files = i
end
|
#sorted_hash? ⇒ Boolean
#
sorted_hash?
This method will return a sorted Hash - sorted by ECTS points.
#
178
179
180
181
182
183
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 178
def sorted_hash?
sorted_by_n_ects_points_first = @hash_tracking_the_universities.sort_by {|a, b|
b
}.reverse
sorted_by_n_ects_points_first
end
|
#total? ⇒ Boolean
#
total?
This method is guaranteed to always return the result as a Float.
#
190
191
192
|
# File 'lib/studium/utility_scripts/lectures_attributed_to_universities.rb', line 190
def total?
@total_ects.to_f
end
|