QRZ Log auto upload feature added to Alpha.141 version

8 posts / 0 new
Last post
n8mus
QRZ Log auto upload feature added to Alpha.141 version

Saku and others,

I have been working on adding auto uploads for QRZ to the latest Alpha branch.
I think I have it solved. Here is a video of it in action under testing on my Arch system machine. I am not a developer or coder at all. I recently discovered Claude AI and used it to create the code to add the feature to the Alpha.141 fork. I also uploaded it to my github page if anyone wants to test it.

QRZ subscription is required for the auto upload to work from what I understand. Api Key from QRZ is required. I have both.

It seems to be working here. IF you try it please do so at your own risk. back up everything or use it in a USB stick version of Linux or a virtual box. etc.

IF it is good could this be added to the Alpha versions moving forward? I like having this additional feature.

Thoughts? Feedback? Bugs?

https://github.com/n8mus/cqrlog/tree/master

https://youtu.be/9uMLXX80Q-Y

73
Jon N8EM formerly N8MUS

n8mus
more testing done: online log upload status window observation

Doing more testing of the online upload of all logs in CQRLOG including my newly added QRZ upload feature.
I am observing in the status upload box that it repeats the prior call and then moves to the new one. This was observed in FT8 mode.
I did a video of the test available here: https://youtu.be/yz9kLh2fm7c
Everything seemed to upload perfectly. I am just unsure if there is an issue and why the status window is repeating stuff that has already been uploaded.
More work to do or leave it as it?
More testing.
73
Jon

Jon

oh1kh
more testing done: online log upload status window observation

HI Jon!

Interesting.
Did you test 141 before doing your QRZ extension?
How did it act then with Clublog? Is there same action with deleting the previous qso and then uploading it and the new one before doing any code changes?

I have not tested the Clublog part with FT8 so if there is an underlying bug it can reflect also to code you have added.

I have not yet looked at your code. I must download it next and see what changes there are.

--
Saku
OH1KH

oh1kh
more testing done: online log upload status window observation

Uhh!

Tried to find out the changes by looking at commits. But it seems to be very hard to pick up what have changed.
Looks like everything is changed. I think this is what you get with AI.

IMHO changes are needed just for few files in src folder, less than 10, roughly. Now it seems everything has been changed.
I think commit efef94c should hold all the needed changes.
How ever there are 819 files changed, with +1055001 lines changed what makes it impossible to track.

The database modifications should not be done manually by user. (Commit b76f6a3)
At Cqrlog start there is a check of database version number and with that it should trigger modification routine that does the job and increases database version number after successful update so that it does not happen another time.
If possible the database changes should be done so that it is backward compatible in case user reverts back to run older version for some reason.

I do not get the idea of Commit e1660bc, lnet lib. It looks (without doing diff) very same than already existing lnet lib.

This will need a lot of cleanup if it will be pull requested to CqrlogAlpha.

--
Saku
OH1KH

n8mus
Thanks for reply and information

Saku,

Well that is unfortunate. Like I said I know nothing about programming. This is my first attempt, well maybe 2nd or 3rd. I started last weekend on the 2.6.?? version and had that one working and then started on dx cluster changes and messed up the adif import.
I then just loaded the Alpha.141 and started fresh. But no I did not test it first, thus I can not answer the question on that.

I used it more last night and I am up to about 12 QSO's and it is working perfectly as far as the uploads being successful and staying in sync. I also uploaded to LoTW and Eqsl and those both worked as well.

I guess the one thing I have learned thus far is with open source software and AI that it is possible to add features to a program. The downside is not being able to stay in sync with future development of the program.

73
Jon

Jon

oh1kh
more testing done: online log upload status window observation

OK!

I tested with 141 and FT8 and it adds qso one by one without touching the previous uploaded qso. So the start is clean.
Tried to find something using diff with your src folder against mine. That cleaned up a lot. But still needs manual work.

To make things easier, in case you like it to be added to CqrlogAlpha 142, you should use my branch "devel" as base.
If you have used "git clone" to clone CqrlogAlpha to your local computer you should first do
git checkout devel
Before adding anything you should, every time as frist job, do
git pull
to make your local repository up to date with one in github. Just in case I have added something meanwhile.
After you have done changes you should first test it, then if you like to send changes to me (not do pull request to git) via email do
git diff > /tmp/mydiff.diff
zip -j9 /tmp/mydiff.zip /tmp/mydiff.diff
and send the zip

That way I can see changes and and drop away all AI stuff that is not needed.

Finally do
git commit -am"text comment" (or git commit that text editor for text comment)
to finish changes at that time.

That is not official way to make cooperation using git, but I am afraid for all mess that AI can cause for places that do not need touching.

I think files needed to change are:
frmain.pas & .lfm (to add selection of qrz upload)
frmNewQSO.pas & .lfm (to add selection of qrz upload)
frmPreferences.pas & .lfm (to add settings for qrz upload)
dmData.pas (to add database update & database version number increase)
dLogUpload.pas (to add upload routines)
frmLogUploadStatus.pas (to add upload routines)
help/h1.html#ch7 & corresponding images in /help/img (to update help)

I think everything else could be "AI overflow".
Those are quite same files I dig out from your git's first commit using diff against my devel branch. But it is a bit mess because 141 and devel (142) have also differences between.

--
Saku
OH1KH

oh1kh
more testing done: online log upload status window observation

Short question from lazy programmer who did not read QRZ API description:

Why you have column for API key in Preferences/QRZ log ?
Is'nt that same key that is used when you ask station data from qrz callbook?

If it is same key it will expire and need refresh that Callbook use will do automated.

--
Saku
OH1KH

n8mus
QRZ api key

QRZ API key is needed for the auto uploads to function as well as the downloads with full data. I believe it is how QRZ limits the data you receive in a free lookup compared to the paid subscription.
The key does not change. I do not want to say ever because they control that but to date mine has been the same key for several years. On CQRLOG QRZ lookup just has the QRZ user ID and password. No api key. Correct? I do not remember seeing anywhere to input the API key. Adding it to the online uploads in preferences of course added several boxes including one for the API Key. Required for auto uploads to QRZ. If manually uploading an ADIF you likely would not need the Key. Or subscription.

I did one more modification to the code using the AI tool. I found that if I "mark qso as uploaded to all logs" in the online log section that solved the repeat issue. I had the AI do the code to do that marking after the QRZ upload succeeds automatically. That solved the issue with the online log uploads. LoTW and EQsl still working 100%

github updated with that small change.
YouTube with the change in operation: https://www.youtube.com/watch?v=l9tSyqDkimA

Still setting up more things in CQRLOG now. I have been using Windows and Ham Radio Deluxe for some time now and I am trying to remember how to do things in CQRLOG.

Now starting on Fldigi for CW and digi modes etc.

73
Jon

Jon