studium 0.10.1

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of studium might be problematic. Click here for more details.

Files changed (882) hide show
  1. checksums.yaml +7 -0
  2. data/README.md +1982 -0
  3. data/bin/ask_exam_question +7 -0
  4. data/bin/check_description_of_these_lectures +7 -0
  5. data/bin/curriculum_module_displayer +7 -0
  6. data/bin/d10 +7 -0
  7. data/bin/d100 +7 -0
  8. data/bin/d15 +7 -0
  9. data/bin/d20 +7 -0
  10. data/bin/d25 +7 -0
  11. data/bin/d3 +7 -0
  12. data/bin/d30 +7 -0
  13. data/bin/d5 +7 -0
  14. data/bin/determine_curricula +7 -0
  15. data/bin/exam_registration_at +7 -0
  16. data/bin/exam_statistics +7 -0
  17. data/bin/exams_per_month +9 -0
  18. data/bin/finished_exams_at_this_university +7 -0
  19. data/bin/flashcards +7 -0
  20. data/bin/mandatory_continuous_assessment +7 -0
  21. data/bin/mandatory_upcoming_courses +7 -0
  22. data/bin/n_exam_questions_already_answered +16 -0
  23. data/bin/nquestions +7 -0
  24. data/bin/nsolved +7 -0
  25. data/bin/open_last_exam_question_asked_file +7 -0
  26. data/bin/passed_pr/303/274fungsimmanente_courses +7 -0
  27. data/bin/return_n_ects_from_this_file +7 -0
  28. data/bin/show_lectures_on_the_commandline +7 -0
  29. data/bin/show_themes +7 -0
  30. data/bin/solved +9 -0
  31. data/bin/solved_ects +7 -0
  32. data/bin/studienkennzahl +7 -0
  33. data/bin/studium +7 -0
  34. data/bin/studium_skeleton +7 -0
  35. data/bin/ufind +7 -0
  36. data/bin/upcoming_exams +7 -0
  37. data/bin/week_parser +7 -0
  38. data/doc/ECTS_CONSIDERATIONS.md +81 -0
  39. data/doc/HOW_TO_ADAPT_THIS_PROJECT.md +43 -0
  40. data/doc/HOW_TO_DETERMINE_WHICH_PART_IS_THE_QUESTION_AND_WHICH_PART_IS_THE_ANSWER.md +47 -0
  41. data/doc/README.gen +1965 -0
  42. data/doc/TODO_FOR_STUDIUM_GEM.md +113 -0
  43. data/doc/deprecated_components.md +24 -0
  44. data/doc/documentation_for_the_file_lecture_information.md +294 -0
  45. data/doc/elegant_colours.md +20 -0
  46. data/img/STUDIES.png +0 -0
  47. data/lib/studium.rb +5 -0
  48. data/lib/studium/autoinclude.rb +7 -0
  49. data/lib/studium/base/base.rb +84 -0
  50. data/lib/studium/base/cliner.rb +58 -0
  51. data/lib/studium/base/colours.rb +307 -0
  52. data/lib/studium/base/commandline_arguments.rb +64 -0
  53. data/lib/studium/base/constants.rb +34 -0
  54. data/lib/studium/base/curriculum.rb +329 -0
  55. data/lib/studium/base/directory_to_the_exam_topics.rb +23 -0
  56. data/lib/studium/base/editor.rb +28 -0
  57. data/lib/studium/base/encoding.rb +36 -0
  58. data/lib/studium/base/esystem.rb +23 -0
  59. data/lib/studium/base/minimal_prototype.rb +66 -0
  60. data/lib/studium/base/misc.rb +854 -0
  61. data/lib/studium/base/mode.rb +92 -0
  62. data/lib/studium/base/obtain.rb +145 -0
  63. data/lib/studium/base/opnn.rb +46 -0
  64. data/lib/studium/base/prototype.rb +92 -0
  65. data/lib/studium/base/readlines.rb +55 -0
  66. data/lib/studium/base/replace.rb +110 -0
  67. data/lib/studium/base/reset.rb +77 -0
  68. data/lib/studium/base/run.rb +17 -0
  69. data/lib/studium/base/src_dir_at_home.rb +20 -0
  70. data/lib/studium/base/time.rb +634 -0
  71. data/lib/studium/base/unicode.rb +95 -0
  72. data/lib/studium/base/word_wrap.rb +58 -0
  73. data/lib/studium/boku/README.md +4 -0
  74. data/lib/studium/boku/boku_biotechnology_all_master_lectures.rb +142 -0
  75. data/lib/studium/boku/boku_/303/266ffnungszeiten.rb +29 -0
  76. data/lib/studium/boku/show_three_pillars_of_these_lectures.rb +96 -0
  77. data/lib/studium/boku/three_pillars.rb +232 -0
  78. data/lib/studium/check_and_sanitize/README.md +11 -0
  79. data/lib/studium/check_and_sanitize/check_curriculum_for_correct_separation_of_bachelor_and_master.rb +149 -0
  80. data/lib/studium/check_and_sanitize/check_for_all_exam_topics_being_registered.rb +107 -0
  81. data/lib/studium/check_and_sanitize/check_for_existing_description_of_this_lecture.rb +197 -0
  82. data/lib/studium/check_and_sanitize/check_the_lecture_information_file.rb +171 -0
  83. data/lib/studium/check_and_sanitize/missing_priority_entry.rb +44 -0
  84. data/lib/studium/check_and_sanitize/sanitize_this_string_containing_the_lva_dates.rb +79 -0
  85. data/lib/studium/colours/colours.rb +570 -0
  86. data/lib/studium/colours/sfancy.rb +40 -0
  87. data/lib/studium/colours/sfile.rb +35 -0
  88. data/lib/studium/colours/simp.rb +38 -0
  89. data/lib/studium/colours/use_this_colour_for_exam_questions_and_exam_answers.rb +76 -0
  90. data/lib/studium/commandline/commandline.rb +25 -0
  91. data/lib/studium/commandline/constants.rb +16 -0
  92. data/lib/studium/commandline/help.rb +152 -0
  93. data/lib/studium/commandline/initialize.rb +27 -0
  94. data/lib/studium/commandline/menu.rb +760 -0
  95. data/lib/studium/commandline/misc.rb +707 -0
  96. data/lib/studium/commandline/reset.rb +24 -0
  97. data/lib/studium/commandline/run.rb +20 -0
  98. data/lib/studium/constants/boku_wien.rb +52 -0
  99. data/lib/studium/constants/constants.rb +25 -0
  100. data/lib/studium/constants/delay.rb +28 -0
  101. data/lib/studium/constants/editor.rb +28 -0
  102. data/lib/studium/constants/exam_topics.rb +183 -0
  103. data/lib/studium/constants/file_constants.rb +875 -0
  104. data/lib/studium/constants/image_constants.rb +216 -0
  105. data/lib/studium/constants/last_question_asked.rb +38 -0
  106. data/lib/studium/constants/lecture_types_that_are_mandatory_continuous_assessment.rb +47 -0
  107. data/lib/studium/constants/misc.rb +163 -0
  108. data/lib/studium/constants/namespace.rb +14 -0
  109. data/lib/studium/constants/newline.rb +14 -0
  110. data/lib/studium/constants/regexes.rb +35 -0
  111. data/lib/studium/constants/return_file_for_this_curriculum.rb +411 -0
  112. data/lib/studium/constants/roebe.rb +173 -0
  113. data/lib/studium/constants/time.rb +52 -0
  114. data/lib/studium/constants/tu_wien.rb +39 -0
  115. data/lib/studium/constants/uni_wien.rb +24 -0
  116. data/lib/studium/constants/unicode.rb +27 -0
  117. data/lib/studium/constants/week.rb +138 -0
  118. data/lib/studium/constants/www_constants.rb +23 -0
  119. data/lib/studium/curricula/curriculum.rb +199 -0
  120. data/lib/studium/curricula/curriculum_as_string.rb +279 -0
  121. data/lib/studium/curricula/curriculum_module_displayer/constants.rb +38 -0
  122. data/lib/studium/curricula/curriculum_module_displayer/curriculum_module_displayer.rb +417 -0
  123. data/lib/studium/curricula/curriculum_module_displayer/initialize.rb +25 -0
  124. data/lib/studium/curricula/curriculum_module_displayer/menu.rb +45 -0
  125. data/lib/studium/curricula/curriculum_module_displayer/reset.rb +77 -0
  126. data/lib/studium/curricula/curriculum_module_displayer/run.rb +20 -0
  127. data/lib/studium/curricula/curriculum_module_displayer/set_use_this_curriculum.rb +93 -0
  128. data/lib/studium/curricula/curriculum_module_displayer/show_and_report.rb +190 -0
  129. data/lib/studium/curricula/determine_curricula/constants.rb +16 -0
  130. data/lib/studium/curricula/determine_curricula/determine_curricula.rb +36 -0
  131. data/lib/studium/curricula/determine_curricula/help.rb +39 -0
  132. data/lib/studium/curricula/determine_curricula/initialize.rb +48 -0
  133. data/lib/studium/curricula/determine_curricula/menu.rb +138 -0
  134. data/lib/studium/curricula/determine_curricula/misc.rb +402 -0
  135. data/lib/studium/curricula/determine_curricula/report.rb +131 -0
  136. data/lib/studium/curricula/determine_curricula/reset.rb +62 -0
  137. data/lib/studium/curricula/determine_curricula/run.rb +19 -0
  138. data/lib/studium/curricula/determine_elective_courses_in_this_curriculum.rb +112 -0
  139. data/lib/studium/curricula/display_bachelor_curricula.rb +89 -0
  140. data/lib/studium/curricula/mitteilungsbl/303/244tter.rb +336 -0
  141. data/lib/studium/curricula/modules/display_on_the_commandline.rb +316 -0
  142. data/lib/studium/curricula/modules/return_n_ects_in_this_module.rb +74 -0
  143. data/lib/studium/curricula/n_percent_solved_in_this_curriculum.rb +75 -0
  144. data/lib/studium/curricula/random_curriculum_creator.rb +171 -0
  145. data/lib/studium/curricula/show_lectures_of_this_curriculum.rb +114 -0
  146. data/lib/studium/curricula/show_lectures_of_this_curriculum_id/constants.rb +16 -0
  147. data/lib/studium/curricula/show_lectures_of_this_curriculum_id/initialize.rb +27 -0
  148. data/lib/studium/curricula/show_lectures_of_this_curriculum_id/menu.rb +35 -0
  149. data/lib/studium/curricula/show_lectures_of_this_curriculum_id/misc.rb +242 -0
  150. data/lib/studium/curricula/show_lectures_of_this_curriculum_id/report.rb +140 -0
  151. data/lib/studium/curricula/show_lectures_of_this_curriculum_id/reset.rb +67 -0
  152. data/lib/studium/curricula/show_lectures_of_this_curriculum_id/show_lectures_of_this_curriculum_id.rb +37 -0
  153. data/lib/studium/curricula/show_solved_percentage_among_the_registered_curricula.rb +87 -0
  154. data/lib/studium/ects/boku_ects_splitter.rb +127 -0
  155. data/lib/studium/ects/ects_parser.rb +179 -0
  156. data/lib/studium/ects/ects_per_university.rb +140 -0
  157. data/lib/studium/ects/ects_scanner.rb +141 -0
  158. data/lib/studium/ects/ects_to_university_parser.rb +148 -0
  159. data/lib/studium/ects/erledigt.rb +131 -0
  160. data/lib/studium/ects/last_entry_is_curriculum.rb +147 -0
  161. data/lib/studium/ects/n_ects_in_these_lectures.rb +185 -0
  162. data/lib/studium/ects/n_ects_points_in_mandatory_presence_courses.rb +50 -0
  163. data/lib/studium/ects/noch_zu_absolvieren.rb +172 -0
  164. data/lib/studium/ects/return_n_ects_from_this_file.rb +58 -0
  165. data/lib/studium/ects/return_n_ects_from_this_url.rb +202 -0
  166. data/lib/studium/ects/search_for_n_ects.rb +540 -0
  167. data/lib/studium/ects/show_completed_ects_in_all_curricula.rb +210 -0
  168. data/lib/studium/ects/show_passed_credits_per_curriculum.rb +254 -0
  169. data/lib/studium/ects/simple_total_ects_points.rb +143 -0
  170. data/lib/studium/ects/solved_ects/constants.rb +24 -0
  171. data/lib/studium/ects/solved_ects/reset.rb +54 -0
  172. data/lib/studium/ects/solved_ects/solved_ects.rb +325 -0
  173. data/lib/studium/ects/solved_ects_per_university/reset.rb +25 -0
  174. data/lib/studium/ects/solved_ects_per_university/solved_ects_per_university.rb +106 -0
  175. data/lib/studium/ects/still_missing.rb +133 -0
  176. data/lib/studium/ects/sum_of_ects.rb +150 -0
  177. data/lib/studium/encoding/encoding.rb +150 -0
  178. data/lib/studium/exam_topics/RNAi_siRNA_and_miRNA +79 -0
  179. data/lib/studium/exam_topics/abfall_als_ressource +86 -0
  180. data/lib/studium/exam_topics/advanced_biochemistry +762 -0
  181. data/lib/studium/exam_topics/advanced_biotechnology +192 -0
  182. data/lib/studium/exam_topics/advanced_cellbiology +25 -0
  183. data/lib/studium/exam_topics/advanced_chemistry +453 -0
  184. data/lib/studium/exam_topics/advanced_microbiology +44 -0
  185. data/lib/studium/exam_topics/advanced_topics_in_plant_sciences +51 -0
  186. data/lib/studium/exam_topics/advanced_virology +52 -0
  187. data/lib/studium/exam_topics/ageing +101 -0
  188. data/lib/studium/exam_topics/agrar_ecology +61 -0
  189. data/lib/studium/exam_topics/agrarmarkt +70 -0
  190. data/lib/studium/exam_topics/agrarphysik +35 -0
  191. data/lib/studium/exam_topics/alcohols +29 -0
  192. data/lib/studium/exam_topics/algorithms +49 -0
  193. data/lib/studium/exam_topics/allergie +73 -0
  194. data/lib/studium/exam_topics/allgemeine_genetik +1006 -0
  195. data/lib/studium/exam_topics/allgemeine_mikrobiologie +855 -0
  196. data/lib/studium/exam_topics/aminoacids +417 -0
  197. data/lib/studium/exam_topics/analytische_chemie_1 +131 -0
  198. data/lib/studium/exam_topics/analytische_chemie_2 +31 -0
  199. data/lib/studium/exam_topics/anatomie +248 -0
  200. data/lib/studium/exam_topics/anorganische_chemie +289 -0
  201. data/lib/studium/exam_topics/anthropologie +115 -0
  202. data/lib/studium/exam_topics/antibodies_and_antigens +747 -0
  203. data/lib/studium/exam_topics/apoptosis +35 -0
  204. data/lib/studium/exam_topics/archaea +41 -0
  205. data/lib/studium/exam_topics/architecture +8 -0
  206. data/lib/studium/exam_topics/artificial_intelligence +81 -0
  207. data/lib/studium/exam_topics/audio +10 -0
  208. data/lib/studium/exam_topics/bacteriophages +224 -0
  209. data/lib/studium/exam_topics/basic_biochemistry +1008 -0
  210. data/lib/studium/exam_topics/basic_biotechnology +1011 -0
  211. data/lib/studium/exam_topics/basic_chemistry +1007 -0
  212. data/lib/studium/exam_topics/basic_virology +955 -0
  213. data/lib/studium/exam_topics/bauwesen +6 -0
  214. data/lib/studium/exam_topics/betriebssysteme +125 -0
  215. data/lib/studium/exam_topics/betriebswirtschaftslehre +29 -0
  216. data/lib/studium/exam_topics/bioanalytik_und_biosensoren +381 -0
  217. data/lib/studium/exam_topics/biochips +78 -0
  218. data/lib/studium/exam_topics/bioelektrochemie +56 -0
  219. data/lib/studium/exam_topics/biofilms +22 -0
  220. data/lib/studium/exam_topics/bioinformatics +475 -0
  221. data/lib/studium/exam_topics/biological_therapeutics +152 -0
  222. data/lib/studium/exam_topics/biologie +134 -0
  223. data/lib/studium/exam_topics/biomarkers +106 -0
  224. data/lib/studium/exam_topics/biomaterials +46 -0
  225. data/lib/studium/exam_topics/biomembranes +6 -0
  226. data/lib/studium/exam_topics/bionik +65 -0
  227. data/lib/studium/exam_topics/biophysik +34 -0
  228. data/lib/studium/exam_topics/biopolymers +10 -0
  229. data/lib/studium/exam_topics/bioprozesstechnik +139 -0
  230. data/lib/studium/exam_topics/bioressourcenmanagement +78 -0
  231. data/lib/studium/exam_topics/bodenkunde +345 -0
  232. data/lib/studium/exam_topics/bodenmikrobiologie +40 -0
  233. data/lib/studium/exam_topics/cancerbiology +441 -0
  234. data/lib/studium/exam_topics/cell_cultures +154 -0
  235. data/lib/studium/exam_topics/cellbiology +962 -0
  236. data/lib/studium/exam_topics/cellular_transport_and_protein_secretion +27 -0
  237. data/lib/studium/exam_topics/chemische_technologie_anorganischer_stoffe +208 -0
  238. data/lib/studium/exam_topics/chemisches_labor +59 -0
  239. data/lib/studium/exam_topics/chemotaxis_and_motility_in_prokaryotes +74 -0
  240. data/lib/studium/exam_topics/citric_acid_cycle +70 -0
  241. data/lib/studium/exam_topics/clinical_microbiology +486 -0
  242. data/lib/studium/exam_topics/computer_graphics +5 -0
  243. data/lib/studium/exam_topics/computer_science +269 -0
  244. data/lib/studium/exam_topics/crispr +25 -0
  245. data/lib/studium/exam_topics/cyanobacteria +37 -0
  246. data/lib/studium/exam_topics/cytogenetics_and_chromosome_biology +506 -0
  247. data/lib/studium/exam_topics/databases_and_sql +105 -0
  248. data/lib/studium/exam_topics/dna_mutation_and_dna_repair +33 -0
  249. data/lib/studium/exam_topics/dna_replication +53 -0
  250. data/lib/studium/exam_topics/ecogenetics +27 -0
  251. data/lib/studium/exam_topics/ecological_agriculture +12 -0
  252. data/lib/studium/exam_topics/ecology +313 -0
  253. data/lib/studium/exam_topics/economy +210 -0
  254. data/lib/studium/exam_topics/elektronenmikroskopie +353 -0
  255. data/lib/studium/exam_topics/elektrophorese +88 -0
  256. data/lib/studium/exam_topics/elektrotechnik +8 -0
  257. data/lib/studium/exam_topics/elisa +54 -0
  258. data/lib/studium/exam_topics/embryologie_und_entwicklung +541 -0
  259. data/lib/studium/exam_topics/endospores_and_spores +92 -0
  260. data/lib/studium/exam_topics/enzymes_and_cofactors +327 -0
  261. data/lib/studium/exam_topics/epigenetik +177 -0
  262. data/lib/studium/exam_topics/ethik +125 -0
  263. data/lib/studium/exam_topics/evolution_and_evolutionary_genetics +323 -0
  264. data/lib/studium/exam_topics/excel +7 -0
  265. data/lib/studium/exam_topics/fish +19 -0
  266. data/lib/studium/exam_topics/fluorescence_microscopy +7 -0
  267. data/lib/studium/exam_topics/food_microbiology_and_food_biotechnology +17 -0
  268. data/lib/studium/exam_topics/forensik +11 -0
  269. data/lib/studium/exam_topics/forstwirtschaft +52 -0
  270. data/lib/studium/exam_topics/fortgeschrittene_genetik +429 -0
  271. data/lib/studium/exam_topics/fortgeschrittene_gentechnik +189 -0
  272. data/lib/studium/exam_topics/fortgeschrittene_physik +6 -0
  273. data/lib/studium/exam_topics/fungi +78 -0
  274. data/lib/studium/exam_topics/genetische_krankheiten +150 -0
  275. data/lib/studium/exam_topics/genexpression +1008 -0
  276. data/lib/studium/exam_topics/genomics_and_metagenomics +205 -0
  277. data/lib/studium/exam_topics/gentechnik_und_praktische_biochemie +863 -0
  278. data/lib/studium/exam_topics/geochemistry +66 -0
  279. data/lib/studium/exam_topics/geography +5 -0
  280. data/lib/studium/exam_topics/geologie_und_mineralogie +610 -0
  281. data/lib/studium/exam_topics/geschichte +94 -0
  282. data/lib/studium/exam_topics/gluconeogenesis +34 -0
  283. data/lib/studium/exam_topics/glycolysis +95 -0
  284. data/lib/studium/exam_topics/glykomik +42 -0
  285. data/lib/studium/exam_topics/glyoxylatzyklus +23 -0
  286. data/lib/studium/exam_topics/grassland_cultivation +32 -0
  287. data/lib/studium/exam_topics/hormone +122 -0
  288. data/lib/studium/exam_topics/html +7 -0
  289. data/lib/studium/exam_topics/human_ecology +8 -0
  290. data/lib/studium/exam_topics/hygiene +191 -0
  291. data/lib/studium/exam_topics/imaging_and_microscopy +224 -0
  292. data/lib/studium/exam_topics/immunanalytik +88 -0
  293. data/lib/studium/exam_topics/immunologie +888 -0
  294. data/lib/studium/exam_topics/informatik +95 -0
  295. data/lib/studium/exam_topics/innate_immunity +20 -0
  296. data/lib/studium/exam_topics/insekten +30 -0
  297. data/lib/studium/exam_topics/insulin_and_diabetes +55 -0
  298. data/lib/studium/exam_topics/java +440 -0
  299. data/lib/studium/exam_topics/javascript +10 -0
  300. data/lib/studium/exam_topics/klima +6 -0
  301. data/lib/studium/exam_topics/landtechnik +27 -0
  302. data/lib/studium/exam_topics/lebensmittel +206 -0
  303. data/lib/studium/exam_topics/lebensmitteltechnologie +16 -0
  304. data/lib/studium/exam_topics/linux +5 -0
  305. data/lib/studium/exam_topics/lipids +95 -0
  306. data/lib/studium/exam_topics/macroeconomics +39 -0
  307. data/lib/studium/exam_topics/mathematics +175 -0
  308. data/lib/studium/exam_topics/medizin_und_biomedizinische_technik +250 -0
  309. data/lib/studium/exam_topics/medizinische_chemie_und_pharmazie +397 -0
  310. data/lib/studium/exam_topics/messtechnik_und_regeltechnik +104 -0
  311. data/lib/studium/exam_topics/metabolismus +433 -0
  312. data/lib/studium/exam_topics/microbial_ecology +35 -0
  313. data/lib/studium/exam_topics/mikrobielle_lebensgemeinschaften +34 -0
  314. data/lib/studium/exam_topics/mikrobielle_physiologie +153 -0
  315. data/lib/studium/exam_topics/mixed +289 -0
  316. data/lib/studium/exam_topics/molecular_biology_of_plants +235 -0
  317. data/lib/studium/exam_topics/molekulare_medizin +129 -0
  318. data/lib/studium/exam_topics/nanotechnologie +303 -0
  319. data/lib/studium/exam_topics/nature_conservation_and_biodiversity +165 -0
  320. data/lib/studium/exam_topics/naturstoffe +9 -0
  321. data/lib/studium/exam_topics/netzwerke +32 -0
  322. data/lib/studium/exam_topics/neurobiology +266 -0
  323. data/lib/studium/exam_topics/nucleotide_sequencing +30 -0
  324. data/lib/studium/exam_topics/object_oriented_modeling +14 -0
  325. data/lib/studium/exam_topics/obstbau +234 -0
  326. data/lib/studium/exam_topics/organische_chemie +1007 -0
  327. data/lib/studium/exam_topics/organische_chemie_2 +72 -0
  328. data/lib/studium/exam_topics/paleobiology +33 -0
  329. data/lib/studium/exam_topics/parasitic_diseases_and_molecular_infection_biology +335 -0
  330. data/lib/studium/exam_topics/patent_law +55 -0
  331. data/lib/studium/exam_topics/pathologie +713 -0
  332. data/lib/studium/exam_topics/pcr +133 -0
  333. data/lib/studium/exam_topics/peroxisomes_glycosomes_and_lysosomes +54 -0
  334. data/lib/studium/exam_topics/pflanzenanatomie +240 -0
  335. data/lib/studium/exam_topics/pflanzenbau +24 -0
  336. data/lib/studium/exam_topics/pflanzenschutz +35 -0
  337. data/lib/studium/exam_topics/pflanzenwissenschaften +1009 -0
  338. data/lib/studium/exam_topics/pharmaceutical_biotechnology +250 -0
  339. data/lib/studium/exam_topics/physik +338 -0
  340. data/lib/studium/exam_topics/physikalische_chemie +85 -0
  341. data/lib/studium/exam_topics/physiology_and_histology +485 -0
  342. data/lib/studium/exam_topics/phytochemie +33 -0
  343. data/lib/studium/exam_topics/plant_biotechnology +127 -0
  344. data/lib/studium/exam_topics/plant_breeding +64 -0
  345. data/lib/studium/exam_topics/plant_development +50 -0
  346. data/lib/studium/exam_topics/populationsgenetik +136 -0
  347. data/lib/studium/exam_topics/posttranslationale_modifikation_von_proteinen +186 -0
  348. data/lib/studium/exam_topics/projektmanagement +218 -0
  349. data/lib/studium/exam_topics/prokaryote_genetics +470 -0
  350. data/lib/studium/exam_topics/proteomik +38 -0
  351. data/lib/studium/exam_topics/prozesstechnik +95 -0
  352. data/lib/studium/exam_topics/psychologie +9 -0
  353. data/lib/studium/exam_topics/python +350 -0
  354. data/lib/studium/exam_topics/quality_management +241 -0
  355. data/lib/studium/exam_topics/rechtsgrundlagen +115 -0
  356. data/lib/studium/exam_topics/research_topics_in_immunobiology +42 -0
  357. data/lib/studium/exam_topics/rna_and_dna +362 -0
  358. data/lib/studium/exam_topics/rna_seq +11 -0
  359. data/lib/studium/exam_topics/ruby +131 -0
  360. data/lib/studium/exam_topics/ruby_on_rails +62 -0
  361. data/lib/studium/exam_topics/scientific_writing_and_publishing +38 -0
  362. data/lib/studium/exam_topics/semisynthese_von_proteinen_und_nukleotiden +120 -0
  363. data/lib/studium/exam_topics/sexualbiologie +59 -0
  364. data/lib/studium/exam_topics/signal_transduction_and_laser_systems +136 -0
  365. data/lib/studium/exam_topics/splicing_exons_and_introns +57 -0
  366. data/lib/studium/exam_topics/statistik +202 -0
  367. data/lib/studium/exam_topics/stemcells +87 -0
  368. data/lib/studium/exam_topics/structural_bioinformatics +54 -0
  369. data/lib/studium/exam_topics/strukturbiologie +319 -0
  370. data/lib/studium/exam_topics/system_biology_and_synthetic_biology +87 -0
  371. data/lib/studium/exam_topics/systematische_zoologie +430 -0
  372. data/lib/studium/exam_topics/technical_ecology +144 -0
  373. data/lib/studium/exam_topics/technische_chemie +194 -0
  374. data/lib/studium/exam_topics/technische_grundlagen_der_informatik +22 -0
  375. data/lib/studium/exam_topics/technische_mikrobiologie +403 -0
  376. data/lib/studium/exam_topics/technisches_zeichnen +5 -0
  377. data/lib/studium/exam_topics/the_bacterial_cell_wall +86 -0
  378. data/lib/studium/exam_topics/the_c_plus_plus_programming_language +488 -0
  379. data/lib/studium/exam_topics/the_c_programming_language +128 -0
  380. data/lib/studium/exam_topics/the_cellcycle +65 -0
  381. data/lib/studium/exam_topics/the_european_union +119 -0
  382. data/lib/studium/exam_topics/the_interferon_system +32 -0
  383. data/lib/studium/exam_topics/the_microbiome +163 -0
  384. data/lib/studium/exam_topics/the_universe +6 -0
  385. data/lib/studium/exam_topics/theoretische_chemie +5 -0
  386. data/lib/studium/exam_topics/theoretische_informatik +157 -0
  387. data/lib/studium/exam_topics/tierzucht +94 -0
  388. data/lib/studium/exam_topics/toxikologie +403 -0
  389. data/lib/studium/exam_topics/transcription +26 -0
  390. data/lib/studium/exam_topics/translation_ribosomes_and_translational_control +138 -0
  391. data/lib/studium/exam_topics/umweltbiotechnologie +58 -0
  392. data/lib/studium/exam_topics/umweltchemie +233 -0
  393. data/lib/studium/exam_topics/urbanism_and_traffic +19 -0
  394. data/lib/studium/exam_topics/vaccines_and_vaccination +234 -0
  395. data/lib/studium/exam_topics/vectors_and_gene_therapy +237 -0
  396. data/lib/studium/exam_topics/verfahrenstechnik +32 -0
  397. data/lib/studium/exam_topics/veterinary_medicine +10 -0
  398. data/lib/studium/exam_topics/vitamine +19 -0
  399. data/lib/studium/exam_topics/wasserkunde +141 -0
  400. data/lib/studium/exam_topics/weinbau +59 -0
  401. data/lib/studium/exam_topics/wissenschaft +17 -0
  402. data/lib/studium/exam_topics/yeast +97 -0
  403. data/lib/studium/exam_topics/zoologie +329 -0
  404. data/lib/studium/exams/afterburn.rb +264 -0
  405. data/lib/studium/exams/ask_exam_from_the_upcoming_exams_pool.rb +158 -0
  406. data/lib/studium/exams/ask_exam_question/answer.rb +106 -0
  407. data/lib/studium/exams/ask_exam_question/ask_exam_question.rb +135 -0
  408. data/lib/studium/exams/ask_exam_question/constants.rb +74 -0
  409. data/lib/studium/exams/ask_exam_question/delay.rb +101 -0
  410. data/lib/studium/exams/ask_exam_question/help.rb +72 -0
  411. data/lib/studium/exams/ask_exam_question/initialize.rb +70 -0
  412. data/lib/studium/exams/ask_exam_question/menu.rb +382 -0
  413. data/lib/studium/exams/ask_exam_question/misc.rb +938 -0
  414. data/lib/studium/exams/ask_exam_question/question.rb +77 -0
  415. data/lib/studium/exams/ask_exam_question/reset.rb +103 -0
  416. data/lib/studium/exams/ask_exam_question/run.rb +49 -0
  417. data/lib/studium/exams/ask_exam_topic_question.rb +120 -0
  418. data/lib/studium/exams/ask_question_from_alias.rb +151 -0
  419. data/lib/studium/exams/ask_question_from_any_of_the_still_missing_lectures.rb +133 -0
  420. data/lib/studium/exams/ask_question_from_grouped_themes.rb +141 -0
  421. data/lib/studium/exams/ask_question_from_last_topic.rb +93 -0
  422. data/lib/studium/exams/ask_random_question.rb +190 -0
  423. data/lib/studium/exams/autoinclude.rb +7 -0
  424. data/lib/studium/exams/class.rb +127 -0
  425. data/lib/studium/exams/csv/create_csv_passed_exams_file.rb +225 -0
  426. data/lib/studium/exams/cycle.rb +283 -0
  427. data/lib/studium/exams/dataset.rb +90 -0
  428. data/lib/studium/exams/exam_registration_at/constants.rb +49 -0
  429. data/lib/studium/exams/exam_registration_at/exam_registration_at.rb +254 -0
  430. data/lib/studium/exams/exam_registration_at/help.rb +46 -0
  431. data/lib/studium/exams/exam_registration_at/menu.rb +81 -0
  432. data/lib/studium/exams/exam_registration_at/report.rb +108 -0
  433. data/lib/studium/exams/exam_registration_at/reset.rb +49 -0
  434. data/lib/studium/exams/exam_statistics_from_this_file/exam_statistics_from_this_file.rb +127 -0
  435. data/lib/studium/exams/exam_topics.rb +202 -0
  436. data/lib/studium/exams/exams.rb +18 -0
  437. data/lib/studium/exams/exams_per_month/colours.rb +81 -0
  438. data/lib/studium/exams/exams_per_month/constants.rb +69 -0
  439. data/lib/studium/exams/exams_per_month/dataset.rb +64 -0
  440. data/lib/studium/exams/exams_per_month/exams_per_month.rb +291 -0
  441. data/lib/studium/exams/exams_per_month/help.rb +72 -0
  442. data/lib/studium/exams/exams_per_month/initialize.rb +39 -0
  443. data/lib/studium/exams/exams_per_month/menu.rb +258 -0
  444. data/lib/studium/exams/exams_per_month/open.rb +139 -0
  445. data/lib/studium/exams/exams_per_month/requires.rb +8 -0
  446. data/lib/studium/exams/exams_per_month/reset.rb +115 -0
  447. data/lib/studium/exams/exams_per_month/run.rb +18 -0
  448. data/lib/studium/exams/exams_per_month/sanitize.rb +129 -0
  449. data/lib/studium/exams/exams_per_month/show_and_report.rb +1281 -0
  450. data/lib/studium/exams/exams_this_week.rb +179 -0
  451. data/lib/studium/exams/fix_exam_dates.rb +129 -0
  452. data/lib/studium/exams/last_exams/last_exams.rb +381 -0
  453. data/lib/studium/exams/lectures_without_exam_entry.rb +145 -0
  454. data/lib/studium/exams/mandatory_continuous_assessment/compare.rb +144 -0
  455. data/lib/studium/exams/mandatory_continuous_assessment/constants.rb +18 -0
  456. data/lib/studium/exams/mandatory_continuous_assessment/help.rb +92 -0
  457. data/lib/studium/exams/mandatory_continuous_assessment/initialize.rb +46 -0
  458. data/lib/studium/exams/mandatory_continuous_assessment/mandatory_continuous_assessment.rb +1115 -0
  459. data/lib/studium/exams/mandatory_continuous_assessment/menu.rb +114 -0
  460. data/lib/studium/exams/mandatory_continuous_assessment/misc.rb +61 -0
  461. data/lib/studium/exams/mandatory_continuous_assessment/reset.rb +85 -0
  462. data/lib/studium/exams/mandatory_continuous_assessment/run.rb +33 -0
  463. data/lib/studium/exams/mandatory_continuous_assessment/set_title_of_the_curriculum.rb +181 -0
  464. data/lib/studium/exams/mandatory_continuous_assessment/show_and_report.rb +147 -0
  465. data/lib/studium/exams/move_the_last_exam_question_to_the_top_of_the_file/move_the_last_exam_question_to_the_top_of_the_file.rb +119 -0
  466. data/lib/studium/exams/n_exams_in_these_topics.rb +408 -0
  467. data/lib/studium/exams/new_questions_per_year.rb +153 -0
  468. data/lib/studium/exams/next_exam.rb +111 -0
  469. data/lib/studium/exams/next_exams.rb +385 -0
  470. data/lib/studium/exams/open_exam_associated_url.rb +158 -0
  471. data/lib/studium/exams/open_last_exam_question_asked_file/constants.rb +20 -0
  472. data/lib/studium/exams/open_last_exam_question_asked_file/initialize.rb +29 -0
  473. data/lib/studium/exams/open_last_exam_question_asked_file/open_last_exam_question_asked_file.rb +112 -0
  474. data/lib/studium/exams/passed_exams/passed_exams.rb +46 -0
  475. data/lib/studium/exams/pruefung.rb +288 -0
  476. data/lib/studium/exams/push_solved_questions_on_top.rb +188 -0
  477. data/lib/studium/exams/question_answer/question_answer.rb +842 -0
  478. data/lib/studium/exams/questions_solved_from_day_to_day.rb +353 -0
  479. data/lib/studium/exams/repeat_last_question.rb +78 -0
  480. data/lib/studium/exams/show_all_passed_exams_of_this_university.rb +260 -0
  481. data/lib/studium/exams/show_backlog_of_exams.rb +125 -0
  482. data/lib/studium/exams/show_next_exams_for.rb +141 -0
  483. data/lib/studium/exams/show_themes/constants.rb +33 -0
  484. data/lib/studium/exams/show_themes/menu.rb +61 -0
  485. data/lib/studium/exams/show_themes/misc.rb +536 -0
  486. data/lib/studium/exams/show_themes/reset.rb +64 -0
  487. data/lib/studium/exams/show_themes/show_themes.rb +27 -0
  488. data/lib/studium/exams/show_upcoming_exams/consider_autogenerating_exam_aliases.rb +170 -0
  489. data/lib/studium/exams/show_upcoming_exams/constants.rb +82 -0
  490. data/lib/studium/exams/show_upcoming_exams/help.rb +33 -0
  491. data/lib/studium/exams/show_upcoming_exams/initialize.rb +71 -0
  492. data/lib/studium/exams/show_upcoming_exams/menu.rb +53 -0
  493. data/lib/studium/exams/show_upcoming_exams/report.rb +195 -0
  494. data/lib/studium/exams/show_upcoming_exams/reset.rb +38 -0
  495. data/lib/studium/exams/show_upcoming_exams/run.rb +20 -0
  496. data/lib/studium/exams/show_upcoming_exams/show_upcoming_exams.rb +494 -0
  497. data/lib/studium/exams/solve_all_questions_from_this_topic.rb +122 -0
  498. data/lib/studium/exams/solved/constants.rb +37 -0
  499. data/lib/studium/exams/solved/help.rb +23 -0
  500. data/lib/studium/exams/solved/menu.rb +35 -0
  501. data/lib/studium/exams/solved/reset.rb +30 -0
  502. data/lib/studium/exams/solved/solved.rb +306 -0
  503. data/lib/studium/exams/steop.rb +99 -0
  504. data/lib/studium/exams/unsolve_all_questions_from_this_topic.rb +170 -0
  505. data/lib/studium/exams/upcoming_exams/constants.rb +20 -0
  506. data/lib/studium/exams/upcoming_exams/help.rb +38 -0
  507. data/lib/studium/exams/upcoming_exams/initialize.rb +27 -0
  508. data/lib/studium/exams/upcoming_exams/menu.rb +79 -0
  509. data/lib/studium/exams/upcoming_exams/misc.rb +360 -0
  510. data/lib/studium/exams/upcoming_exams/reset.rb +37 -0
  511. data/lib/studium/exams/upcoming_exams/run.rb +25 -0
  512. data/lib/studium/exams/upcoming_exams/upcoming_exams.rb +32 -0
  513. data/lib/studium/exams/upcoming_exams_at_the_boku/constants.rb +23 -0
  514. data/lib/studium/exams/upcoming_exams_at_the_boku/html.rb +64 -0
  515. data/lib/studium/exams/upcoming_exams_at_the_boku/upcoming_exams_at_the_boku.rb +194 -0
  516. data/lib/studium/exams/upcoming_exams_dataset.rb +251 -0
  517. data/lib/studium/exams/upload_exam_topics.rb +357 -0
  518. data/lib/studium/flashcards/flashcards.rb +95 -0
  519. data/lib/studium/graphviz/README.md +4 -0
  520. data/lib/studium/graphviz/bachelor_vector_based_strategies.dot +160 -0
  521. data/lib/studium/graphviz/master_vector_based_strategies.dot +46 -0
  522. data/lib/studium/gui/gtk2/constants.rb +52 -0
  523. data/lib/studium/gui/gtk2/exam_card.rb +199 -0
  524. data/lib/studium/gui/gtk2/flip_card.rb +8 -0
  525. data/lib/studium/gui/gtk2/frame.rb +319 -0
  526. data/lib/studium/gui/gtk2/main_box.rb +188 -0
  527. data/lib/studium/gui/gtk2/misc.rb +99 -0
  528. data/lib/studium/gui/gtk2/module_methods.rb +58 -0
  529. data/lib/studium/gui/gtk2/require_gtk_files.rb +25 -0
  530. data/lib/studium/gui/gtk2/run.rb +47 -0
  531. data/lib/studium/gui/gtk2/show_curriculum_entries.rb +186 -0
  532. data/lib/studium/gui/gtk2/simple_widget_question_answer.rb +185 -0
  533. data/lib/studium/gui/gtk2/vbox.rb +748 -0
  534. data/lib/studium/gui/gtk3/README.md +1 -0
  535. data/lib/studium/gui/gtk3/studium_panel.rb +54 -0
  536. data/lib/studium/lectures/show_lectures_on_the_commandline/constants.rb +22 -0
  537. data/lib/studium/lectures/show_lectures_on_the_commandline/determine.rb +630 -0
  538. data/lib/studium/lectures/show_lectures_on_the_commandline/help.rb +44 -0
  539. data/lib/studium/lectures/show_lectures_on_the_commandline/html.rb +599 -0
  540. data/lib/studium/lectures/show_lectures_on_the_commandline/initialize.rb +53 -0
  541. data/lib/studium/lectures/show_lectures_on_the_commandline/konsole.rb +32 -0
  542. data/lib/studium/lectures/show_lectures_on_the_commandline/menu.rb +466 -0
  543. data/lib/studium/lectures/show_lectures_on_the_commandline/misc.rb +598 -0
  544. data/lib/studium/lectures/show_lectures_on_the_commandline/reset.rb +120 -0
  545. data/lib/studium/lectures/show_lectures_on_the_commandline/run.rb +44 -0
  546. data/lib/studium/lectures/show_lectures_on_the_commandline/show.rb +106 -0
  547. data/lib/studium/lectures/show_lectures_on_the_commandline/show_lectures_on_the_commandline.rb +491 -0
  548. data/lib/studium/lectures/show_lectures_on_the_commandline/sorted_individual_curricula.rb +117 -0
  549. data/lib/studium/logging/README.md +2 -0
  550. data/lib/studium/logging/ensure_that_the_log_directory_exists.rb +47 -0
  551. data/lib/studium/logging/html_log_directory.rb +35 -0
  552. data/lib/studium/logging/log_directory.rb +100 -0
  553. data/lib/studium/logging/store_last_question_asked_into_file.rb +138 -0
  554. data/lib/studium/misc/return_remote_homepage_of_this_lecture.rb +8661 -0
  555. data/lib/studium/misc/return_remote_moodle_link_of_this_lecture.rb +1343 -0
  556. data/lib/studium/parsers/README.md +2 -0
  557. data/lib/studium/parsers/custom_exam_results_parser.rb +208 -0
  558. data/lib/studium/parsers/parse_lva_dates.rb +190 -0
  559. data/lib/studium/pdf/README.md +2 -0
  560. data/lib/studium/pdf/create_pdf_file_for_this_exam_topic.rb +277 -0
  561. data/lib/studium/project/project.rb +80 -0
  562. data/lib/studium/requires/common_popular_requires.rb +37 -0
  563. data/lib/studium/requires/commonly_used_requires.rb +13 -0
  564. data/lib/studium/requires/require_class_exams_solved.rb +7 -0
  565. data/lib/studium/requires/require_ects_scripts.rb +25 -0
  566. data/lib/studium/requires/require_encoding.rb +7 -0
  567. data/lib/studium/requires/require_the_exam_scripts.rb +37 -0
  568. data/lib/studium/requires/require_the_studium_constants.rb +14 -0
  569. data/lib/studium/requires/require_the_studium_project.rb +47 -0
  570. data/lib/studium/requires/require_the_utility_scripts.rb +26 -0
  571. data/lib/studium/requires/require_toplevel_methods.rb +26 -0
  572. data/lib/studium/requires/require_upcoming_exams.rb +7 -0
  573. data/lib/studium/requires/require_yaml.rb +7 -0
  574. data/lib/studium/requires/with_GUI.rb +12 -0
  575. data/lib/studium/requires/www_mode.rb +17 -0
  576. data/lib/studium/sinatra/app.rb +225 -0
  577. data/lib/studium/sinatra/misc.rb +111 -0
  578. data/lib/studium/statistics/README.md +4 -0
  579. data/lib/studium/statistics/best_exam_months.rb +81 -0
  580. data/lib/studium/statistics/curriculum_comparer.rb +344 -0
  581. data/lib/studium/statistics/determine_exam_statistics_from_this_file.rb +140 -0
  582. data/lib/studium/statistics/max_stats.rb +171 -0
  583. data/lib/studium/statistics/report_how_many_ects_points_per_curriculum_were_completed.rb +172 -0
  584. data/lib/studium/statistics/report_how_many_exam_questions_were_answered.rb +478 -0
  585. data/lib/studium/statistics/show_exam_statistics.rb +60 -0
  586. data/lib/studium/statistics/top_stats.rb +122 -0
  587. data/lib/studium/steop/README.md +4 -0
  588. data/lib/studium/steop/show_all_steop_lectures.rb +101 -0
  589. data/lib/studium/steop/steop_lectures_in_this_curriculum.rb +291 -0
  590. data/lib/studium/steop/steop_lva_dates.rb +102 -0
  591. data/lib/studium/toplevel_methods/all_passed_exams.rb +35 -0
  592. data/lib/studium/toplevel_methods/already_solved_this_lecture.rb +98 -0
  593. data/lib/studium/toplevel_methods/available_curricula.rb +71 -0
  594. data/lib/studium/toplevel_methods/available_topics.rb +145 -0
  595. data/lib/studium/toplevel_methods/average_grade.rb +141 -0
  596. data/lib/studium/toplevel_methods/calculate_pr/303/274fungsimmanente_lectures_from_this_file.rb +55 -0
  597. data/lib/studium/toplevel_methods/cd.rb +25 -0
  598. data/lib/studium/toplevel_methods/cd_stud.rb +134 -0
  599. data/lib/studium/toplevel_methods/copy_the_last_backup_of_file_lecture_information.rb +27 -0
  600. data/lib/studium/toplevel_methods/determine_local_directory_of_this_lecture.rb +72 -0
  601. data/lib/studium/toplevel_methods/does_this_course_require_mandatory_presence.rb +44 -0
  602. data/lib/studium/toplevel_methods/download.rb +157 -0
  603. data/lib/studium/toplevel_methods/e.rb +16 -0
  604. data/lib/studium/toplevel_methods/ects_from_lectures.rb +251 -0
  605. data/lib/studium/toplevel_methods/editor.rb +64 -0
  606. data/lib/studium/toplevel_methods/esystem.rb +22 -0
  607. data/lib/studium/toplevel_methods/exams_dataset.rb +45 -0
  608. data/lib/studium/toplevel_methods/filter_away_invalid_questions.rb +77 -0
  609. data/lib/studium/toplevel_methods/find_exam_topic_and_exam_title.rb +2771 -0
  610. data/lib/studium/toplevel_methods/from_curriculum_id_to_university.rb +47 -0
  611. data/lib/studium/toplevel_methods/frozen.rb +32 -0
  612. data/lib/studium/toplevel_methods/handle_archive_of_the_exam_questions.rb +136 -0
  613. data/lib/studium/toplevel_methods/has_a_bachelor_or_master_curriculum.rb +84 -0
  614. data/lib/studium/toplevel_methods/has_this_lecture_been_already_passed_but_the_id_was_changed_lateron.rb +41 -0
  615. data/lib/studium/toplevel_methods/has_this_module_been_completed.rb +206 -0
  616. data/lib/studium/toplevel_methods/install_the_project_on_the_given_hostsystem.rb +32 -0
  617. data/lib/studium/toplevel_methods/is_on_roebe.rb +26 -0
  618. data/lib/studium/toplevel_methods/is_this_exam_topic_included.rb +46 -0
  619. data/lib/studium/toplevel_methods/is_this_homepage_registered.rb +31 -0
  620. data/lib/studium/toplevel_methods/is_this_lecture_a_practical_course.rb +100 -0
  621. data/lib/studium/toplevel_methods/is_this_lecture_part_of_the_vector_curriculum.rb +110 -0
  622. data/lib/studium/toplevel_methods/is_this_lecture_registered_in_upcoming_exams.rb +43 -0
  623. data/lib/studium/toplevel_methods/lecture_information.rb +101 -0
  624. data/lib/studium/toplevel_methods/lectures_without_attribution_to_any_curriculum.rb +42 -0
  625. data/lib/studium/toplevel_methods/lva_numbers.rb +339 -0
  626. data/lib/studium/toplevel_methods/main_dataset.rb +73 -0
  627. data/lib/studium/toplevel_methods/map_curriculum_number_to_curriculum_name.rb +97 -0
  628. data/lib/studium/toplevel_methods/methods_related_to_curricula.rb +47 -0
  629. data/lib/studium/toplevel_methods/methods_related_to_files.rb +197 -0
  630. data/lib/studium/toplevel_methods/mkdir.rb +25 -0
  631. data/lib/studium/toplevel_methods/n_questions_available.rb +128 -0
  632. data/lib/studium/toplevel_methods/n_topics_available.rb +63 -0
  633. data/lib/studium/toplevel_methods/name_of_this_curriculum.rb +38 -0
  634. data/lib/studium/toplevel_methods/names_of_all_solved_exams.rb +71 -0
  635. data/lib/studium/toplevel_methods/note_down_the_start_time_and_how_many_exams_have_been_already_solved.rb +70 -0
  636. data/lib/studium/toplevel_methods/opnn.rb +25 -0
  637. data/lib/studium/toplevel_methods/passed_this_exam_on.rb +105 -0
  638. data/lib/studium/toplevel_methods/pristine.rb +69 -0
  639. data/lib/studium/toplevel_methods/read_dataset_from_a_curriculum_file.rb +133 -0
  640. data/lib/studium/toplevel_methods/read_delay_between_questions_from_file.rb +34 -0
  641. data/lib/studium/toplevel_methods/regexes.rb +90 -0
  642. data/lib/studium/toplevel_methods/registered_for_this_exam.rb +62 -0
  643. data/lib/studium/toplevel_methods/remote_url.rb +57 -0
  644. data/lib/studium/toplevel_methods/remove_comments.rb +26 -0
  645. data/lib/studium/toplevel_methods/remove_exam_topics_that_were_already_answered.rb +27 -0
  646. data/lib/studium/toplevel_methods/remove_tags.rb +26 -0
  647. data/lib/studium/toplevel_methods/report.rb +143 -0
  648. data/lib/studium/toplevel_methods/report_all_lectures_matching_this_lecture_type.rb +45 -0
  649. data/lib/studium/toplevel_methods/report_attributed_lectures_to_universities.rb +30 -0
  650. data/lib/studium/toplevel_methods/report_n_ects_per_university.rb +63 -0
  651. data/lib/studium/toplevel_methods/report_n_entries_in_the_file_lecture_information.rb +36 -0
  652. data/lib/studium/toplevel_methods/report_nquestions_of.rb +96 -0
  653. data/lib/studium/toplevel_methods/report_solved_topics.rb +56 -0
  654. data/lib/studium/toplevel_methods/return_all_exams_on_this_day.rb +66 -0
  655. data/lib/studium/toplevel_methods/return_curriculum_of_this_lva_number.rb +82 -0
  656. data/lib/studium/toplevel_methods/return_dataset_for_this_exam_topic.rb +41 -0
  657. data/lib/studium/toplevel_methods/return_dataset_from_this_curriculum_file.rb +150 -0
  658. data/lib/studium/toplevel_methods/return_directory_for.rb +66 -0
  659. data/lib/studium/toplevel_methods/return_div_timetable_of_upcoming_exams.rb +489 -0
  660. data/lib/studium/toplevel_methods/return_ects_from_this_lecture_stored_in_the_file_lecture_information.rb +197 -0
  661. data/lib/studium/toplevel_methods/return_hash_of_already_solved_lectures.rb +41 -0
  662. data/lib/studium/toplevel_methods/return_local_path_of_this_pwdstud.rb +59 -0
  663. data/lib/studium/toplevel_methods/return_lva_number_of_this_lecture.rb +72 -0
  664. data/lib/studium/toplevel_methods/return_n_percent_solved_from_this_topic.rb +75 -0
  665. data/lib/studium/toplevel_methods/return_n_questions_were_answered_for_this_topic.rb +37 -0
  666. data/lib/studium/toplevel_methods/return_proper_university_image.rb +80 -0
  667. data/lib/studium/toplevel_methods/return_question_answer_string_from_this_topic.rb +56 -0
  668. data/lib/studium/toplevel_methods/return_sanitized_dataset_from_the_file_lecture_information.rb +126 -0
  669. data/lib/studium/toplevel_methods/return_theme_of_the_next_upcoming_exam.rb +38 -0
  670. data/lib/studium/toplevel_methods/return_this_curriculum_as_a_string.rb +26 -0
  671. data/lib/studium/toplevel_methods/return_title_from_this_curriculum_file.rb +91 -0
  672. data/lib/studium/toplevel_methods/rinstall2.rb +34 -0
  673. data/lib/studium/toplevel_methods/rti_conflict.rb +29 -0
  674. data/lib/studium/toplevel_methods/runmode.rb +86 -0
  675. data/lib/studium/toplevel_methods/sanitize_this_theme_topic.rb +128 -0
  676. data/lib/studium/toplevel_methods/sanitized_dataset_from_file_passed_exams_per_month.rb +52 -0
  677. data/lib/studium/toplevel_methods/save_all_registered_upcoming_exams.rb +62 -0
  678. data/lib/studium/toplevel_methods/save_file.rb +81 -0
  679. data/lib/studium/toplevel_methods/save_this_delay_between_questions_and_answers.rb +43 -0
  680. data/lib/studium/toplevel_methods/set_last_file_for_exam_questions.rb +64 -0
  681. data/lib/studium/toplevel_methods/set_this_cd_alias_to.rb +86 -0
  682. data/lib/studium/toplevel_methods/show_passed_ects_in_the_individual_bachelor_and_master_curricula.rb +81 -0
  683. data/lib/studium/toplevel_methods/show_passed_exams_having_this_grade.rb +27 -0
  684. data/lib/studium/toplevel_methods/spacer.rb +18 -0
  685. data/lib/studium/toplevel_methods/time.rb +220 -0
  686. data/lib/studium/toplevel_methods/total_ects_points_passed.rb +72 -0
  687. data/lib/studium/toplevel_methods/try_to_guess_the_most_likely_lva_id.rb +57 -0
  688. data/lib/studium/toplevel_methods/try_to_return_the_expanded_name_of_this_lecture.rb +63 -0
  689. data/lib/studium/toplevel_methods/unfinished.rb +51 -0
  690. data/lib/studium/toplevel_methods/url.rb +74 -0
  691. data/lib/studium/toplevel_methods/verbose_truth.rb +21 -0
  692. data/lib/studium/toplevel_methods/when_was_this_lecture_passed.rb +53 -0
  693. data/lib/studium/toplevel_methods/yes_or_no_ja_oder_nein.rb +33 -0
  694. data/lib/studium/tu_vienna/README.md +6 -0
  695. data/lib/studium/tu_vienna/tu_ferien.rb +38 -0
  696. data/lib/studium/tu_vienna/tu_/303/266ffnungszeiten.rb +29 -0
  697. data/lib/studium/utility_scripts/attribute_lecture_to_curriculum/attribute_boku_lecture_to_curriculum.rb +389 -0
  698. data/lib/studium/utility_scripts/attribute_lecture_to_curriculum/attribute_lecture_to_curriculum.rb +236 -0
  699. data/lib/studium/utility_scripts/attribute_lectures_to_university/attribute_lectures_to_university.rb +385 -0
  700. data/lib/studium/utility_scripts/audio_stats.rb +176 -0
  701. data/lib/studium/utility_scripts/auto_stud/auto_stud.rb +253 -0
  702. data/lib/studium/utility_scripts/auto_stud/constants.rb +23 -0
  703. data/lib/studium/utility_scripts/auto_stud/initialize.rb +23 -0
  704. data/lib/studium/utility_scripts/auto_stud/misc.rb +18 -0
  705. data/lib/studium/utility_scripts/autopurge_this_lecture_date.rb +101 -0
  706. data/lib/studium/utility_scripts/calendar/README.md +2 -0
  707. data/lib/studium/utility_scripts/calendar/calendar.rb +244 -0
  708. data/lib/studium/utility_scripts/calendar/misc.rb +35 -0
  709. data/lib/studium/utility_scripts/check_description_of_these_lectures.rb +224 -0
  710. data/lib/studium/utility_scripts/clean_up_lecture_date.rb +151 -0
  711. data/lib/studium/utility_scripts/current_lectures_belonging_to_both_bachelor_and_master_curriculum.rb +113 -0
  712. data/lib/studium/utility_scripts/currently_participating_in_these_lectures.rb +104 -0
  713. data/lib/studium/utility_scripts/display_lecture_url.rb +117 -0
  714. data/lib/studium/utility_scripts/expand_time_range.rb +422 -0
  715. data/lib/studium/utility_scripts/find_duplicate_lectures.rb +121 -0
  716. data/lib/studium/utility_scripts/finished_exams_at_this_university.rb +94 -0
  717. data/lib/studium/utility_scripts/foreign_language_percentage/constants.rb +28 -0
  718. data/lib/studium/utility_scripts/foreign_language_percentage/foreign_language_percentage.rb +142 -0
  719. data/lib/studium/utility_scripts/foreign_language_percentage/help.rb +29 -0
  720. data/lib/studium/utility_scripts/foreign_language_percentage/initialize.rb +25 -0
  721. data/lib/studium/utility_scripts/foreign_language_percentage/menu.rb +141 -0
  722. data/lib/studium/utility_scripts/foreign_language_percentage/report.rb +62 -0
  723. data/lib/studium/utility_scripts/foreign_language_percentage/reset.rb +57 -0
  724. data/lib/studium/utility_scripts/foreign_language_percentage/run.rb +19 -0
  725. data/lib/studium/utility_scripts/generate_spreadsheet.rb +349 -0
  726. data/lib/studium/utility_scripts/holidays.rb +143 -0
  727. data/lib/studium/utility_scripts/lecture_downloader.rb +115 -0
  728. data/lib/studium/utility_scripts/lectures_attributed_to_universities.rb +344 -0
  729. data/lib/studium/utility_scripts/lva_nummer.rb +440 -0
  730. data/lib/studium/utility_scripts/mandatory_lectures_in_this_month.rb +321 -0
  731. data/lib/studium/utility_scripts/name_of_this_lva_id.rb +110 -0
  732. data/lib/studium/utility_scripts/new_stud.rb +332 -0
  733. data/lib/studium/utility_scripts/next_week.rb +111 -0
  734. data/lib/studium/utility_scripts/passed_ects_per_year.rb +172 -0
  735. data/lib/studium/utility_scripts/passed_pr/303/274fungsimmanente_courses/passed_pr/303/274fungsimmanente_courses.rb +181 -0
  736. data/lib/studium/utility_scripts/prepare_individual_curriculum.rb +182 -0
  737. data/lib/studium/utility_scripts/priority.rb +126 -0
  738. data/lib/studium/utility_scripts/priority_points.rb +263 -0
  739. data/lib/studium/utility_scripts/publish_my_exams.rb +174 -0
  740. data/lib/studium/utility_scripts/regexes/README.md +2 -0
  741. data/lib/studium/utility_scripts/regexes/generate_regex.rb +278 -0
  742. data/lib/studium/utility_scripts/regexes/generate_regexes_for_the_available_moodle_links.rb +54 -0
  743. data/lib/studium/utility_scripts/regexes/generate_regexes_for_the_registered_lectures.rb +48 -0
  744. data/lib/studium/utility_scripts/report_outdated_timetable_entries.rb +148 -0
  745. data/lib/studium/utility_scripts/report_total_amount_of_questions_and_answers_for.rb +120 -0
  746. data/lib/studium/utility_scripts/report_whether_this_lecture_is_registered_in_the_file_lecture_information.rb +125 -0
  747. data/lib/studium/utility_scripts/resolve_practical_courses_date_conflicts/individual_resolve_practical_courses_date_conflicts.rb +257 -0
  748. data/lib/studium/utility_scripts/resolve_practical_courses_date_conflicts/resolve_practical_courses_date_conflicts.rb +273 -0
  749. data/lib/studium/utility_scripts/scrape_remote_university_url.rb +146 -0
  750. data/lib/studium/utility_scripts/semester_schedule_creator/semester_container.rb +142 -0
  751. data/lib/studium/utility_scripts/semester_schedule_creator/semester_schedule_creator.rb +381 -0
  752. data/lib/studium/utility_scripts/semesterplaner.rb +289 -0
  753. data/lib/studium/utility_scripts/show_all_lectures.rb +403 -0
  754. data/lib/studium/utility_scripts/show_all_passed_master_lectures.rb +127 -0
  755. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/constants.rb +56 -0
  756. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/do_report_the_upcoming_exams.rb +60 -0
  757. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/help.rb +49 -0
  758. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/initialize.rb +28 -0
  759. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/menu.rb +54 -0
  760. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/misc.rb +214 -0
  761. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/report.rb +118 -0
  762. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/reset.rb +80 -0
  763. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/run.rb +22 -0
  764. data/lib/studium/utility_scripts/show_conflicting_lva_lectures/show_conflicting_lva_lectures.rb +651 -0
  765. data/lib/studium/utility_scripts/show_descriptions_of_lectures_belonging_to_this_module/constants.rb +28 -0
  766. data/lib/studium/utility_scripts/show_descriptions_of_lectures_belonging_to_this_module/menu.rb +62 -0
  767. data/lib/studium/utility_scripts/show_descriptions_of_lectures_belonging_to_this_module/reset.rb +36 -0
  768. data/lib/studium/utility_scripts/show_descriptions_of_lectures_belonging_to_this_module/run.rb +35 -0
  769. data/lib/studium/utility_scripts/show_descriptions_of_lectures_belonging_to_this_module/show_descriptions_of_lectures_belonging_to_this_module.rb +145 -0
  770. data/lib/studium/utility_scripts/show_lecturers/show_lecturers.rb +145 -0
  771. data/lib/studium/utility_scripts/show_lectures/constants.rb +16 -0
  772. data/lib/studium/utility_scripts/show_lectures/help.rb +34 -0
  773. data/lib/studium/utility_scripts/show_lectures/initialize.rb +23 -0
  774. data/lib/studium/utility_scripts/show_lectures/menu.rb +106 -0
  775. data/lib/studium/utility_scripts/show_lectures/misc.rb +582 -0
  776. data/lib/studium/utility_scripts/show_lectures/reset.rb +92 -0
  777. data/lib/studium/utility_scripts/show_lectures/run.rb +27 -0
  778. data/lib/studium/utility_scripts/show_lectures/show_lectures.rb +48 -0
  779. data/lib/studium/utility_scripts/show_lectures_fitting_to_this_language.rb +129 -0
  780. data/lib/studium/utility_scripts/show_lectures_fitting_to_this_theme.rb +100 -0
  781. data/lib/studium/utility_scripts/show_lectures_on_this_day.rb +154 -0
  782. data/lib/studium/utility_scripts/show_lva_dates_of_this_lecture.rb +177 -0
  783. data/lib/studium/utility_scripts/show_outdated_lva_dates.rb +218 -0
  784. data/lib/studium/utility_scripts/show_solved_english_lectures.rb +139 -0
  785. data/lib/studium/utility_scripts/show_the_associated_lectures_for_the_individual_curriculum.rb +285 -0
  786. data/lib/studium/utility_scripts/studienkennzahl.rb +109 -0
  787. data/lib/studium/utility_scripts/studium_skeleton.rb +220 -0
  788. data/lib/studium/utility_scripts/stundenplan.rb +603 -0
  789. data/lib/studium/utility_scripts/sync_studium_relevant_entries_one_level_downwards.rb +221 -0
  790. data/lib/studium/utility_scripts/ufind.rb +101 -0
  791. data/lib/studium/utility_scripts/upcoming_mandatory_presence_courses/constants.rb +31 -0
  792. data/lib/studium/utility_scripts/upcoming_mandatory_presence_courses/run.rb +20 -0
  793. data/lib/studium/utility_scripts/upcoming_mandatory_presence_courses/upcoming_mandatory_presence_courses.rb +179 -0
  794. data/lib/studium/utility_scripts/vorbesprechungen.rb +293 -0
  795. data/lib/studium/utility_scripts/week_parser/constants.rb +28 -0
  796. data/lib/studium/utility_scripts/week_parser/help.rb +32 -0
  797. data/lib/studium/utility_scripts/week_parser/menu.rb +56 -0
  798. data/lib/studium/utility_scripts/week_parser/misc.rb +51 -0
  799. data/lib/studium/utility_scripts/week_parser/reset.rb +55 -0
  800. data/lib/studium/utility_scripts/week_parser/run.rb +18 -0
  801. data/lib/studium/utility_scripts/week_parser/show.rb +242 -0
  802. data/lib/studium/utility_scripts/week_parser/week_parser.rb +362 -0
  803. data/lib/studium/utility_scripts/weekday_parser.rb +159 -0
  804. data/lib/studium/utility_scripts/weekly_schedule.rb +209 -0
  805. data/lib/studium/utility_scripts/wochenplanung.rb +278 -0
  806. data/lib/studium/version/version.rb +46 -0
  807. data/lib/studium/www/curricula_displayer.cgi +170 -0
  808. data/lib/studium/www/curriculum_displayer.rb +162 -0
  809. data/lib/studium/www/exams.cgi +50 -0
  810. data/lib/studium/www/statistics.cgi +55 -0
  811. data/lib/studium/yaml/allowed_themes_for_exams.yml +307 -0
  812. data/lib/studium/yaml/array_allowed_entries_for_the_file_lecture_information.yml +68 -0
  813. data/lib/studium/yaml/backlog_of_exams.yml +35 -0
  814. data/lib/studium/yaml/current_exams.yml +19 -0
  815. data/lib/studium/yaml/curricula.yml +530 -0
  816. data/lib/studium/yaml/curricula/README.md +3 -0
  817. data/lib/studium/yaml/curricula/bachelor_agrarwissenschaften_033255.yml +130 -0
  818. data/lib/studium/yaml/curricula/bachelor_biologie_basisblock_033630.yml +65 -0
  819. data/lib/studium/yaml/curricula/bachelor_biologie_botanik_033630.yml +84 -0
  820. data/lib/studium/yaml/curricula/bachelor_biologie_ecology_033630.yml +74 -0
  821. data/lib/studium/yaml/curricula/bachelor_biologie_mikrobiologie_und_genetik_033630.yml +120 -0
  822. data/lib/studium/yaml/curricula/bachelor_biologie_molekulare_biologie_033630.yml +104 -0
  823. data/lib/studium/yaml/curricula/bachelor_biologie_zoologie_033630.yml +87 -0
  824. data/lib/studium/yaml/curricula/bachelor_chemie_033662.yml +164 -0
  825. data/lib/studium/yaml/curricula/bachelor_dummy_curriculum.yml +135 -0
  826. data/lib/studium/yaml/curricula/bachelor_elektrotechnik_und_informationstechnik_033235.yml +13 -0
  827. data/lib/studium/yaml/curricula/bachelor_forstwirtschaft_033225.yml +105 -0
  828. data/lib/studium/yaml/curricula/bachelor_informatik_033521.yml +130 -0
  829. data/lib/studium/yaml/curricula/bachelor_informatik_und_molekulare_biologie.yml +1144 -0
  830. data/lib/studium/yaml/curricula/bachelor_ktww_033231.yml +84 -0
  831. data/lib/studium/yaml/curricula/bachelor_lmbt_033217.yml +108 -0
  832. data/lib/studium/yaml/curricula/bachelor_medizinische_informatik_033533.yml +200 -0
  833. data/lib/studium/yaml/curricula/bachelor_molekularbiologie_033665.yml +93 -0
  834. data/lib/studium/yaml/curricula/bachelor_nutrition_science_033638.yml +117 -0
  835. data/lib/studium/yaml/curricula/bachelor_pharmazie_033305.yml +170 -0
  836. data/lib/studium/yaml/curricula/bachelor_technische_chemie_033290.yml +129 -0
  837. data/lib/studium/yaml/curricula/bachelor_technische_informatik_033535.yml +23 -0
  838. data/lib/studium/yaml/curricula/bachelor_ubrm_033227.yml +140 -0
  839. data/lib/studium/yaml/curricula/bachelor_vector_based_strategies_in_life_sciences_molecular_medicine_and_biotechnology.yml +1157 -0
  840. data/lib/studium/yaml/curricula/bachelor_verfahrenstechnik_033273.yml +167 -0
  841. data/lib/studium/yaml/curricula/bachelor_wirtschaftsinformatik_033526.yml +29 -0
  842. data/lib/studium/yaml/curricula/master_bioinformatics_and_molecular_biotechnology_including_aspects_from_molecular_medicine.yml +438 -0
  843. data/lib/studium/yaml/curricula/master_bioinformatik_066875.yml +76 -0
  844. data/lib/studium/yaml/curricula/master_biologie_molekulare_mikrobiologie_mikrobielle_oekologie_und_immunbiologie_066830.yml +78 -0
  845. data/lib/studium/yaml/curricula/master_biologische_chemie_066863.yml +61 -0
  846. data/lib/studium/yaml/curricula/master_dummy_curriculum.yml +137 -0
  847. data/lib/studium/yaml/curricula/master_food_science_and_plant_biotechnology.yml +30 -0
  848. data/lib/studium/yaml/curricula/master_genetik_und_entwicklungsbiologie_066877.yml +90 -0
  849. data/lib/studium/yaml/curricula/master_lmbt_066418.yml +65 -0
  850. data/lib/studium/yaml/curricula/master_molekulare_biologie_066834.yml +142 -0
  851. data/lib/studium/yaml/curricula/master_pharmazie_066605.yml +170 -0
  852. data/lib/studium/yaml/curricula/master_technische_chemie_066490.yml +123 -0
  853. data/lib/studium/yaml/curricula/master_vector_based_strategies_in_life_sciences_molecular_medicine_and_biotechnology.yml +741 -0
  854. data/lib/studium/yaml/custom_colours.yml +21 -0
  855. data/lib/studium/yaml/daily_questions_solved.yml +789 -0
  856. data/lib/studium/yaml/default_delay.yml +4 -0
  857. data/lib/studium/yaml/default_encoding.yml +1 -0
  858. data/lib/studium/yaml/directory_to_the_exam_topics.yml +0 -0
  859. data/lib/studium/yaml/editor.yml +1 -0
  860. data/lib/studium/yaml/file_for_exam_questions.yml +1 -0
  861. data/lib/studium/yaml/german/README.md +2 -0
  862. data/lib/studium/yaml/german/german_to_english_month_names.yml +16 -0
  863. data/lib/studium/yaml/grouped_themes.yml +187 -0
  864. data/lib/studium/yaml/holidays.yml +176 -0
  865. data/lib/studium/yaml/important_exams.yml +194 -0
  866. data/lib/studium/yaml/inscription_dates_of_universities.yml +58 -0
  867. data/lib/studium/yaml/lecture_aliases.yml +108 -0
  868. data/lib/studium/yaml/lecture_information.yml +47783 -0
  869. data/lib/studium/yaml/log_dir.yml +1 -0
  870. data/lib/studium/yaml/main_topic.yml +11 -0
  871. data/lib/studium/yaml/max_stats.yml +227 -0
  872. data/lib/studium/yaml/mitteilungsbl/303/244tter.yml +315 -0
  873. data/lib/studium/yaml/n_total_questions.yml +1 -0
  874. data/lib/studium/yaml/participating_in_these_courses.yml +50 -0
  875. data/lib/studium/yaml/rename_konsole_tab.yml +1 -0
  876. data/lib/studium/yaml/show_topic.yml +1 -0
  877. data/lib/studium/yaml/statistics.yml +57 -0
  878. data/lib/studium/yaml/use_colours.yml +1 -0
  879. data/studium.gemspec +79 -0
  880. data/test/testing_studium.rb +244 -0
  881. data/test/testing_time_component.rb +29 -0
  882. metadata +1079 -0
@@ -0,0 +1,24 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'studium/commandline/reset.rb'
6
+ # =========================================================================== #
7
+ require 'studium/commandline/constants.rb'
8
+
9
+ module Studium
10
+
11
+ class Commandline < Base
12
+
13
+ # ========================================================================= #
14
+ # === reset
15
+ # ========================================================================= #
16
+ def reset
17
+ super()
18
+ # ======================================================================= #
19
+ # === @namespace
20
+ # ======================================================================= #
21
+ @namespace = NAMESPACE
22
+ end
23
+
24
+ end; end
@@ -0,0 +1,20 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'studium/commandline/initialize.rb'
6
+ # =========================================================================== #
7
+ require 'studium/base/base.rb'
8
+
9
+ module Studium
10
+
11
+ class Commandline < Base # === Studium::Commandline
12
+
13
+ # ========================================================================= #
14
+ # === run
15
+ # ========================================================================= #
16
+ def run
17
+ menu
18
+ end
19
+
20
+ end; end
@@ -0,0 +1,52 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # BOKU-specific constants will be stored here.
6
+ # =========================================================================== #
7
+ # require 'studium/constants/boku_wien.rb'
8
+ # =========================================================================== #
9
+ module Studium
10
+
11
+ require 'studium/constants/roebe.rb'
12
+
13
+ # ========================================================================= #
14
+ # === BOKU_N_ECTS_REGEX
15
+ #
16
+ # This regex can be used to determine the amount of ECTS points from
17
+ # BOKU-lectures. This is presently used in at the least two different
18
+ # rb.files.
19
+ #
20
+ # Also see:
21
+ #
22
+ # https://rubular.com/r/3hWI5p2f6G
23
+ #
24
+ # ========================================================================= #
25
+ BOKU_N_ECTS_REGEX =
26
+ /<span class="bold">(\d{1},?\d{0,1})<\/span> ECTS-Credits<\/td><\/tr>/
27
+
28
+ # ========================================================================= #
29
+ # === Studium:.FILE_TODO_BOKU
30
+ # ========================================================================= #
31
+ FILE_TODO_BOKU =
32
+ "#{ROEBE_STUDIUM_DIR}INDIVIDUELLE_STUDIEN/TODO_BOKU.md"
33
+
34
+ # ========================================================================= #
35
+ # === BOKU_WIEN_DIR
36
+ #
37
+ # This is just for my personal home directory setup.
38
+ # ========================================================================= #
39
+ BOKU_WIEN_DIR = "#{ROEBE_STUDIUM_DIR}BOKU_WIEN/"
40
+ ROEBE_BOKU_WIEN = BOKU_WIEN_DIR # === ROEBE_BOKU_WIEN
41
+
42
+ # ========================================================================= #
43
+ # === Studium::ROEBE_BOKU_WIEN_YAML
44
+ # ========================================================================= #
45
+ ROEBE_BOKU_WIEN_YAML =
46
+ "#{ROEBE_BOKU_WIEN}yaml/"
47
+
48
+ end
49
+
50
+ if __FILE__ == $PROGRAM_NAME
51
+ puts Studium::ROEBE_BOKU_WIEN_YAML
52
+ end
@@ -0,0 +1,25 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # This file contains constants relevant for the module Studium project.
6
+ # =========================================================================== #
7
+ # require 'studium/constants/constants.rb'
8
+ # =========================================================================== #
9
+ require 'studium/project/project.rb'
10
+ # =========================================================================== #
11
+ # Pull in some other constants next.
12
+ # =========================================================================== #
13
+ require 'studium/constants/boku_wien.rb'
14
+ require 'studium/constants/tu_wien.rb'
15
+ require 'studium/constants/roebe.rb'
16
+ require 'studium/constants/file_constants.rb'
17
+ require 'studium/constants/exam_topics.rb'
18
+ require 'studium/constants/lecture_types_that_are_mandatory_continuous_assessment.rb'
19
+ require 'studium/constants/misc.rb'
20
+ require 'studium/constants/unicode.rb'
21
+ require 'studium/constants/regexes.rb'
22
+ # =========================================================================== #
23
+ # Pull in the encoding-related constants next:
24
+ # =========================================================================== #
25
+ require 'studium/requires/require_encoding.rb'
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'studium/constants/delay.rb'
6
+ # FILE_DELAY
7
+ # =========================================================================== #
8
+ module Studium
9
+
10
+ require 'studium/project/project.rb'
11
+
12
+ # ========================================================================= #
13
+ # === FILE_DEFAULT_DELAY
14
+ #
15
+ # The following constant, and its aliases defined below, determines where
16
+ # to store the default delay for exam-questions to be used.
17
+ #
18
+ # This constant depends on the constant PROJECT_YAML_DIRECTORY, which
19
+ # is defined in the following file:
20
+ #
21
+ # studium/project/project_yaml_directory.rb
22
+ #
23
+ # ========================================================================= #
24
+ FILE_DEFAULT_DELAY = "#{PROJECT_YAML_DIRECTORY}default_delay.yml"
25
+ FILE_DELAY = FILE_DEFAULT_DELAY # === FILE_DELAY
26
+ DELAY_CONSTANT_STORED_HERE = FILE_DEFAULT_DELAY # === DELAY_CONSTANT_STORED_HERE
27
+
28
+ end
@@ -0,0 +1,28 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'studium/constants/editor.rb'
6
+ # =========================================================================== #
7
+ module Studium
8
+
9
+ require 'studium/constants/file_constants.rb'
10
+ require 'studium/requires/require_yaml.rb'
11
+
12
+ # ========================================================================= #
13
+ # === USE_THIS_EDITOR
14
+ #
15
+ # The main editor for use in the project. This setting can be overruled
16
+ # on the commandline.
17
+ # ========================================================================= #
18
+ if File.exist? FILE_EDITOR
19
+ USE_THIS_EDITOR = YAML.load_file(FILE_EDITOR)
20
+ else
21
+ USE_THIS_EDITOR = 'bluefish'
22
+ end
23
+
24
+ end
25
+
26
+ if __FILE__ == $PROGRAM_NAME
27
+ puts Studium::USE_THIS_EDITOR
28
+ end
@@ -0,0 +1,183 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # require 'studium/constants/exam_topics.rb'
6
+ # =========================================================================== #
7
+ module Studium
8
+
9
+ require 'studium/project/project.rb'
10
+ require 'studium/constants/file_constants.rb'
11
+ require 'studium/toplevel_methods/is_on_roebe.rb' # Required in this file here.
12
+ require 'studium/toplevel_methods/save_file.rb'
13
+ # =========================================================================== #
14
+ # The next file is necessary for the sfile() functionality.
15
+ # =========================================================================== #
16
+ require 'studium/colours/colours.rb'
17
+
18
+ # ========================================================================= #
19
+ # === @exam_topics
20
+ # ========================================================================= #
21
+ @exam_topics = nil # Initialize it.
22
+
23
+ # ========================================================================= #
24
+ # === MY_EXAM_TOPICS
25
+ #
26
+ # Just for my exam topics - a hardcoded constant to the directory there.
27
+ # ========================================================================= #
28
+ MY_EXAM_TOPICS =
29
+ "#{RUBY_SRC_STUDIUM_LIB}studium/exam_topics/"
30
+
31
+ # ========================================================================= #
32
+ # === EXAM_TOPICS
33
+ #
34
+ # This constant will store where the exam topics are stored on a
35
+ # given computer system.
36
+ #
37
+ # The path will be relative to the PROJECT_BASE_DIRECTORY constant.
38
+ #
39
+ # Note that this is a constant though - it is recommended to use
40
+ # the @exam_topics variable instead if you need the variable
41
+ # to be dynamic.
42
+ #
43
+ # This may, for example, have a value such as:
44
+ #
45
+ # /Programs/Ruby/2.5.1/lib/ruby/site_ruby/2.5.0/studium/exam_topics/
46
+ #
47
+ # ========================================================================= #
48
+ EXAM_TOPICS = "#{Studium::PROJECT_BASE_DIRECTORY}exam_topics/"
49
+ # ======================================================================= #
50
+ # === DIRECTORY_TO_THE_EXAM_TOPICS
51
+ # ======================================================================= #
52
+ DIRECTORY_TO_THE_EXAM_TOPICS = EXAM_TOPICS
53
+ # ======================================================================= #
54
+ # === EXAM_TOPICS_DIRECTORY
55
+ #
56
+ # Same as above.
57
+ # ======================================================================= #
58
+ EXAM_TOPICS_DIRECTORY = EXAM_TOPICS
59
+
60
+ # ========================================================================= #
61
+ # === Studium.exam_topics_directory?
62
+ # ========================================================================= #
63
+ def self.exam_topics_directory?
64
+ "#{Studium::PROJECT_BASE_DIRECTORY}exam_topics/"
65
+ end
66
+
67
+ # ========================================================================= #
68
+ # === DIRECTORY_EXAM_TOPICS
69
+ #
70
+ # Determine where we can find the exam topics, as constant.
71
+ # ========================================================================= #
72
+ DIRECTORY_EXAM_TOPICS = MY_EXAM_TOPICS
73
+
74
+ # ========================================================================= #
75
+ # === Studium.set_exam_topics
76
+ #
77
+ # Note that this will point to a directory.
78
+ # ========================================================================= #
79
+ def self.set_exam_topics(
80
+ i = EXAM_TOPICS
81
+ )
82
+ i << '/' unless i.end_with? '/' # Ensure trailing '/' here.
83
+ @exam_topics = i
84
+ end
85
+
86
+ # ========================================================================= #
87
+ # === @exam_topics
88
+ #
89
+ # We need this instance variable on the toplevel because we may have
90
+ # to change this via the commandline sometimes.
91
+ #
92
+ # The input to Studium.set_exam_topics() should be a directory where
93
+ # the individual question-answer files can be found.
94
+ # ========================================================================= #
95
+ if ::Studium.is_on_roebe?
96
+ ::Studium.set_exam_topics(MY_EXAM_TOPICS)
97
+ else # This here is the default, for non-roebe systems.
98
+ ::Studium.set_exam_topics(EXAM_TOPICS)
99
+ end
100
+
101
+ # ========================================================================= #
102
+ # === directory_to_the_exam_topics.yml
103
+ #
104
+ # However had, the above can be overruled if the user has a non-empty
105
+ # yaml file called "directory_to_the_exam_topics.yml". If this file
106
+ # exists, and if it is non-empty, then we will instead use that as the
107
+ # directory. It will also overrule my personal setting in this case.
108
+ # ========================================================================= #
109
+ if File.exist?(FILE_DIRECTORY_TO_THE_EXAM_TOPICS) and
110
+ !File.empty?(FILE_DIRECTORY_TO_THE_EXAM_TOPICS)
111
+ _ = YAML.load_file(FILE_DIRECTORY_TO_THE_EXAM_TOPICS)
112
+ ::Studium.set_exam_topics(_)
113
+ end
114
+
115
+ # ========================================================================= #
116
+ # === Studium.permanenty_set_directory_to_the_exam_topics
117
+ #
118
+ # Use this method to permanently set another directory to
119
+ # the exam topics.
120
+ #
121
+ # Usage example:
122
+ #
123
+ # studium --set-directory-to-the-exam-topics=/Depot/j/EXAM_TOPICS/
124
+ #
125
+ # ========================================================================= #
126
+ def self.permanenty_set_directory_to_the_exam_topics(i)
127
+ i << '/' unless i.end_with? '/'
128
+ what = i
129
+ into = FILE_DIRECTORY_TO_THE_EXAM_TOPICS
130
+ Studium.write_what_into(what, into)
131
+ # ======================================================================= #
132
+ # On my home system, we will also update the file.
133
+ # ======================================================================= #
134
+ if ::Studium.is_on_roebe?
135
+ into = RUBY_STUDIUM_HOME_DIR+'yaml/directory_to_the_exam_topics.yml'
136
+ if File.exist? into
137
+ Studium.write_what_into(what, into)
138
+ else
139
+ e "File at `#{sfile(into)}` does not exist."
140
+ end
141
+ end
142
+ end
143
+
144
+ # ========================================================================= #
145
+ # === Studium.directory_to_the_exam_topics?
146
+ #
147
+ # This may return a directory, such as e. g.:
148
+ #
149
+ # /home/x/DATA/PROGRAMMING_LANGUAGES/RUBY/src/studium/lib/studium/exam_topics/
150
+ #
151
+ # ========================================================================= #
152
+ def self.directory_to_the_exam_topics?
153
+ @exam_topics
154
+ end; self.instance_eval { alias path_to_exam_topic? directory_to_the_exam_topics? } # === Studium.path_to_exam_topic?
155
+ self.instance_eval { alias exam_topics? directory_to_the_exam_topics? } # === Studium.exam_topics?
156
+ self.instance_eval { alias directory_to_the_exam_topics directory_to_the_exam_topics? } # === Studium.directory_to_the_exam_topics
157
+
158
+ # ========================================================================= #
159
+ # === Studium.directory_to_my_exam_topics
160
+ # ========================================================================= #
161
+ def self.directory_to_my_exam_topics
162
+ @exam_topics
163
+ end
164
+
165
+ # ========================================================================= #
166
+ # === Studium.return_location_to_this_exam_topic
167
+ #
168
+ # This method can be used to return the location to an exam topic.
169
+ # ========================================================================= #
170
+ def self.return_location_to_this_exam_topic(i)
171
+ i = i.first if i.is_a? Array
172
+ i = ::Studium.find_corresponding_exam_topic(i.to_s)
173
+ return "#{::Studium.exam_topics?}#{i}"
174
+ end; self.instance_eval { alias return_location_to_this_exam return_location_to_this_exam_topic } # === Studium.return_location_to_this_exam_topic
175
+
176
+ end
177
+
178
+ if __FILE__ == $PROGRAM_NAME
179
+ alias e puts
180
+ e Studium.directory_to_the_exam_topics?
181
+ e Studium.return_location_to_this_exam_topic(ARGV)
182
+ end # return_location_to_this_exam_topic
183
+ # return_location_to_this_exam_topic yeast
@@ -0,0 +1,875 @@
1
+ #!/usr/bin/ruby -w
2
+ # Encoding: UTF-8
3
+ # frozen_string_literal: true
4
+ # =========================================================================== #
5
+ # All constants that start with the word FILE_ should be stored in this
6
+ # file here.
7
+ # =========================================================================== #
8
+ # require 'studium/constants/file_constants.rb'
9
+ # ARRAY_REGISTERED_CURRICULA
10
+ # =========================================================================== #
11
+ module Studium
12
+
13
+ require 'studium/project/project.rb'
14
+ require 'studium/logging/log_directory.rb'
15
+ require 'studium/constants/roebe.rb'
16
+ require 'studium/constants/boku_wien.rb'
17
+ require 'studium/constants/tu_wien.rb'
18
+ require 'studium/constants/uni_wien.rb'
19
+
20
+ # ========================================================================= #
21
+ # === @file_lecture_information
22
+ # ========================================================================= #
23
+ @file_lecture_information = nil
24
+
25
+ # ========================================================================= #
26
+ # Internal local, temporary variable, just so that we can setup some
27
+ # other constants more readily.
28
+ # ========================================================================= #
29
+ log_dir = Studium.log_dir?
30
+
31
+ # ========================================================================= #
32
+ # === FILE_EXAMS
33
+ #
34
+ # The path to my exams-file. You could in principle modify this if
35
+ # you want to use your own exams file.
36
+ #
37
+ # On my home system, this constant will point at:
38
+ #
39
+ # /home/x/STUDIUM/YAML/exams.yml
40
+ #
41
+ # ========================================================================= #
42
+ FILE_EXAMS = "#{STUDIUM_YAML_DIR}exams.yml"
43
+ ALL_EXAMS_FILE = FILE_EXAMS # === ALL_EXAMS_FILE
44
+
45
+ # ========================================================================= #
46
+ # === @file_exams
47
+ # ========================================================================= #
48
+ @file_exams = FILE_EXAMS
49
+
50
+ # ========================================================================= #
51
+ # === Studium.file_exams?
52
+ # ========================================================================= #
53
+ def self.file_exams?
54
+ @file_exams
55
+ end
56
+
57
+ # ========================================================================= #
58
+ # === Studium.set_file_exams
59
+ #
60
+ # This setter allows you to use another exams-file, other than 'exams.yml'.
61
+ # ========================================================================= #
62
+ def self.set_file_exams(i = FILE_EXAMS)
63
+ @file_exams = i
64
+ end
65
+
66
+ # ========================================================================= #
67
+ # === FILE_TEN_ALIASES_YML
68
+ # ========================================================================= #
69
+ FILE_TEN_ALIASES_YML =
70
+ "#{log_dir?}ten_aliases.yml"
71
+
72
+ # ========================================================================= #
73
+ # === FILE_TWENTY_ALIASES_YML
74
+ # ========================================================================= #
75
+ FILE_TWENTY_ALIASES_YML =
76
+ "#{log_dir?}twenty_aliases.yml"
77
+
78
+ # ========================================================================= #
79
+ # === FILE_EXAM_TOPICS_ARCHIVE
80
+ # ========================================================================= #
81
+ FILE_EXAM_TOPICS_ARCHIVE = 'exam_topics.tar.xz'
82
+
83
+ # ========================================================================= #
84
+ # === FILE_N_TOTAL_QUESTIONS
85
+ #
86
+ # This constant may expand into e. g.
87
+ #
88
+ # "/Programs/Ruby/2.3.1/lib/ruby/site_ruby/2.3.0/studium/yaml/n_total_questions.yml"
89
+ #
90
+ # ========================================================================= #
91
+ FILE_N_TOTAL_QUESTIONS =
92
+ "#{yaml_directory?}n_total_questions.yml"
93
+
94
+ # ========================================================================= #
95
+ # === FILE_CUSTOM_COLOURS
96
+ # ========================================================================= #
97
+ FILE_CUSTOM_COLOURS =
98
+ "#{yaml_directory?}custom_colours.yml"
99
+
100
+ # ========================================================================= #
101
+ # === FILE_EDITOR
102
+ # ========================================================================= #
103
+ FILE_EDITOR =
104
+ "#{yaml_directory?}editor.yml"
105
+
106
+ # ========================================================================= #
107
+ # === Studium.file_for_exam_questions
108
+ #
109
+ # Easier module-method to query where the exam questions are stored.
110
+ #
111
+ # This may give a result such as:
112
+ # /Programs/Ruby/2.4.1/lib/ruby/site_ruby/2.4.0/studium/yaml/file_for_exam_questions.yml
113
+ # ========================================================================= #
114
+ def self.file_for_exam_questions
115
+ FILE_FOR_EXAM_QUESTIONS
116
+ end
117
+
118
+ # ========================================================================= #
119
+ # === FILE_LAST_TOPIC
120
+ #
121
+ # This file keeps track of the last topic used.
122
+ # ========================================================================= #
123
+ FILE_LAST_TOPIC = log_dir+'last_topic.md'
124
+
125
+ # ========================================================================= #
126
+ # === Studium.last_topic?
127
+ #
128
+ # Reader-method over the FILE_LAST_TOPIC constant. This one will determine
129
+ # the path dynamically, whereas the constant above will be always static.
130
+ # ========================================================================= #
131
+ def self.last_topic?
132
+ target_file = "#{Studium.log_dir?}last_topic.md"
133
+ if File.exist? target_file
134
+ File.read(target_file).chomp
135
+ else
136
+ e "No file exists at #{sfile(target_file)}."
137
+ end
138
+ end
139
+
140
+ # ========================================================================= #
141
+ # === FILE_EXAM_STATISTICS
142
+ #
143
+ # Where to keep our statistics.
144
+ # ========================================================================= #
145
+ FILE_EXAM_STATISTICS = "#{log_dir}exam_statistics"
146
+
147
+ # ========================================================================= #
148
+ # === Studium.file_statistics?
149
+ # ========================================================================= #
150
+ def self.file_statistics?
151
+ "#{Studium.yaml_directory?}statistics.yml"
152
+ end; self.instance_eval { alias file_statistics file_statistics? } # === Studium.file_statistics
153
+
154
+ # ========================================================================= #
155
+ # === FILE_DIRECTORY_TO_THE_EXAM_TOPICS
156
+ #
157
+ # Keep track of the directory to the exam topics.
158
+ #
159
+ # This will be hardcoded to return e. g.:
160
+ #
161
+ # /Programs/Ruby/2.4.1/lib/ruby/site_ruby/2.4.0/studium/yaml/directory_to_the_exam_topics.yml
162
+ #
163
+ # ========================================================================= #
164
+ FILE_DIRECTORY_TO_THE_EXAM_TOPICS =
165
+ "#{PROJECT_YAML_DIRECTORY}directory_to_the_exam_topics.yml"
166
+
167
+ # ========================================================================= #
168
+ # === ExamsPerMonth::FILE_PASSED_EXAMS_PER_MONTH
169
+ #
170
+ # This constant will hold the .csv dataset for my exams.
171
+ #
172
+ # bl $STUDIUM/YAML/passed_exams_per_month.csv
173
+ # ========================================================================= #
174
+ FILE_PASSED_EXAMS_PER_MONTH = STUDIUM_YAML_DIR+'passed_exams_per_month.csv'
175
+ PASSED_EXAMS_PER_MONTH = FILE_PASSED_EXAMS_PER_MONTH
176
+
177
+ # ========================================================================= #
178
+ # === FILE_SOMMERSEMESTER_LECTURES_AT_THE_UNIVERSITY_OF_VIENNA
179
+ #
180
+ # bl /Depot/Studium/sommersemester_lectures_at_the_university_of_vienna.yml
181
+ # ========================================================================= #
182
+ FILE_SOMMERSEMESTER_LECTURES_AT_THE_UNIVERSITY_OF_VIENNA =
183
+ log_dir+'sommersemester_lectures_at_the_university_of_vienna.yml'
184
+
185
+ # ========================================================================= #
186
+ # === FILE_CURRICULA_ASSIGNED_EXAMS
187
+ # ========================================================================= #
188
+ FILE_CURRICULA_ASSIGNED_EXAMS =
189
+ 'home/x/studium/yaml/curricula_assigned_exams.yml'
190
+
191
+ # ========================================================================= #
192
+ # === FILE_CURRICULA
193
+ #
194
+ # This would expand to the location:
195
+ #
196
+ # /Programs/Ruby/2.5.0/lib/ruby/site_ruby/2.5.0/studium/yaml/curricula.yml
197
+ #
198
+ # on my system.
199
+ # ========================================================================= #
200
+ FILE_CURRICULA = "#{Studium.yaml_directory?}curricula.yml"
201
+
202
+ # ========================================================================= #
203
+ # === Studium.file_mitteilungsblätter
204
+ # ========================================================================= #
205
+ def self.file_mitteilungsblätter
206
+ "#{Studium.yaml_directory?}mitteilungsblätter.yml"
207
+ end
208
+
209
+ # ========================================================================= #
210
+ # === FILE_IMPORTANT_EXAMS
211
+ # ========================================================================= #
212
+ FILE_IMPORTANT_EXAMS =
213
+ "#{PROJECT_YAML_DIRECTORY}important_exams.yml"
214
+
215
+ # ========================================================================= #
216
+ # === Studium.file_important_exams?
217
+ # ========================================================================= #
218
+ def self.file_important_exams?
219
+ FILE_IMPORTANT_EXAMS
220
+ end; self.instance_eval { alias important_exams? file_important_exams? } # === Studium.important_exams
221
+
222
+ # ========================================================================= #
223
+ # === FILE_UPCOMING_PRACTICAL_COURSES
224
+ #
225
+ # This file is for a .yml file that keeps track of upcoming practical
226
+ # courses. In particular, this may be helpful in order to determine
227
+ # which practical courses may overlap with one another.
228
+ # ========================================================================= #
229
+ FILE_UPCOMING_PRACTICAL_COURSES =
230
+ "#{STUDIUM_YAML_DIR}WS2017/upcoming_practical_courses.yml"
231
+
232
+ # ========================================================================= #
233
+ # === FILE_MAX_STATS
234
+ # ========================================================================= #
235
+ FILE_MAX_STATS =
236
+ "#{PROJECT_YAML_DIRECTORY}max_stats.yml"
237
+
238
+ # ========================================================================= #
239
+ # === FILE_ALLOWED_THEMES_FOR_EXAMS
240
+ # ========================================================================= #
241
+ FILE_ALLOWED_THEMES_FOR_EXAMS =
242
+ "#{PROJECT_YAML_DIRECTORY}allowed_themes_for_exams.yml"
243
+
244
+ # ========================================================================= #
245
+ # === Studium.file_allowed_themes_for_exams
246
+ # ========================================================================= #
247
+ def self.file_allowed_themes_for_exams
248
+ "#{PROJECT_YAML_DIRECTORY}allowed_themes_for_exams.yml"
249
+ end
250
+
251
+ # ========================================================================= #
252
+ # === FILE_LECTURE_INFORMATION
253
+ #
254
+ # This is a hardcoded constant. It is better to not use it, though,
255
+ # and instead use the toplevel instance variable called
256
+ # @file_lecture_information.
257
+ # ========================================================================= #
258
+ FILE_LECTURE_INFORMATION =
259
+ "#{PROJECT_YAML_DIRECTORY}lecture_information.yml"
260
+
261
+ # ========================================================================= #
262
+ # === FILE_LECTURE_ALIASES
263
+ # ========================================================================= #
264
+ FILE_LECTURE_ALIASES =
265
+ "#{PROJECT_YAML_DIRECTORY}lecture_aliases.yml"
266
+
267
+ # ========================================================================= #
268
+ # === Studium.file_lecture_aliases
269
+ # ========================================================================= #
270
+ def self.file_lecture_aliases
271
+ "#{PROJECT_YAML_DIRECTORY}lecture_aliases.yml"
272
+ end
273
+
274
+ # ========================================================================= #
275
+ # === Studium.file_array_allowed_entries_for_the_file_lecture_information
276
+ #
277
+ # This method will return a path such as the following one:
278
+ #
279
+ # /home/Programs/Ruby/2.7.1/lib/ruby/site_ruby/2.7.0/studium/yaml/lecture_aliases.yml
280
+ #
281
+ # ========================================================================= #
282
+ def self.file_array_allowed_entries_for_the_file_lecture_information
283
+ "#{PROJECT_YAML_DIRECTORY}lecture_aliases.yml"
284
+ end
285
+
286
+ # ========================================================================= #
287
+ # === FILE_BACHELOR_MASTER_BOKU_MOLEKULARE_BIOTECHNOLOGIE_UND_BIOINFORMATIK
288
+ #
289
+ # This entry point is for an individual curriculum.
290
+ # ========================================================================= #
291
+ FILE_BACHELOR_MASTER_BOKU_MOLEKULARE_BIOTECHNOLOGIE_UND_BIOINFORMATIK =
292
+ "#{ROEBE_BOKU_WIEN_YAML}"\
293
+ "bachelor_master_molekulare_biotechnologie_und_bioinformatik.yml"
294
+
295
+ # ========================================================================= #
296
+ # === FILE_BACHELOR_BOKU_INDIVIDUELLES_CURRICULUM_BIOINFORMATIK_UND_BIOANALYTIK
297
+ # ========================================================================= #
298
+ FILE_BACHELOR_BOKU_INDIVIDUELLES_CURRICULUM_BIOINFORMATIK_UND_BIOANALYTIK =
299
+ "#{ROEBE_BOKU_WIEN_YAML}"\
300
+ "bachelor_individuelles_curriculum_bio_informatik_und_molekulare_biotechnologie_mit_den_schwerpunkten_immunobiotechnologe_und_agrarbiotechnologie.yml"
301
+
302
+ # ========================================================================= #
303
+ # === FILE_MASTER_BOKU_INDIVIDUELLES_CURRICULUM_BIOINFORMATIK_UND_BIOANALYTIK
304
+ # ========================================================================= #
305
+ FILE_MASTER_BOKU_INDIVIDUELLES_CURRICULUM_BIOINFORMATIK_UND_BIOANALYTIK =
306
+ "#{ROEBE_BOKU_WIEN_YAML}"\
307
+ "master_individuelles_curriculum_bio_informatik_und_molekulare_biotechnologie_mit_den_schwerpunkten_immunobiotechnologe_und_agrarbiotechnologie.yml"
308
+
309
+ # ========================================================================= #
310
+ # === FILE_BACHELOR_MASTER_TU_WIEN_INDIVIDUELLES_STUDIUM
311
+ # ========================================================================= #
312
+ FILE_BACHELOR_MASTER_TU_WIEN_INDIVIDUELLES_STUDIUM =
313
+ "#{ROEBE_TU_WIEN_YAML}"\
314
+ "bachelor_master_individuelles_studium_noch_ohne_namen_an_der_TU_Wien.yml"
315
+
316
+ # ========================================================================= #
317
+ # === FILE_HOLIDAYS
318
+ #
319
+ # The holidays.yml file keeps track of holidays at different
320
+ # universities in Austria.
321
+ # ========================================================================= #
322
+ FILE_HOLIDAYS =
323
+ "#{PROJECT_YAML_DIRECTORY}holidays.yml"
324
+
325
+ # ========================================================================= #
326
+ # === Studium.file_holidays
327
+ # ========================================================================= #
328
+ def self.file_holidays
329
+ "#{PROJECT_YAML_DIRECTORY}holidays.yml"
330
+ end
331
+
332
+ # ========================================================================= #
333
+ # === FILE_GROUPED_THEMES
334
+ #
335
+ # bl $RSRC/studium/lib/studium/yaml/grouped_themes.yml
336
+ # ========================================================================= #
337
+ FILE_GROUPED_THEMES = "#{Studium.yaml_directory?}grouped_themes.yml"
338
+
339
+ # ========================================================================= #
340
+ # === Studium.file_grouped_themes
341
+ # ========================================================================= #
342
+ def self.file_grouped_themes
343
+ "#{Studium.yaml_directory?}grouped_themes.yml"
344
+ end
345
+
346
+ # ========================================================================= #
347
+ # === FILE_BACHELOR_MOLEKULARE_BIOLOGIE
348
+ #
349
+ # This is the bachelor-curriculum part for "molekulare biologie" in
350
+ # Vienna.
351
+ # ========================================================================= #
352
+ FILE_BACHELOR_MOLEKULARE_BIOLOGIE =
353
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
354
+ "bachelor_biologie_molekulare_biologie_033630.yml"
355
+ UNIWIEN_BACHELOR_MOLEKULARE_BIOLOGIE = FILE_BACHELOR_MOLEKULARE_BIOLOGIE
356
+
357
+ # ========================================================================= #
358
+ # === FILE_MASTER_MOLEKULARE_BIOLOGIE
359
+ #
360
+ # The curriculum number for the master molecular biology is 066834.
361
+ # ========================================================================= #
362
+ FILE_MASTER_MOLEKULARE_BIOLOGIE =
363
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
364
+ "master_molekulare_biologie_066834.yml"
365
+ UNIWIEN_MASTER_MOLEKULARE_BIOLOGIE = FILE_MASTER_MOLEKULARE_BIOLOGIE # === UNIWIEN_MASTER_MOLEKULARE_BIOLOGIE
366
+ FILE_MASTER_MOLBIO = FILE_MASTER_MOLEKULARE_BIOLOGIE # === FILE_MASTER_MOLBIO
367
+
368
+ # ========================================================================= #
369
+ # === FILE_MASTER_IMMUNBIOLOGIE
370
+ #
371
+ # This is the main immunobiologie master, in vienna. The curriculum
372
+ # number is 066830.
373
+ # ========================================================================= #
374
+ FILE_MASTER_IMMUNBIOLOGIE =
375
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
376
+ "master_biologie_molekulare_mikrobiologie_mikrobielle_oekologie_und_immunbiologie_066830.yml"
377
+ UNIWIEN_MASTER_IMMUNBIOLOGIE = FILE_MASTER_IMMUNBIOLOGIE # === UNIWIEN_MASTER_IMMUNBIOLOGIE
378
+ FILE_MASTER_IMMUNO = FILE_MASTER_IMMUNBIOLOGIE # === FILE_MASTER_IMMUNO
379
+ FILE_MASTER_IMMUNOBIOLOGY_CURRICULUM = FILE_MASTER_IMMUNBIOLOGIE # === FILE_MASTER_IMMUNOBIOLOGY_CURRICULUM
380
+
381
+ # ========================================================================= #
382
+ # === FILE_BACHELOR_LMBT
383
+ #
384
+ # This is the curriculum for the BOKU "Lebensmittel- und Biotechnologie".
385
+ # ========================================================================= #
386
+ FILE_BACHELOR_LMBT =
387
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
388
+ "bachelor_lmbt_033217.yml"
389
+ BOKU_BACHELOR_LMBT_CURRICULUM = FILE_BACHELOR_LMBT # === BOKU_BACHELOR_LMBT_CURRICULUM
390
+ FILE_BACHELOR_BOKU_LMBT = FILE_BACHELOR_LMBT # === FILE_BACHELOR_BOKU_LMBT
391
+ FILE_BOKU_BACHELOR_LMBT_CURRICULUM = FILE_BACHELOR_LMBT # === FILE_BOKU_BACHELOR_LMBT_CURRICULUM
392
+
393
+ # ========================================================================= #
394
+ # === FILE_BACHELOR_BOTANIK
395
+ # ========================================================================= #
396
+ FILE_BACHELOR_BOTANIK =
397
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
398
+ "bachelor_biologie_botanik_033630.yml"
399
+ UNIWIEN_BACHELOR_BOTANIK_BIOLOGIE = FILE_BACHELOR_BOTANIK # === UNIWIEN_BACHELOR_BOTANIK_BIOLOGIE
400
+ FILE_BACHELOR_BOTANIK_CURRICULUM = FILE_BACHELOR_BOTANIK # === FILE_BACHELOR_BOTANIK_CURRICULUM
401
+
402
+ # ========================================================================= #
403
+ # === FILE_UNIWIEN_MASTER_BIOINFORMATIK_CURRICULUM
404
+ # ========================================================================= #
405
+ FILE_UNIWIEN_MASTER_BIOINFORMATIK_CURRICULUM =
406
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
407
+ "master_bioinformatik_066875.yml"
408
+
409
+ # ========================================================================= #
410
+ # === FILE_BACHELOR_MEDIZINISCHE_INFORMATIK_CURRICULUM
411
+ # ========================================================================= #
412
+ FILE_BACHELOR_MEDIZINISCHE_INFORMATIK_CURRICULUM =
413
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
414
+ "bachelor_medizinische_informatik_033533.yml"
415
+
416
+ # ========================================================================= #
417
+ # === FILE_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN
418
+ # ========================================================================= #
419
+ FILE_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN =
420
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
421
+ "bachelor_nutrition_science_033638.yml"
422
+ FILE_BACHELOR_ERN = FILE_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN # === FILE_BACHELOR_ERN
423
+ UNI_WIEN_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN_CURRICULUM = FILE_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN # === UNI_WIEN_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN_CURRICULUM
424
+ FILE_UNI_WIEN_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN_CURRICULUM = FILE_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN # === FILE_UNI_WIEN_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN_CURRICULUM
425
+
426
+ # ========================================================================= #
427
+ # === FILE_BACHELOR_ECOLOGY (ecology tag)
428
+ # ========================================================================= #
429
+ FILE_BACHELOR_ECOLOGY =
430
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
431
+ "bachelor_biologie_ecology_033630.yml"
432
+
433
+ # ========================================================================= #
434
+ # === FILE_MASTER_GENETIK_UND_ENTWICKLUNGSBIOLOGIE
435
+ #
436
+ # Has the number 066877.
437
+ # ========================================================================= #
438
+ FILE_MASTER_GENETIK_UND_ENTWICKLUNGSBIOLOGIE =
439
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
440
+ "master_genetik_und_entwicklungsbiologie_066877.yml"
441
+ FILE_MASTER_GENETIK_UND_ENTWICKLUNGSBIOLOGIE_CURRICULUM = FILE_MASTER_GENETIK_UND_ENTWICKLUNGSBIOLOGIE
442
+
443
+ # ========================================================================= #
444
+ # === FILE_ALL_REGISTERED_UPCOMING_EXAMS
445
+ #
446
+ # The path may be like this:
447
+ #
448
+ # /root/Studium/all_registered_upcoming_exams.yml
449
+ #
450
+ # ========================================================================= #
451
+ FILE_ALL_REGISTERED_UPCOMING_EXAMS =
452
+ "#{log_dir?}all_registered_upcoming_exams.yml"
453
+
454
+ # ========================================================================= #
455
+ # === FILE_MASTER_LMBT
456
+ # ========================================================================= #
457
+ FILE_MASTER_LMBT =
458
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
459
+ "master_lmbt_066418.yml"
460
+ BOKU_MASTER_LMBT_CURRICULUM = FILE_MASTER_LMBT # === BOKU_MASTER_LMBT_CURRICULUM
461
+ FILE_BOKU_MASTER_LMBT = FILE_MASTER_LMBT # === FILE_BOKU_MASTER_LMBT
462
+ FILE_MASTER_LMBT_CURRICULUM = FILE_MASTER_LMBT # === FILE_MASTER_LMBT_CURRICULUM
463
+
464
+ # ========================================================================= #
465
+ # === FILE_BACHELOR_BOKU_UBRM
466
+ #
467
+ # This is for the UBRM Bachelorcurriculum at the BOKU.
468
+ # ========================================================================= #
469
+ FILE_BACHELOR_BOKU_UBRM =
470
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
471
+ "bachelor_ubrm_033227.yml"
472
+ FILE_BACHELOR_UBRM = FILE_BACHELOR_BOKU_UBRM # === FILE_BACHELOR_UBRM
473
+ FILE_BACHELOR_UBRM_CURRICULUM = FILE_BACHELOR_BOKU_UBRM # === FILE_BACHELOR_UBRM_CURRICULUM
474
+
475
+ # ========================================================================= #
476
+ # === BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM
477
+ #
478
+ # This is the AW curriculum at the BOKU.
479
+ # ========================================================================= #
480
+ FILE_BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM =
481
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
482
+ "bachelor_agrarwissenschaften_033255.yml"
483
+ BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM = FILE_BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM # === BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM
484
+ BOKU_BACHELOR_AW_CURRICULUM = FILE_BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM # === BOKU_BACHELOR_AW_CURRICULUM
485
+ FILE_BACHELOR_AGRARWISSENSCHAFTEN = FILE_BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM # === FILE_BACHELOR_AGRARWISSENSCHAFTEN
486
+ FILE_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM = FILE_BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM # === FILE_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM
487
+
488
+ # ========================================================================= #
489
+ # === FILE_BACHELOR_INFORMATIK_CURRICULUM
490
+ # ========================================================================= #
491
+ FILE_BACHELOR_INFORMATIK_CURRICULUM =
492
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
493
+ "bachelor_informatik_033521.yml"
494
+
495
+ # ========================================================================= #
496
+ # === FILE_MASTER_BIOLOGISCHE_CHEMIE_CURRICULUM
497
+ # ========================================================================= #
498
+ FILE_MASTER_BIOLOGISCHE_CHEMIE_CURRICULUM =
499
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
500
+ "master_biologische_chemie_066863.yml"
501
+
502
+ # ========================================================================= #
503
+ # === FILE_MASTER_PHARMAZIE
504
+ #
505
+ # This constant is for the master-curriculum pharmacy, at the
506
+ # University of Vienna.
507
+ # ========================================================================= #
508
+ FILE_MASTER_PHARMAZIE =
509
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
510
+ "master_pharmazie_066605.yml"
511
+ UNIWIEN_MASTER_PHARMAZIE = FILE_MASTER_PHARMAZIE # === UNIWIEN_MASTER_PHARMAZIE
512
+ FILE_MASTER_PHARMAZIE_CURRICULUM = FILE_MASTER_PHARMAZIE # === FILE_MASTER_PHARMAZIE_CURRICULUM
513
+
514
+ # ========================================================================= #
515
+ # === FILE_BACHELOR_CHEMIE_CURRICULUM
516
+ # ========================================================================= #
517
+ FILE_BACHELOR_CHEMIE_CURRICULUM =
518
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
519
+ "bachelor_chemie_033662.yml"
520
+ UNI_WIEN_BACHELOR_CHEMIE_CURRICULUM = FILE_BACHELOR_CHEMIE_CURRICULUM # === UNI_WIEN_BACHELOR_CHEMIE_CURRICULUM
521
+ FILE_BACHELOR_UNI_WIEN_CHEMISTRY = FILE_BACHELOR_CHEMIE_CURRICULUM # === FILE_BACHELOR_UNI_WIEN_CHEMISTRY
522
+ FILE_UNI_WIEN_BACHELOR_CHEMIE_CURRICULUM = FILE_BACHELOR_CHEMIE_CURRICULUM # === FILE_UNI_WIEN_BACHELOR_CHEMIE_CURRICULUM
523
+
524
+ # ========================================================================= #
525
+ # === FILE_BACHELOR_PHARMAZIE
526
+ # ========================================================================= #
527
+ FILE_BACHELOR_PHARMAZIE =
528
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
529
+ "bachelor_pharmazie_033305.yml"
530
+ UNIWIEN_BACHELOR_PHARMAZIE = FILE_BACHELOR_PHARMAZIE # === UNIWIEN_BACHELOR_PHARMAZIE
531
+ FILE_BACHELOR_PHARMAZIE_CURRICULUM = FILE_BACHELOR_PHARMAZIE # === FILE_BACHELOR_PHARMAZIE_CURRICULUM
532
+
533
+ # ========================================================================= #
534
+ # === FILE_BACHELOR_GENETIK
535
+ #
536
+ # This constant has a few "aliases".
537
+ # ========================================================================= #
538
+ FILE_BACHELOR_GENETIK =
539
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
540
+ "bachelor_biologie_mikrobiologie_und_genetik_033630.yml"
541
+ UNIWIEN_BACHELOR_MIKROBIOLOGIE_UND_GENETIK_BIOLOGIE = FILE_BACHELOR_GENETIK
542
+ FILE_BACHELOR_BIOLOGIE_MIKROBIOLOGIE_UND_GENETIK = FILE_BACHELOR_GENETIK
543
+
544
+ # ========================================================================= #
545
+ # === FILE_TUWIEN_MASTER_BIOTECHNOLOGY_CURRICULUM
546
+ # ========================================================================= #
547
+ FILE_TUWIEN_MASTER_BIOTECHNOLOGY_CURRICULUM =
548
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
549
+ "master_technische_chemie_066490.yml"
550
+ TUWIEN_MASTER_BIOTECHNOLOGY = FILE_TUWIEN_MASTER_BIOTECHNOLOGY_CURRICULUM
551
+ FILE_MASTER_TUVIENNA_BIOTECHNOLOGY = FILE_TUWIEN_MASTER_BIOTECHNOLOGY_CURRICULUM
552
+
553
+ # ========================================================================= #
554
+ # === FILE_LAST_RECORDED_START_TIME
555
+ # ========================================================================= #
556
+ FILE_LAST_RECORDED_START_TIME =
557
+ "#{Studium.log_dir?}last_recorded_start_time.md"
558
+
559
+ # ========================================================================= #
560
+ # Assign to @file_lecture_information once, initially.
561
+ # ========================================================================= #
562
+ @file_lecture_information = FILE_LECTURE_INFORMATION
563
+
564
+ # ========================================================================= #
565
+ # === FILE_BACHELOR_TECHNISCHE_CHEMIE_CURRICULUM
566
+ # ========================================================================= #
567
+ FILE_BACHELOR_TECHNISCHE_CHEMIE_CURRICULUM =
568
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
569
+ "bachelor_technische_chemie_033290.yml"
570
+
571
+ # ========================================================================= #
572
+ # === FILE_BACHELOR_VERFAHRENSTECHNIK_CURRICULUM
573
+ # ========================================================================= #
574
+ FILE_BACHELOR_VERFAHRENSTECHNIK_CURRICULUM =
575
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
576
+ "bachelor_verfahrenstechnik_033273.yml"
577
+
578
+ # ========================================================================= #
579
+ # === FILE_BACHELOR_MOLEKULARBIOLOGIE_GRAZ_CURRICULUM
580
+ # ========================================================================= #
581
+ FILE_BACHELOR_MOLEKULARBIOLOGIE_GRAZ_CURRICULUM =
582
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
583
+ "bachelor_molekularbiologie_033665.yml"
584
+
585
+ # ========================================================================= #
586
+ # === ROEBE_FILE_RENAME_KONSOLE_TAB
587
+ #
588
+ # Hardcoded path since this is only used on my home system.
589
+ # ========================================================================= #
590
+ ROEBE_FILE_RENAME_KONSOLE_TAB =
591
+ "#{RUBY_STUDIUM_HOME_DIR}yaml/rename_konsole_tab.yml"
592
+
593
+ # ========================================================================= #
594
+ # === FILE_RENAME_KONSOLE_TAB
595
+ #
596
+ # This constant specifies the path to the file that controls
597
+ # as to whether we will rename the KDE konsole tab or
598
+ # whether we will not.
599
+ # ========================================================================= #
600
+ FILE_RENAME_KONSOLE_TAB =
601
+ "#{PROJECT_YAML_DIRECTORY}rename_konsole_tab.yml"
602
+
603
+ # ========================================================================= #
604
+ # === Studium.set_file_lecture_information
605
+ # ========================================================================= #
606
+ def self.set_file_lecture_information(i)
607
+ @file_lecture_information = i
608
+ end
609
+
610
+ # ========================================================================= #
611
+ # === Studium.file_lecture_information?
612
+ #
613
+ # Note that a certain environment variable will always overrule the
614
+ # result of the following method.
615
+ # ========================================================================= #
616
+ def self.file_lecture_information?
617
+ if ENV.has_key? 'STUDIUM_FILE_LECTURE_INFORMATION'
618
+ ENV['STUDIUM_FILE_LECTURE_INFORMATION'].dup
619
+ else
620
+ @file_lecture_information
621
+ end
622
+ end; self.instance_eval { alias file_lecture_information file_lecture_information? } # === Studium.file_lecture_information
623
+ self.instance_eval { alias lecture_information? file_lecture_information? } # === Studium.lecture_information
624
+
625
+ # ========================================================================= #
626
+ # === FILE_BACKLOG_OF_EXAMS
627
+ # ========================================================================= #
628
+ FILE_BACKLOG_OF_EXAMS =
629
+ "#{yaml_directory?}backlog_of_exams.yml"
630
+
631
+ # ========================================================================= #
632
+ # === FILE_MAIN_TOPIC
633
+ #
634
+ # The main_topic.yml file contains our "afterburn" exam-topics.
635
+ # ========================================================================= #
636
+ FILE_MAIN_TOPIC =
637
+ "#{yaml_directory?}main_topic.yml"
638
+
639
+ # ========================================================================= #
640
+ # === FILE_STATISTICS
641
+ #
642
+ # This constant will point to e. g. the file
643
+ # "studium/yaml/statistics.yml".
644
+ # ========================================================================= #
645
+ FILE_STATISTICS =
646
+ "#{Studium.yaml_directory?}statistics.yml"
647
+
648
+ # ========================================================================= #
649
+ # === FILE_UNIWIEN_BACHELOR_BASISBLOCK_BIOLOGIE
650
+ # ========================================================================= #
651
+ FILE_UNIWIEN_BACHELOR_BASISBLOCK_BIOLOGIE =
652
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
653
+ "bachelor_biologie_basisblock_033630.yml"
654
+ UNIWIEN_BACHELOR_BASISBLOCK_BIOLOGIE = FILE_UNIWIEN_BACHELOR_BASISBLOCK_BIOLOGIE
655
+ FILE_BACHELOR_BIOLOGIE_BASISBLOCK = FILE_UNIWIEN_BACHELOR_BASISBLOCK_BIOLOGIE
656
+
657
+ # ========================================================================= #
658
+ # === FILE_META_TOPICS_STATISTICS
659
+ #
660
+ # This file will keep track of the statistics for the meta-topics,
661
+ # such as meta-genetics or meta-biochemistry. We will only store
662
+ # the maximum values each, that is, how many questions were answered.
663
+ #
664
+ # The format for each entry in the .yml file will be:
665
+ #
666
+ # :meta_biochemistry = { n_questions: 4314, n_answers: 1345 }
667
+ #
668
+ # ========================================================================= #
669
+ FILE_META_TOPICS_STATISTICS =
670
+ "#{yaml_directory?}meta_topics_statistics.yml"
671
+
672
+ # ========================================================================= #
673
+ # === FILE_BACHELOR_VEKTORX (vector tag, vektor tag)
674
+ #
675
+ # This is the bachelor-curriculum uniting Vektoren, Biotechnology
676
+ # and Bioinformatics. It is the main entry point.
677
+ # ========================================================================= #
678
+ FILE_BACHELOR_VEKTORX =
679
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
680
+ "bachelor_vector_based_strategies_in_life_sciences_molecular_medicine_and_biotechnology"\
681
+ ".yml"
682
+ BACHELOR_MOLEKULARSIMULATORISCHE_VEKTOREN = FILE_BACHELOR_VEKTORX # === BACHELOR_MOLEKULARSIMULATORISCHE_VEKTOREN
683
+ FILE_BACHELOR_VECTOR = FILE_BACHELOR_VEKTORX # === FILE_BACHELOR_VECTOR
684
+ FILE_BACHELOR_VEKTORSYSTEME = FILE_BACHELOR_VEKTORX # === FILE_BACHELOR_VEKTORSYSTEME
685
+ FILE_BACHELOR_MOLEKULARSIMULATORISCHE_VEKTOREN = FILE_BACHELOR_VEKTORX # === FILE_BACHELOR_MOLEKULARSIMULATORISCHE_VEKTOREN
686
+ FILE_BACHELOR = FILE_BACHELOR_VEKTORX # === FILE_BACHELOR
687
+ FILE_INDIVIDUAL_BACHELOR_CURRICULUM = FILE_BACHELOR_VEKTORX # === FILE_INDIVIDUAL_BACHELOR_CURRICULUM
688
+ FILE_BACHELOR_VEKTOR_CURRICULUM = FILE_BACHELOR_VEKTORX # === FILE_BACHELOR_VEKTOR_CURRICULUM
689
+
690
+ # ========================================================================= #
691
+ # === FILE_MASTER_VEKTORX
692
+ #
693
+ # This is for the individual master-curriculum, vektorx, at the
694
+ # University of Vienna.
695
+ # ========================================================================= #
696
+ FILE_MASTER_VEKTORX =
697
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
698
+ "master_vector_based_strategies_in_life_sciences_molecular_medicine_and_biotechnology"\
699
+ ".yml"
700
+ FILE_MASTER_MOLEKULARSIMULATORISCHE_VEKTOREN = FILE_MASTER_VEKTORX # === FILE_MASTER_MOLEKULARSIMULATORISCHE_VEKTOREN
701
+ MASTER_MOLEKULARSIMULATORISCHE_VEKTOREN = FILE_MASTER_VEKTORX # === MASTER_MOLEKULARSIMULATORISCHE_VEKTOREN
702
+ FILE_MASTER_VECTOR = FILE_MASTER_VEKTORX # === FILE_MASTER_VECTOR
703
+ FILE_MASTER_VEKTORSYSTEME = FILE_MASTER_VEKTORX # === FILE_MASTER_VEKTORSYSTEME
704
+
705
+ # ========================================================================= #
706
+ # === FILE_BACHELOR_BOKU_KTWW_CURRICULUM
707
+ # ========================================================================= #
708
+ FILE_BACHELOR_BOKU_KTWW_CURRICULUM =
709
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
710
+ "bachelor_ktww_033231.yml"
711
+
712
+ # ========================================================================= #
713
+ # === FILE_BACHELOR_DUMMY_CURRICULUM
714
+ # ========================================================================= #
715
+ FILE_BACHELOR_DUMMY_CURRICULUM =
716
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
717
+ "bachelor_dummy_curriculum.yml"
718
+
719
+ # ========================================================================= #
720
+ # === FILE_MASTER_DUMMY_CURRICULUM
721
+ # ========================================================================= #
722
+ FILE_MASTER_DUMMY_CURRICULUM =
723
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
724
+ "master_dummy_curriculum.yml"
725
+
726
+ # ========================================================================= #
727
+ # === FILE_MASTER_BIOINFORMATICS_AND_MOLECULAR_BIOTECHNOLOGY
728
+ # ========================================================================= #
729
+ FILE_MASTER_BIOINFORMATICS_AND_MOLECULAR_BIOTECHNOLOGY =
730
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
731
+ "master_bioinformatics_and_molecular_biotechnology_including_aspects_from_molecular_medicine.yml"
732
+
733
+ # ========================================================================= #
734
+ # === FILE_BACHELOR_TUWIEN_WIRTSCHAFTSINFORMATIK_CURRICULUM
735
+ # ========================================================================= #
736
+ FILE_BACHELOR_TUWIEN_WIRTSCHAFTSINFORMATIK_CURRICULUM =
737
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
738
+ "bachelor_wirtschaftsinformatik_033526.yml"
739
+
740
+ # ========================================================================= #
741
+ # === FILE_BACHELOR_BIOINFORMATIK_UND_MOLEKULARE_BIOTECHNOLOGIE_UNTER_BERÜCKSICHTIGUNG_MEDIZINISCH_IMMUNOLOGISCHER_ASPEKTE_CURRICULUM
742
+ # ========================================================================= #
743
+ FILE_BACHELOR_BIOINFORMATIK_UND_MOLEKULARE_BIOTECHNOLOGIE_UNTER_BERÜCKSICHTIGUNG_MEDIZINISCH_IMMUNOLOGISCHER_ASPEKTE_CURRICULUM =
744
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
745
+ "bachelor_bioinformatik_und_molekulare_biotechnologie_unter_berücksichtigung_medizinisch_immunologischer_aspekte.yml"
746
+
747
+ # ========================================================================= #
748
+ # === FILE_BACHELOR_INFORMATIK_UND_MOLEKULARE_BIOLOGIE
749
+ # ========================================================================= #
750
+ FILE_BACHELOR_INFORMATIK_UND_MOLEKULARE_BIOLOGIE =
751
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
752
+ "bachelor_informatik_und_molekulare_biologie.yml"
753
+
754
+ # ========================================================================= #
755
+ # === FILE_BACHELOR_TUWIEN_ELEKTROTECHNIK_UND_INFORMATIONSTECHNIK_CURRICULUM
756
+ # ========================================================================= #
757
+ FILE_BACHELOR_TUWIEN_ELEKTROTECHNIK_UND_INFORMATIONSTECHNIK_CURRICULUM =
758
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
759
+ "bachelor_elektrotechnik_und_informationstechnik_033235.yml"
760
+
761
+ # ========================================================================= #
762
+ # === FILE_BACHELOR_FORSTWIRTSCHAFT_CURRICULUM
763
+ # ========================================================================= #
764
+ FILE_BACHELOR_FORSTWIRTSCHAFT_CURRICULUM =
765
+ "#{PROJECT_CURRICULA_YAML_DIRECTORY}"\
766
+ "bachelor_forstwirtschaft_033225.yml"
767
+
768
+ # ========================================================================= #
769
+ # === ARRAY_REGISTERED_CURRICULA_FILES
770
+ # ========================================================================= #
771
+ ARRAY_REGISTERED_CURRICULA_FILES = [
772
+ FILE_BACHELOR_MASTER_BOKU_MOLEKULARE_BIOTECHNOLOGIE_UND_BIOINFORMATIK,
773
+ FILE_BACHELOR_BOKU_INDIVIDUELLES_CURRICULUM_BIOINFORMATIK_UND_BIOANALYTIK,
774
+ FILE_MASTER_BOKU_INDIVIDUELLES_CURRICULUM_BIOINFORMATIK_UND_BIOANALYTIK,
775
+ FILE_BACHELOR_MASTER_TU_WIEN_INDIVIDUELLES_STUDIUM,
776
+ FILE_BACHELOR_MOLEKULARE_BIOLOGIE,
777
+ FILE_MASTER_MOLEKULARE_BIOLOGIE,
778
+ FILE_MASTER_IMMUNBIOLOGIE,
779
+ FILE_BACHELOR_LMBT,
780
+ FILE_BACHELOR_BOTANIK,
781
+ FILE_UNIWIEN_MASTER_BIOINFORMATIK_CURRICULUM,
782
+ FILE_BACHELOR_MEDIZINISCHE_INFORMATIK_CURRICULUM,
783
+ FILE_BACHELOR_ERNÄHRUNGSWISSENSCHAFTEN,
784
+ FILE_BACHELOR_ECOLOGY,
785
+ FILE_MASTER_GENETIK_UND_ENTWICKLUNGSBIOLOGIE,
786
+ FILE_MASTER_LMBT,
787
+ FILE_BACHELOR_BOKU_UBRM,
788
+ FILE_BOKU_BACHELOR_AGRARWISSENSCHAFTEN_CURRICULUM,
789
+ FILE_BACHELOR_INFORMATIK_CURRICULUM,
790
+ FILE_MASTER_BIOLOGISCHE_CHEMIE_CURRICULUM,
791
+ FILE_MASTER_PHARMAZIE,
792
+ FILE_BACHELOR_CHEMIE_CURRICULUM,
793
+ FILE_BACHELOR_PHARMAZIE,
794
+ FILE_BACHELOR_GENETIK,
795
+ FILE_TUWIEN_MASTER_BIOTECHNOLOGY_CURRICULUM,
796
+ FILE_BACHELOR_TECHNISCHE_CHEMIE_CURRICULUM,
797
+ FILE_BACHELOR_VERFAHRENSTECHNIK_CURRICULUM,
798
+ FILE_BACHELOR_MOLEKULARBIOLOGIE_GRAZ_CURRICULUM,
799
+ FILE_BACHELOR_VEKTORX,
800
+ FILE_MASTER_VEKTORX,
801
+ FILE_BACHELOR_BOKU_KTWW_CURRICULUM,
802
+ FILE_MASTER_BIOINFORMATICS_AND_MOLECULAR_BIOTECHNOLOGY,
803
+ FILE_BACHELOR_TUWIEN_WIRTSCHAFTSINFORMATIK_CURRICULUM,
804
+ FILE_BACHELOR_BIOINFORMATIK_UND_MOLEKULARE_BIOTECHNOLOGIE_UNTER_BERÜCKSICHTIGUNG_MEDIZINISCH_IMMUNOLOGISCHER_ASPEKTE_CURRICULUM,
805
+ FILE_BACHELOR_INFORMATIK_UND_MOLEKULARE_BIOLOGIE,
806
+ FILE_BACHELOR_TUWIEN_ELEKTROTECHNIK_UND_INFORMATIONSTECHNIK_CURRICULUM,
807
+ FILE_BACHELOR_FORSTWIRTSCHAFT_CURRICULUM
808
+ ]
809
+
810
+ # ========================================================================= #
811
+ # === FILE_FOR_EXAM_QUESTIONS
812
+ #
813
+ # This constant may be found at e. g.:
814
+ #
815
+ # /Programs/Ruby/2.6.0/lib/ruby/site_ruby/2.6.0/studium/yaml/file_for_last_exam_question.yml
816
+ #
817
+ # ========================================================================= #
818
+ FILE_FOR_EXAM_QUESTIONS =
819
+ "#{yaml_directory?}file_for_last_exam_question.yml"
820
+
821
+ # ========================================================================= #
822
+ # === FILE_PARTICIPATING_IN_THESE_COURSES
823
+ # ========================================================================= #
824
+ FILE_PARTICIPATING_IN_THESE_COURSES =
825
+ "#{yaml_directory?}participating_in_these_courses.yml"
826
+
827
+ # ========================================================================= #
828
+ # === FILE_CURRENT_EXAMS
829
+ #
830
+ # Where all current exams are kept.
831
+ #
832
+ # If the environment has a value defined for STUDIUM_YAML then we will
833
+ # use that. Otherwise, we will simply hardcode to the absolute path.
834
+ # ========================================================================= #
835
+ FILE_CURRENT_EXAMS = "#{Studium::PROJECT_YAML_DIRECTORY}current_exams.yml"
836
+ CURRENT_EXAMS = FILE_CURRENT_EXAMS
837
+
838
+ # ========================================================================= #
839
+ # === Studium.file_current_exams
840
+ #
841
+ # Feedback for the current-exams file, via this method.
842
+ # ========================================================================= #
843
+ def self.file_current_exams
844
+ FILE_CURRENT_EXAMS
845
+ end; self.instance_eval { alias current_exams file_current_exams } # === Studium.current_exams
846
+
847
+ # ========================================================================= #
848
+ # === Studium.main_topic?
849
+ #
850
+ # This method will return the main topics (themes) that were assigned
851
+ # manually - in other words, exam topics that were used.
852
+ # ========================================================================= #
853
+ def self.main_topic?(
854
+ return_all_entries = false
855
+ )
856
+ require 'studium/requires/require_yaml.rb'
857
+ case return_all_entries
858
+ when :return_the_full_dataset
859
+ return_all_entries = true
860
+ end
861
+ result = YAML.load_file(FILE_MAIN_TOPIC)
862
+ unless return_all_entries
863
+ if result.is_a? Array
864
+ result = result.first
865
+ end
866
+ end
867
+ result
868
+ end
869
+
870
+ end
871
+
872
+ if __FILE__ == $PROGRAM_NAME
873
+ puts Studium::ROEBE_BOKU_WIEN_YAML
874
+ pp Studium.main_topic?
875
+ end