Keyboard Shortcuts
ctrl + shift + ? :
Show all keyboard shortcuts
ctrl + g :
Navigate to a group
ctrl + shift + f :
Find
ctrl + / :
Quick actions
esc to dismiss
Likes
Search
Tool for sBITX log
I think there is another step. We need to create an ADIF or cabrillo format file.
Farhan mentioned it once (/g/BITX20/message/101526), but haven't heard about it since. He does have a few other things going on. This tool exports comma separated and JSON files. There is a python library for SQLite that would make programming relatively easy, but it would still be making and maintaining another program. -- 73 ??? Bob? KD8CGH |
This logger is great for? capturing QSO data but not for managing your logs. I think we should concentrate on a adif dump program so you can easily load it into a proper logging program for management of lotw and other tasks. On Wed, May 17, 2023 at 6:57?AM HA3HZ <gyula@...> wrote: Thanks for the information. I read back where it got stuck. |
Here is some code from an opensource sqlite logger dolphinlog.? just need to convert field names.? I would do it but my pi is dead.? ? ? ? ? @staticmethod ? ? def export_adif_adi(db_filename, adi_filename): ? ? ? ? try: ? ? ? ? ? ? ADIF_VER = '3.0.4' ? ? ? ? ? ? PROG_ID = 'dolphinlog' ? ? ? ? ? ? ('Connecting to database: {}'.format(db_filename)) ? ? ? ? ? ? db = sqlite3.connect(db_filename) ? ? ? ? ? ? cursor = db.cursor() ? ? ? ? ? ? cursor.execute('SELECT * FROM qso ORDER BY id') ? ? ? ? ? ? names = list(map(lambda x: x[0], cursor.description)) ? ? ? ? ? ? dat = datetime.datetime.utcnow() ? ? ? ? ? ? f = open(adi_filename, 'w') ? ? ? ? ? ? f.write('Generated on {} at {} UTC\n\n'.format(dat.strftime('%Y-%m-%d'), dat.strftime('%H:%M:%S'))) ? ? ? ? ? ? f.write('<adif_ver:{}:>{}\n'.format(len(ADIF_VER), ADIF_VER)) ? ? ? ? ? ? f.write('<programid:{}:>{}\n'.format(len(PROG_ID), PROG_ID)) ? ? ? ? ? ? f.write('<eoh>\n\n') ? ? ? ? ? ? for row in cursor: ? ? ? ? ? ? ? ? for i in range(len(row)): ? ? ? ? ? ? ? ? ? ? if names[i] == 'id' or names[i] == 'programid': ? ? ? ? ? ? ? ? ? ? ? ? continue ? ? ? ? ? ? ? ? ? ? if str(row[i]) == '': ? ? ? ? ? ? ? ? ? ? ? ? continue ? ? ? ? ? ? ? ? ? ? f.write('<{}:{}:>{}\n'.format(names[i], len(str(row[i])), str(row[i]))) ? ? ? ? ? ? ? ? f.write('<eor>\n\n') ? ? ? ? ? ? f.close() ? ? ? ? except Exception as e: ? ? ? ? ? ? # Roll back any change if something goes wrong ? ? ? ? ? ? db.rollback() ? ? ? ? ? ? log.error('Something wrong.') ? ? ? ? ? ? raise e ? ? ? ? finally: ? ? ? ? ? ? # Close the db connection ? ? ? ? ? ? db.close() ? ? def export_adif_adx(self): ? ? ? ? pass On Thu, May 18, 2023 at 6:19?AM <jacobs@...> wrote: I agree, we need a program that will generate an adif file. Even better if it were generated automatically by the Sbitx software.? |
to navigate to use esc to dismiss