Class: Studium::CleanUpLectureDate

Inherits:
Base
  • Object
show all
Defined in:
lib/studium/utility_scripts/clean_up_lecture_date.rb

Overview

Studium::CleanUpLectureDate

Constant Summary collapse

DEFAULT_FILE =
#

DEFAULT_FILE

#
"#{Studium.log_dir?}TEST_LECTURE.md"

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

Studium::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?, #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) ⇒ CleanUpLectureDate

#

initialize

#


32
33
34
35
36
37
38
39
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 32

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

Class Method Details

.[](i = '') ⇒ Object

#

Studium::CleanUpLectureDate[]

#


143
144
145
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 143

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

Instance Method Details

#clean_inputObject

#

clean_input

#


86
87
88
89
90
91
92
93
94
95
96
97
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
128
129
130
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 86

def clean_input
  splitted = input?.split(N)
  splitted.reject! {|entry| entry.empty? }
  splitted.map! {|entry|
    entry.delete!('(')
    entry.delete!(')')
    entry.tr!(T,' ')
    entry.squeeze!(' ')
    if entry.include? ' Abhaltung fix Ja'
      entry.gsub!(/ Abhaltung fix Ja/,'')
    end
    regex_for_date = /(\d{2}.\d{2}.\d{4})/
    if entry =~ regex_for_date
      entry.gsub!(regex_for_date, '\\1, ')
    end
    entry.squeeze!(' ')
    # ===================================================================== #
    # See here:  http://rubular.com/r/3hMaVzC0Bt
    # ===================================================================== #
    regex_for_current_time = /((\d{1,2}:\d{1,3}) (\d{1,2}:\d{1,2}))/
    if entry =~ regex_for_current_time
      entry.gsub!(regex_for_current_time, '\\2-\\3,')
    end
    if entry.include? '|'
      entry.gsub!(/\| /,'') 
    end
    if weekdays?.include? entry
      entry << ': '
    end
    if entry.include? 'Standardgruppe'
      entry = nil
    end
    if entry.include? 'Abhaltung abgesagt Ja'
      entry = nil
    elsif entry.include? 'Abhaltung fix'
      entry.gsub!(/Abhaltung fix/,'')
    elsif entry.include? 'AbhaltungfixJa'
      entry.gsub!(/AbhaltungfixJa/,'')
    end if entry
    entry.prepend ' ' if entry # This is better for padding.
    entry
  }
  splitted.compact! # Get rid of nil entries.
  @input = splitted.join(N)
end

#input?Boolean

#

input?

#

Returns:

  • (Boolean)


65
66
67
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 65

def input?
  @input
end

#output_resultObject

#

output_result

#


72
73
74
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 72

def output_result
  e @input
end

#resetObject

#

reset (reset tag)

#


44
45
46
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 44

def reset
  super()
end

#runObject

#

run (run tag)

#


135
136
137
138
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 135

def run
  clean_input
  output_result
end

#set_input(i = DEFAULT_FILE) ⇒ Object

#

set_input

#


51
52
53
54
55
56
57
58
59
60
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 51

def set_input(
    i = DEFAULT_FILE
  )
  i = i.first if i.is_a? Array
  i = i.to_s.dup
  if i.empty? and File.exist?(DEFAULT_FILE)
    i = File.read(DEFAULT_FILE) # Substitute the file in this case then.
  end
  @input = i
end

#weekdays?Boolean

#

weekdays?

#

Returns:

  • (Boolean)


79
80
81
# File 'lib/studium/utility_scripts/clean_up_lecture_date.rb', line 79

def weekdays?
  %w( Mo Di Mi Do Fr Sa So )
end