Slugify event names to generate IDs, this avoids ID changes so users can keep alarms

This commit is contained in:
Nemo 2023-11-29 07:50:39 +05:30
parent 40a4daa06b
commit 3d2e39b500
3 changed files with 3080 additions and 1925 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

6
gen.rb
View File

@ -4,6 +4,10 @@ require 'json'
events = JSON.parse File.read 'docs/2023.json'
cal = Icalendar::Calendar.new
def slugify(str)
str.ljust(100).strip.gsub(/[\s\t\r\n\f]/,'_').gsub(/\W/,'').downcase
end
events.each do |event_data|
event_date = Date.parse(event_data['date'])
start_time = DateTime.parse("#{event_date} #{event_data['start_time']}")
@ -13,7 +17,7 @@ events.each do |event_data|
# Create an event within the calendar
cal.event do |e|
e.uid = event_data['id']
e.uid = slugify event_data['event_name']
e.dtstart = Icalendar::Values::DateTime.new(start_time, 'tzid' => "Asia/Kolkata")
e.dtend = Icalendar::Values::DateTime.new(end_time, 'tzid' => "Asia/Kolkata")
e.created = Icalendar::Values::DateTime.new(created_time, 'tzid' => "Asia/Kolkata")