Script updating timestamp
FLAMP Queue Touch For timezone offset making FLAMP hash match.
This commit is contained in:
commit
37945e85ec
149
fqt
Normal file
149
fqt
Normal file
@ -0,0 +1,149 @@
|
||||
#!/bin/bash
|
||||
|
||||
# fqt - FLAMP Queue Touch'
|
||||
#
|
||||
# Simplify matching queue ID in FLAMP by changing file's date.
|
||||
|
||||
Help()
|
||||
{
|
||||
echo 'Usage: fqt \[OPTION\]... TIMESTAMP... FILE...'
|
||||
echo 'Update a file'\''s timestamp helping recreate the hash, or queue id, in FLAMP.'
|
||||
echo
|
||||
echo 'options:'
|
||||
echo ' -h display this help and exit'
|
||||
echo ' --help display longer help and exit'
|
||||
echo ' -v, --version output version information and exit'
|
||||
echo
|
||||
echo 'fqt is short for FLAMP Queue Touch'
|
||||
}
|
||||
|
||||
LongHelp()
|
||||
{
|
||||
echo 'Example'
|
||||
echo ' FLAMP text shown in FLDIGI:'
|
||||
echo '/// BEGIN ///'
|
||||
echo 'QST DE N0CALL'
|
||||
echo
|
||||
echo '<PROG 18 588E>{D5C6}FLAMP 2.2.07'
|
||||
echo '<FILE 35 EEAC>{D5C6}20230610151423:flamp-file.k2s'
|
||||
echo ' ^^^^^^^^^^^^^^--> --> --> --> Use these numbers -->\'
|
||||
echo '<ID 26 6D1A>{D5C6}N0CALL Demonstration'
|
||||
echo '<SIZE 13 4B1B>{D5C6}45 1 64 |'
|
||||
echo '<DATA 53 5A03>{D5C6:1}[b64:start]VGhpcyBpcyBhIHRlc3QuCg== v'
|
||||
echo '[b64:end]'
|
||||
echo '<CNTL 10 2CBA>{D5C6:EOF} |'
|
||||
echo '<CNTL 10 8CB6>{D5C6:EOT} v'
|
||||
echo
|
||||
echo 'QST DE N0CALL K |'
|
||||
echo '/// END /// v'
|
||||
echo ' vvvvvvvvvvvvvv <-- <-- <-- <-- <-- <-- <-- Here <-- <--/'
|
||||
echo ' command: fqt 20230607013934 flamp-file.k2s'
|
||||
echo
|
||||
echo 'Tips'
|
||||
echo ' If hash doesn'\''t match, try to'
|
||||
echo ' Remove and re-Add the file in FLAMP'
|
||||
echo ' Toggle Comp check box (usually compression, unless file is small)'
|
||||
echo ' Change base64 (usually base64)'
|
||||
echo ' Change Blk size (usually 64)'
|
||||
echo
|
||||
echo 'Information on hash in documentation'
|
||||
echo 'FLAMP Amateur Multicast Protocol (AMP-2) - Version 3.0'
|
||||
echo 'available at: <http://www.w1hkj.com/files/flamp/Amp-2.V3.0.Protocol.pdf>'
|
||||
echo
|
||||
echo ' 20130316010524:ShortMessage2.txt0base12896'
|
||||
echo
|
||||
echo ' Example format:'
|
||||
echo
|
||||
echo ' |20130316010524:ShortMessage2.txt|0|base128|96|'
|
||||
echo ' | DTS : FN |C| B |BS|'
|
||||
echo
|
||||
echo ' DTS = Date/Time Stamp'
|
||||
echo ' FN = File Name'
|
||||
echo ' C = Compression 1=ON,0=OFF'
|
||||
echo ' B = Base Conversion (base64, base128, or base256)'
|
||||
echo ' BS = Block Size, 1 or more characters'
|
||||
echo ' | = Field separator.'
|
||||
echo
|
||||
echo 'Usage: fqt [OPTION]... TIMESTAMP... FILE...'
|
||||
echo 'Update a file'\''s timestamp helping recreate the hash, or queue id, in FLAMP.'
|
||||
echo
|
||||
echo 'TIMESTAMP is the string appearing in FLAMP header'
|
||||
echo 'and is formatted YYYYmmddHHMMSS '
|
||||
echo
|
||||
echo 'A FILE argument that does not exist is created empty. (Not helpful.)'
|
||||
echo
|
||||
echo 'options:'
|
||||
echo ' -h display short help and exit'
|
||||
echo ' --help display this longer help and exit'
|
||||
echo ' -v, --version output version information and exit'
|
||||
echo
|
||||
echo 'This should work across timezones and across Daylight Savings times.'
|
||||
echo
|
||||
echo 'fqt is short for FLAMP Queue Touch'
|
||||
}
|
||||
|
||||
Version()
|
||||
{
|
||||
echo 'fqt - FLAMP Queue Touch'
|
||||
echo 'Not Copyrighted'
|
||||
echo 'No License'
|
||||
echo 'This is free software: you are free to change and redistribute it.'
|
||||
echo 'There is NO WARRANTY, to the extent permitted by law.'
|
||||
echo
|
||||
echo 'Use at your own risk!'
|
||||
echo
|
||||
echo 'Written by a ham.'
|
||||
}
|
||||
|
||||
# Note that we use "$@" to let each command-line parameter expand to a
|
||||
# separate word. The quotes around "$@" are essential!
|
||||
# We need TEMP as the 'eval set --' would nuke the return value of getopt.
|
||||
if ! TEMP=$(getopt -o '::hv' --long 'help,version' -n 'fqt' -- "$@") ;
|
||||
then
|
||||
echo 'Unexpected input. Terminating...' >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Note the quotes around "$TEMP": they are essential!
|
||||
eval set -- "$TEMP"
|
||||
unset TEMP
|
||||
|
||||
|
||||
# getopt -l "help" -a -o "" -- "$@"
|
||||
while true; do
|
||||
case "$1" in
|
||||
'-h')
|
||||
Help
|
||||
exit;;
|
||||
'--help')
|
||||
LongHelp
|
||||
exit;;
|
||||
'-v'|'--version')
|
||||
Version
|
||||
exit;;
|
||||
'--') # Useless for this file?
|
||||
shift
|
||||
break;;
|
||||
*) # Invalid option
|
||||
echo 'Error: Invalid option'
|
||||
exit 1;;
|
||||
esac
|
||||
done
|
||||
|
||||
GIVEN="$1"
|
||||
#echo "$GIVEN"
|
||||
# YYYYmmddHHMMSS
|
||||
# 20230607013934
|
||||
|
||||
GIVEN_DATE=$(echo "$GIVEN" | sed 's/\(....\)\(..\)\(..\)\(..\)\(..\)\(..\)/\1-\2-\3 \4:\5:\6/')
|
||||
#echo "$GIVEN_DATE"
|
||||
# YYYY-mm-dd HH:MM:SS
|
||||
# 2023-06-07 01:39:34
|
||||
|
||||
UTC_TOUCH="$(date -d "$GIVEN_DATE"Z +%Y%m%d%H%M.%S)"
|
||||
#echo "$UTC_TOUCH"
|
||||
# YYYYmmddHHMM.SS
|
||||
# 202306062139.34
|
||||
|
||||
#echo touch -m "$UTC_TOUCH" "$2"
|
||||
touch -m "$UTC_TOUCH" "$2"
|
Loading…
Reference in New Issue
Block a user