now also updating the front page

This commit is contained in:
2018-06-16 16:09:53 +02:00
parent 4fac492255
commit a1eb4645c4
2 changed files with 78 additions and 45 deletions

View File

@ -4,27 +4,18 @@ import os
import glob
import re
class Event( object ):
def __init__( self, path, glob ):
class Index( object ):
def __init__( self, path ):
self.path = path
self.glob = glob
self.fields = {}
self.doc = ""
def path_short( self ):
# XXX needs tidy
return "content/event/" + os.path.basename( self.path )
return "content/pages/index.md"
def open( self ):
if os.path.exists( self.path ):
self.read()
return False
for path in glob.glob( self.glob ):
if os.path.exists( path ):
self.path = path
self.read()
return False
return True
self.read()
def write( self ):
outdata = ( '''\
@ -45,6 +36,54 @@ class Event( object ):
self.fields = yaml.load( yamldata )
self.doc = docdata.strip()
def _toggle( self, fieldname ):
if self.fields.get( fieldname ):
del self.fields[ fieldname ]
else:
self.fields[ fieldname ] = True
return " ".join( [ x for x in [ 'incident', 'degraded', 'maintenance', 'notice', 'ok' ] if self.fields.get( x ) ] )
def toggle_incident( self ):
return self._toggle( 'incident' )
def toggle_degraded( self ):
return self._toggle( 'degraded' )
def toggle_maintenance( self ):
return self._toggle( 'maintenance' )
def toggle_notice( self ):
return self._toggle( 'notice' )
def toggle_ok( self ):
return self._toggle( 'ok' )
def set_flags( self, flags ):
for fieldname in [ 'incident', 'degraded', 'maintenance', 'notice', 'ok' ]:
self.fields[ fieldname ] = fieldname in flags
class Event( Index ):
def __init__( self, path, glob ):
super().__init__( path )
self.glob = glob
def path_short( self ):
# XXX needs tidy
return "content/event/" + os.path.basename( self.path )
def open( self ):
if os.path.exists( self.path ):
self.read()
return False
for path in glob.glob( self.glob ):
if os.path.exists( path ):
self.path = path
self.read()
return False
return True
def set_title( self, title ):
self.fields[ '$title@' ] = title
@ -86,25 +125,3 @@ class Event( object ):
if not self.fields.get( 'timeline' ):
self.fields[ 'timeline' ] = []
self.fields[ 'timeline' ].append( { 'time': time, 'line': line } )
def _toggle( self, fieldname ):
if self.fields.get( fieldname ):
del self.fields[ fieldname ]
else:
self.fields[ fieldname ] = True
return " ".join( [ x for x in [ 'incident', 'degraded', 'maintenance', 'notice', 'ok' ] if self.fields.get( x ) ] )
def toggle_incident( self ):
return self._toggle( 'incident' )
def toggle_degraded( self ):
return self._toggle( 'degraded' )
def toggle_maintenance( self ):
return self._toggle( 'maintenance' )
def toggle_notice( self ):
return self._toggle( 'notice' )
def toggle_ok( self ):
return self._toggle( 'ok' )