forked from Decentrala/website
		
	add event generation to atom_gen.py
This commit is contained in:
		
							
								
								
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										2
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							@@ -1,3 +1,5 @@
 | 
				
			|||||||
venv/
 | 
					venv/
 | 
				
			||||||
poster.html
 | 
					poster.html
 | 
				
			||||||
poster.pdf
 | 
					poster.pdf
 | 
				
			||||||
 | 
					atom_blog.xml
 | 
				
			||||||
 | 
					atom_events.xml
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										56
									
								
								atom_gen.py
									
									
									
									
									
								
							
							
						
						
									
										56
									
								
								atom_gen.py
									
									
									
									
									
								
							@@ -5,6 +5,7 @@
 | 
				
			|||||||
# also expects that *.md files are in blog/ directory
 | 
					# also expects that *.md files are in blog/ directory
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from feedgen.feed import FeedGenerator
 | 
					from feedgen.feed import FeedGenerator
 | 
				
			||||||
 | 
					import datetime
 | 
				
			||||||
import subprocess
 | 
					import subprocess
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -25,21 +26,48 @@ def blogposts_list_gen():
 | 
				
			|||||||
            output_list.append([author, title, time, content_html, full_path])
 | 
					            output_list.append([author, title, time, content_html, full_path])
 | 
				
			||||||
    return output_list
 | 
					    return output_list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def feedgen(blogs):
 | 
					def events_list_gen():
 | 
				
			||||||
    fg = FeedGenerator()
 | 
					    output_list = []
 | 
				
			||||||
    fg.id('http://dmz.rs/')
 | 
					    events_file = open("dogadjaji.csv", "r")
 | 
				
			||||||
    fg.title('Decentrala Blog')
 | 
					    for line in events_file.readlines():
 | 
				
			||||||
    fg.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
 | 
					            date, time, location, title = line.split(", ")
 | 
				
			||||||
    fg.link( href='https://dmz.rs/atom.xml', rel='self' )
 | 
					            author = "Decentrala"
 | 
				
			||||||
 | 
					            content_html = f"Event is taking place at {location} on {date} at {time}. For more information see the forum at https://forum.dmz.rs"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            output_list.append([author, title, content_html])
 | 
				
			||||||
 | 
					    events_file.close()
 | 
				
			||||||
 | 
					    return output_list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def feedgen(blogs, events):
 | 
				
			||||||
 | 
					    fg_blog = FeedGenerator()
 | 
				
			||||||
 | 
					    fg_blog.id('http://dmz.rs/')
 | 
				
			||||||
 | 
					    fg_blog.title('Decentrala Blog')
 | 
				
			||||||
 | 
					    fg_blog.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
 | 
				
			||||||
 | 
					    fg_blog.link( href='https://dmz.rs/atom_blog.xml', rel='self' )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    fg_events = FeedGenerator()
 | 
				
			||||||
 | 
					    fg_events.id('http://dmz.rs/')
 | 
				
			||||||
 | 
					    fg_events.title('Decentrala Blog')
 | 
				
			||||||
 | 
					    fg_events.author( {'name':'Decentrala','email':'dmz@dmz.rs'} )
 | 
				
			||||||
 | 
					    fg_events.link( href='https://dmz.rs/atom_events.xml', rel='self' )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    for post in blogs:
 | 
					    for post in blogs:
 | 
				
			||||||
        fe = fg.add_entry()
 | 
					        fe_blogs = fg_blog.add_entry()
 | 
				
			||||||
        fe.id("https://dmz.rs/" + post[4][:-3] + ".html")
 | 
					        fe_blogs.id("https://dmz.rs/" + post[4][:-3] + ".html")
 | 
				
			||||||
        fe.author({'name': post[0]})
 | 
					        fe_blogs.author({'name': post[0]})
 | 
				
			||||||
        fe.title(post[1])
 | 
					        fe_blogs.title(post[1])
 | 
				
			||||||
        fe.updated(post[2])
 | 
					        fe_blogs.updated(post[2])
 | 
				
			||||||
        fe.content(content=post[3], type='html')
 | 
					        fe_blogs.content(content=post[3], type='html')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fg.atom_file('atom.xml')
 | 
					    for event in events:
 | 
				
			||||||
 | 
					        fe_events = fg_events.add_entry()
 | 
				
			||||||
 | 
					        fe_events.id("https://dmz.rs/pages/events.html")
 | 
				
			||||||
 | 
					        fe_events.author({'name': event[0]})
 | 
				
			||||||
 | 
					        fe_events.title(event[1])
 | 
				
			||||||
 | 
					        fe_events.updated(datetime.datetime.now(datetime.timezone.utc))
 | 
				
			||||||
 | 
					        fe_events.content(content=event[2], type='html')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
feedgen(blogposts_list_gen())
 | 
					    fg_blog.atom_file('atom_blog.xml')
 | 
				
			||||||
 | 
					    fg_events.atom_file('atom_events.xml')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					feedgen(blogposts_list_gen(), events_list_gen())
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user