Ok I've been very lazy blog-wise .. I shall try to better myself .. ;)
So to start with something useful: I just upgraded my HexChat and had the problem that the update messes up my Auto-join channels or favourites or whatever you want to call them. So since I'm lazy - and a programmer here's some python code for this:
#!/usr/bin/env python import sys CONFIGFILENAME="/home/lordvan/.config/hexchat/servlist.conf" DEBUG = False # old format: J=#chan1,#chan2,#chan3 key1,,key3 #new format: J=#chan,key -- one per line myconf = None myLines = None mynewLines = None try: myconf = open(CONFIGFILENAME, 'r') except Exception as e: print("Error opening file: %s", e) sys.exit(1) try: myLines = myconf.readlines() except Exception as e: print ("Error reading file: %s", e) myLines.close() sys.exit(1) if not myLines: print ("config file empty") sys.exit(0) myNewLines = [] for line in myLines: if line[0:2] != 'J=': myNewLines.append(line) else: # we got a channel list check if it contains more than one if DEBUG: print(line) chans = None keys = None if line.find(' ') > -1: # found channels and keys splitline = line[2:].strip().split(' ') if DEBUG: print (splitline) chans =(line[2:].strip().split(' '))[0].split(',') if DEBUG: print(chans) keys = (line[2:].strip().split(' '))[1].split(',') if DEBUG: print(keys) else: # just channels here chans = line[2:].strip().split(',') if len(chans) < 2: myNewLines.append(line) else: idx = 0 for chan in chans: newLine = 'J=%s' % chan if keys and keys[idx]: newLine += ',%s' %(keys[idx]) newLine += '\n' if DEBUG: print(newLine) myNewLines.append(newLine) idx += 1 #print( myNewLines) outp = open(CONFIGFILENAME + 'converted', 'w+') outp.writelines(myNewLines) outp.close()
you'd obviously have to fix the path to the file ;)
Share on Twitter Share on Facebook
Comments
There are currently no comments
New Comment