How to add QRZ/HamQTH data to old qsos?

1 post / 0 new
oh1kh
How to add QRZ/HamQTH data to old qsos?

Hi!
I got a request to make a feature that allows fetch QRZ/HamQTH data to old qsos (adif exported from another program like wsjt-x's own log).

After thinking a while I realized that it has done already. You just need latest version of cqrlog ( 2.3.0(003) source form github ). It must have tuned version from N1MM remote that can make a QRZ/HamQth fetch.

1) Filter qsos without QRZ/HamQTH data and do ADIF export. Select only date,time_on,call,freq,mode,reports,locator, qsl S/R for export. The idea is to keep one adif record length under 200 char so that it will fit one line. It makes scripting easier.

2) Edit exported adi file and remove headers so that file starts right from qso records:
(here my export was named test.adi)
<QSO_DATE:8>20191012<TIME_ON:4>0652<CALL:5>TE1ST<MODE:2>CW<FREQ:7>50.0914<BAND:2>6M<RST_SENT:3>599<RST_RCVD:3>599<MY_GRIDSQUARE:6>KP01tn <QSO_DATE:8>20190929<TIME_ON:4>0654<CALL:5>AB1CD<MODE:2>CW<FREQ:3>3.5<BAND:3>80M<RST_SENT:3>599<RST_RCVD:3>599<GRIDSQUARE:6>EM94ll<MY_GRIDSQUARE:6>KP01tn

and so on ...

3) Make a command line script:
nano qso.sh

#!/bin/bash
while read -r line
do
sleep 3
echo -n '<ADIF_VER:5>2.2.1'$line| grep -v "<EOR>" > /dev/udp/localhost/2333
echo -n '<ADIF_VER:5>2.2.1'$line| grep -v "<EOR>"
done< test.adi

4) Save script and make it executable:
chmod a+x qso.sh

5)Start cqrlog, make a new empty log and start NewQSO/FIle/Remote mode for N1MM logger. Open QSO list and set preferences/NewQSO/Refresh data after save qso.

6) from command line start the script
./qso.sh

Watch qsos been logged.
If your PC and internet is slow you may need to change line "sleep 3" value to bigger than 3 (seconds). With my setup it worked well with "sleep 2".

When it is done you can make full adif export and then make import back to your log from where you exported those qsos at first place.
You just have to delete old ones first with same filter settings as you did the export to avoid duplicates.