Class: Studium::StudiumSkeleton
- Inherits:
-
Base
- Object
- Base
- Studium::StudiumSkeleton
show all
- Defined in:
- lib/studium/utility_scripts/studium_skeleton.rb
Overview
Constant Summary
collapse
- NAMESPACE =
inspect
- SPACER =
'# =========================================================================== #'
- ARRAY_GENERATE_THESE_FILES =
#
Studium::StudiumSkeleton::ARRAY_GENERATE_THESE_FILES
The files listed in the following Array will be auto-generated, unless they already exist.
#
%w(
INHALT
LINKS
LITERATUR
ORT
PRÜFUNGSFRAGEN
SLOGANS
TERMINE
).map {|entry| entry+'.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::N_CHARACTERS_PER_LINE, Base::UNICODE_RIGHT_ARROW
Constants included
from Colours
Colours::COLOURS
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) ⇒ StudiumSkeleton
53
54
55
56
57
58
59
60
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 53
def initialize(
i = nil,
run_already = true
)
reset
set_commandline_arguments(i)
run if run_already
end
|
Instance Method Details
#autogenerate_default_files ⇒ Object
#
autogenerate_default_files
As of May 2014, we will no longer generate a file if it already exists.
#
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
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 87
def autogenerate_default_files
ARRAY_GENERATE_THESE_FILES.each {|this_file|
if File.exist? this_file
warn_user_that_this_file_already_exists(this_file)
else
opnn; e 'Generating file '+sfile(this_file)+' next.'
what = ''.dup
if this_file.include?('LINK') and return_pwd.include?('UNI_WIEN')
what << SPACER+N
what << '# Offizieller Webauftritt'+N
what << SPACER+N
number = File.basename(Dir.pwd).split('_').first.to_s
what << 'https://online.univie.ac.at/vlvz?&lvnr='+number+'&semester=S2020'+N
end
write_what_into(what, this_file) case this_file when 'LINKS.md'
cwd = return_pwd
if cwd.include?('UNI_WIEN/') or
cwd.include?('BOKU_WIEN/') or
cwd.include?('TU_WIEN/')
_ = File.basename(cwd)
target_key_in_the_file_lecture_information = _.tr('_',' ')
if @dataset.has_key? target_key_in_the_file_lecture_information
homepage = return_homepage_of_this_key(target_key_in_the_file_lecture_information)
if homepage.is_a? Array
homepage = homepage.first
end
File.delete(this_file)
append_what_into(SPACER+N, this_file)
append_what_into('# === Offizieller Vorlesungsauftritt:'+N, this_file)
append_what_into(SPACER+N, this_file)
append_what_into(
homepage+N+N, this_file
)
end
end
end
if open_files_in_editor?
verbose_open_this_file_in_editor(this_file)
end
end
}
end
|
#check_on_the_given_commandline_arguments ⇒ Object
#
check_on_the_given_commandline_arguments
#
196
197
198
199
200
201
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 196
def check_on_the_given_commandline_arguments
case @commandline_arguments
when /^-?-?open$/i,'ALL'
@open_files_in_editor = true
end
end
|
#open_files_in_editor? ⇒ Boolean
#
open_files_in_editor?
#
158
159
160
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 158
def open_files_in_editor?
@open_files_in_editor
end
|
#reset ⇒ Object
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 65
def reset
super()
@namespace = NAMESPACE
@dataset = return_dataset_from_file_lecture_information
@open_files_in_editor = false
end
|
#return_homepage_of_this_key(target_key) ⇒ Object
#
return_homepage_of_this_key
#
165
166
167
168
169
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 165
def return_homepage_of_this_key(target_key)
pointer = @dataset[target_key]
homepage = pointer[:homepage]
homepage
end
|
#run ⇒ Object
225
226
227
228
229
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 225
def run
check_on_the_given_commandline_arguments
autogenerate_default_files
sanitize_autogenerated_files
end
|
#sanitize_autogenerated_files ⇒ Object
#
sanitize_autogenerated_files
#
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 174
def sanitize_autogenerated_files
_ = 'INHALT.md' name = File.basename(return_pwd)
name.tr!('_',' ')
if (Time.now - File.ctime(_)) < 5 if File.exist? _
append_what_into('=== LV-Nummer '+name+N+N, _)
else
opnn; e 'No file at '+sfile(_)+' exists. Thus, we can not append.'
end
else
warn_user_that_this_file_already_exists(_)
end
end
|
#verbose_open_this_file_in_editor(this_file) ⇒ Object
#
verbose_open_this_file_in_editor
#
215
216
217
218
219
220
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 215
def verbose_open_this_file_in_editor(this_file)
opnn; e 'Also opening the file '+sfile(File.basename(this_file))+
' in the editor next.'
_ = "#{USE_THIS_EDITOR} #{this_file}"
system _ end
|
#warn_user_that_this_file_already_exists(this_file) ⇒ Object
#
warn_user_that_this_file_already_exists
#
206
207
208
209
210
|
# File 'lib/studium/utility_scripts/studium_skeleton.rb', line 206
def warn_user_that_this_file_already_exists(this_file)
opnn; e 'A file called '+sfile(this_file)+' already exists.'
opnn; ewarn 'We will not overwrite this ^^^ already existing file.'
verbose_open_this_file_in_editor(this_file) if open_files_in_editor?
end
|