|
@@ -0,0 +1,53 @@
|
|
|
+#!/bin/bash -e
|
|
|
+
|
|
|
+cd $LEKTORDIR
|
|
|
+
|
|
|
+# the feed information
|
|
|
+ID='tag:example.com:timekeeper'
|
|
|
+HASH=$(printf $ID | sha1sum | awk '{ print $1; }' )
|
|
|
+
|
|
|
+# other metadata
|
|
|
+HOST=$(hostname)
|
|
|
+MAX=10
|
|
|
+
|
|
|
+# create the feed
|
|
|
+mkdir -p src/$HASH
|
|
|
+echo $ID >src/$HASH/id
|
|
|
+echo Timekeeper >src/$HASH/name
|
|
|
+
|
|
|
+mkdir -p "tmp/$HASH"
|
|
|
+mkdir -p "new/$HASH"
|
|
|
+
|
|
|
+# create entries every hour
|
|
|
+while true; do
|
|
|
+ TIME=$(date '+%s')
|
|
|
+ ENTRY="$HASH/$TIME.$$.$HOST"
|
|
|
+
|
|
|
+ # if the file exists, wait two seconds and try again
|
|
|
+ RETRY=0
|
|
|
+ while [ -e $ENTRY ]
|
|
|
+ do
|
|
|
+ # if we've waited more than $MAX times, then
|
|
|
+ # give up
|
|
|
+ if [ $RETRY -gt $MAX ]; then
|
|
|
+ exit 1
|
|
|
+ fi
|
|
|
+ sleep 2
|
|
|
+ RETRY=$(expr $RETRY + 1)
|
|
|
+ done
|
|
|
+
|
|
|
+ # create the entry
|
|
|
+ mkdir -p tmp/$ENTRY
|
|
|
+
|
|
|
+ # create entry values
|
|
|
+ echo 'Current Time' >tmp/$ENTRY/title
|
|
|
+ echo $TIME >tmp/$ENTRY/content
|
|
|
+ echo "tag:example.com:timekeeper#$TIME" >tmp/$ENTRY/id
|
|
|
+ ln -s $LEKTORDIR/src/$HASH tmp/$ENTRY/feed
|
|
|
+
|
|
|
+ # move the entry to the new location
|
|
|
+ mv tmp/$ENTRY new/$ENTRY
|
|
|
+
|
|
|
+ # wait for half an hour and do it again
|
|
|
+ sleep 3600
|
|
|
+done
|