Store creation and modification dates separately
This commit is contained in:
parent
3370a8ed33
commit
f0785bef6d
1 changed files with 11 additions and 4 deletions
15
notes.sh
15
notes.sh
|
@ -80,6 +80,10 @@ uuid()
|
||||||
echo
|
echo
|
||||||
}
|
}
|
||||||
|
|
||||||
|
utc_timestamp() {
|
||||||
|
date -u +"%Y-%m-%dT%H:%M:%SZ"
|
||||||
|
}
|
||||||
|
|
||||||
gen_boundary()
|
gen_boundary()
|
||||||
{
|
{
|
||||||
for (( N=0; N < 32; ++N ))
|
for (( N=0; N < 32; ++N ))
|
||||||
|
@ -221,12 +225,12 @@ unpack_mime() {
|
||||||
FILE="$1"
|
FILE="$1"
|
||||||
DIR="$2"
|
DIR="$2"
|
||||||
|
|
||||||
DATE=$(get_header "$FILE" Date)
|
DATE=$(get_header "$FILE" X-Date)
|
||||||
SUBJECT=$(get_header "$FILE" Subject)
|
SUBJECT=$(get_header "$FILE" Subject)
|
||||||
MIME_TYPE=$(get_header "$FILE" Content-Type)
|
MIME_TYPE=$(get_header "$FILE" Content-Type)
|
||||||
NOTE_ID=$(get_header "$FILE" X-Note-Id)
|
NOTE_ID=$(get_header "$FILE" X-Note-Id)
|
||||||
|
|
||||||
echo "Date: $DATE" > "$DIR/note.md"
|
echo "X-Date: $DATE" > "$DIR/note.md"
|
||||||
if [ -n "$NOTE_ID" ]; then
|
if [ -n "$NOTE_ID" ]; then
|
||||||
echo "X-Note-Id: $NOTE_ID" >> "$DIR/note.md"
|
echo "X-Note-Id: $NOTE_ID" >> "$DIR/note.md"
|
||||||
fi
|
fi
|
||||||
|
@ -261,10 +265,12 @@ pack_mime() {
|
||||||
DIR="$1"
|
DIR="$1"
|
||||||
FILE="$2"
|
FILE="$2"
|
||||||
FILE_COUNT="$(ls "$DIR" | wc -l)"
|
FILE_COUNT="$(ls "$DIR" | wc -l)"
|
||||||
|
MIME_TIMESTAMP=$(LC_ALL="en_US.UTF-8" date "+$DATE_FORMAT")
|
||||||
|
|
||||||
if [[ "$FILE_COUNT" == "1" ]]; then
|
if [[ "$FILE_COUNT" == "1" ]]; then
|
||||||
{
|
{
|
||||||
echo "MIME-Version: 1.0"
|
echo "MIME-Version: 1.0"
|
||||||
|
echo "Date: $MIME_TIMESTAMP"
|
||||||
echo "Content-Type: text/plain; charset=utf-8"
|
echo "Content-Type: text/plain; charset=utf-8"
|
||||||
echo "Content-Disposition: inline"
|
echo "Content-Disposition: inline"
|
||||||
cat "$DIR/note.md"
|
cat "$DIR/note.md"
|
||||||
|
@ -275,6 +281,7 @@ pack_mime() {
|
||||||
BOUNDARY="$(gen_boundary)"
|
BOUNDARY="$(gen_boundary)"
|
||||||
{
|
{
|
||||||
echo "MIME-Version: 1.0"
|
echo "MIME-Version: 1.0"
|
||||||
|
echo "Date: $MIME_TIMESTAMP"
|
||||||
echo "Content-Type: multipart/mixed; boundary=$BOUNDARY"
|
echo "Content-Type: multipart/mixed; boundary=$BOUNDARY"
|
||||||
get_headers "$DIR/note.md"
|
get_headers "$DIR/note.md"
|
||||||
echo
|
echo
|
||||||
|
@ -302,9 +309,9 @@ new_entry() {
|
||||||
ENTRY_FILE="$DIR/note.md"
|
ENTRY_FILE="$DIR/note.md"
|
||||||
ENTRY_FILE_START="$(mktemp)"
|
ENTRY_FILE_START="$(mktemp)"
|
||||||
MIME_TIMESTAMP=$(LC_ALL="en_US.UTF-8" date "+$DATE_FORMAT")
|
MIME_TIMESTAMP=$(LC_ALL="en_US.UTF-8" date "+$DATE_FORMAT")
|
||||||
|
UTC_TIMESTAMP=$(utc_timestamp)
|
||||||
cat > "$ENTRY_FILE" <<- EOF
|
cat > "$ENTRY_FILE" <<- EOF
|
||||||
Date: $MIME_TIMESTAMP
|
X-Date: $UTC_TIMESTAMP
|
||||||
X-Note-Id: $(uuid)
|
X-Note-Id: $(uuid)
|
||||||
Subject:
|
Subject:
|
||||||
EOF
|
EOF
|
||||||
|
|
Loading…
Reference in a new issue