Class: Studium::ShowAllPassedExamsOfThisUniversity

Inherits:
Base
  • Object
show all
Defined in:
lib/studium/exams/show_all_passed_exams_of_this_university.rb

Overview

Studium::ShowAllExamsOfThisUniversity

Constant Summary collapse

NAMESPACE =
#

NAMESPACE

#
inspect

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

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(i = nil, run_already = true) ⇒ ShowAllPassedExamsOfThisUniversity

#

initialize

#


37
38
39
40
41
42
43
44
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 37

def initialize(
    i           = nil,
    run_already = true
  )
  reset
  set_input(i)
  run if run_already
end

Class Method Details

.[](i = '') ⇒ Object

#

[Studium::ShowAllPassedExamsOfThisUniversity]

#


251
252
253
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 251

def self.[](i = '')
  new(i)
end

Instance Method Details

#colourize_ects_points(i) ⇒ Object

#

colourize_ects_points

#


244
245
246
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 244

def colourize_ects_points(i)
  slategray(i)
end

#colourize_name_of_the_lecture(i) ⇒ Object

#

colourize_name_of_the_lecture

#


237
238
239
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 237

def colourize_name_of_the_lecture(i)
  mediumaquamarine(i)
end

#dataset?Boolean

#

dataset?

#

Returns:

  • (Boolean)


88
89
90
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 88

def dataset?
  @dataset
end

#display_the_datasetObject

#

display_the_dataset

This method will show the passed exams.

#


193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 193

def display_the_dataset
  total_ects_points = 0
  dataset?.each_with_index {|line, index|
    index += 1
    # ===================================================================== #
    # Each individual line entry will look like this:
    #   "25.09.2015 | 3.0 | 4.0 | 2 |   BOKU  |   B  | Grundlagen der Biochemie"
    # ===================================================================== #
    splitted = line.split('|').map(&:strip)
    the_date = splitted.first
    colourized_date = orange('(Date: '+the_date+')')
    name_of_the_lecture = splitted.last
    n_ects_points = splitted[2]
    index = (index.to_s.rjust(2)+')').ljust(4)
    e simp(index)+' '+
      colourize_ects_points(n_ects_points.to_s.rjust(4)+' ECTS points')+ # The n ECTS points.
      ', '+colourize_name_of_the_lecture(name_of_the_lecture.ljust(72))+
      colourized_date
    total_ects_points += n_ects_points.to_f
  }
  e
  e "In total: #{colourize_ects_points(total_ects_points.to_s+' ECTS points')}."
  e
  report_which_file_we_used_for_the_dataset
end

#initialize_datasetObject

#

initialize_dataset

#


67
68
69
70
71
72
73
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 67

def initialize_dataset
  @dataset = File.readlines(main_file?).map(&:chomp).reject {|inner_entry|
    inner_entry.start_with? '#'
  }.select {|entry|
    entry.count('|') >= 6
  }
end

#input?Boolean

#

input?

#

Returns:

  • (Boolean)


95
96
97
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 95

def input?
  @input
end

#main_file?Boolean

#

main_file?

#

Returns:

  • (Boolean)


230
231
232
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 230

def main_file?
  FILE_PASSED_EXAMS_PER_MONTH
end

#notify_the_user_what_we_will_doObject

#

notify_the_user_what_we_will_do

#


102
103
104
105
106
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 102

def notify_the_user_what_we_will_do
  opnn; e "We will next show all exams passed at the "\
          "university #{simp(input?)}."
  e
end

#report_which_file_we_used_for_the_datasetObject

#

report_which_file_we_used_for_the_dataset

#


222
223
224
225
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 222

def report_which_file_we_used_for_the_dataset
  e 'We read in from the file'
  e '  `'+sfile(main_file?)+'`.'
end

#resetObject

#

reset (reset tag)

#


49
50
51
52
53
54
55
56
57
58
59
60
61
62
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 49

def reset
  super()
  # ======================================================================= #
  # @dataset is the raw dataset.
  # ======================================================================= #
  # File is:
  #   /home/x/STUDIUM/YAML/passed_exams_per_month.csv
  # ======================================================================= #
  initialize_dataset
  # ======================================================================= #
  # === @namespace
  # ======================================================================= #
  @namespace = NAMESPACE
end

#runObject

#

run (run tag)

You can control which university is to be displayed.

Example:

show_university --meduni
#


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
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 139

def run
  notify_the_user_what_we_will_do
  _ = input?.downcase
  case _ # case tag
  # ======================================================================= #
  # === suniversity --help
  # ======================================================================= #
  when /help/
    show_help(:then_exit)
  # ======================================================================= #
  # === suniversity vetmed
  # ======================================================================= #
  when /vetmed/
    @dataset.select! {|entry|
      entry.include? '|  Vetmed |'
    }
  # ======================================================================= #
  # === suniversity boku
  # ======================================================================= #
  when /boku/,'default'
    @dataset.select! {|entry|
      entry.include? '|   BOKU  |'
    }
  # ======================================================================= #
  # === suniversity meduni
  # ======================================================================= #
  when 'meduni',/med/
    @dataset.select! {|entry|
      entry.include? '|  Meduni |'
    }
  # ======================================================================= #
  # === suniversity tuwien
  # ======================================================================= #
  when /^-?-?TU/i,
       /^-?-?tu(_|-)?wien$/i
    @dataset.select! {|entry|
      entry.include? '|    TU   |'
    }
  # ======================================================================= #
  # === suniversity uniwien
  # ======================================================================= #
  when 'uni','university',/uni_?wien/
    @dataset.select! {|entry|
      entry.include? '| UniWien |'
    }
  end
  display_the_dataset
end

#set_input(i = '') ⇒ Object

#

set_input

#


78
79
80
81
82
83
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 78

def set_input(i = '')
  i = i.first if i.is_a? Array
  i = i.to_s.dup.delete('-') # We don't need any '-' characters.
  i = 'alle Universitäten' if i.empty?
  @input = i
end

#show_help(also_exit = :then_exit) ⇒ Object

#

show_help (help tag)

Invoke this method like this:

suniversity --help
#


116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/studium/exams/show_all_passed_exams_of_this_university.rb', line 116

def show_help(also_exit = :then_exit)
  also_exit = true if also_exit.is_a? Symbol # Shortcut.
  e 'These four (5) options are available right now:'
  e
  e '  --boku'
  e '  --meduni'
  e '  --tuwien'
  e '  --uniwien'
  e '  --vetmed'
  e
  exit if also_exit
end