Skip to content

Instantly share code, notes, and snippets.

@Yepoleb
Last active August 29, 2015 14:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Yepoleb/09b3cada3a553d46a052 to your computer and use it in GitHub Desktop.
Save Yepoleb/09b3cada3a553d46a052 to your computer and use it in GitHub Desktop.
import mysql.connector as mysql
# Convert Ultrabans to Ban Management database
#0: "Banned"
#1: "IPBanned"
#2: "Warn"
#3: "Kick"
#5: "Unban"
#6: "Jailed"
def ip2Hex(ip = None):
'''Returns IP in Int format from Octet form'''
digits=ip.split('.')
numericIp=0
count=0
for num in reversed(digits):
numericIp += int(num) * 256 **(count)
count +=1
return numericIp
bm_bans = []
bm_ban_records = []
bm_warnings = []
bm_kicks = []
bm_player_ips = []
bm_mutes_records = []
server = "YEAHWHAT?!"
ubconn = mysql.connect(user="", password="",
host="localhost", database="mc_glob_bans")
ubcur = ubconn.cursor()
ubcur.execute("SELECT * FROM banlist")
banlistdata = ubcur.fetchall()
ubcur.execute("SELECT * FROM banlistip")
ipdata = ubcur.fetchall()
ubconn.close()
ipdict = {}
for player, ip in ipdata:
bm_player_ips.append((player, ip2Hex(ip), 0))
for ban in banlistdata:
name = ban[0]
reason = ban[1]
admin = ban[2]
bantime = ban[3]
temptime = ban[4]
banid = ban[5]
bantype = ban[6]
if bantype == 1 or bantype == 0: #ban
bm_bans.append((banid, name, admin, reason, bantime, temptime, server))
elif bantype == 2: #warn
bm_warnings.append((banid, name, admin, reason, bantime, server))
elif bantype == 3: #kick
bm_kicks.append((banid, name, admin, reason, bantime, server))
elif bantype == 5: #Unban
bm_ban_records.append((banid, name, admin, reason, bantime, temptime, admin, bantime, server))
elif bantype == 6: #Jail
bm_mutes_records.append((banid, name, admin, reason, bantime, temptime, admin, bantime, server))
tables = ((bm_bans, "bm_bans"), (bm_ban_records, "bm_ban_records"),
(bm_warnings, "bm_warnings"), (bm_kicks, "bm_kicks"),
(bm_player_ips, "bm_player_ips"), (bm_mutes_records, "bm_mutes_records"))
bmconn = mysql.connect(user="", password="",
host="localhost", database="frostcast")
bmcur = bmconn.cursor()
for table, tablename in tables:
valq = ", ".join(("%s",)*len(table[0]))
bmcur.executemany("INSERT INTO {table} VALUES ({val})".format(
table=tablename, val=valq), table)
print("Processed", tablename)
bmconn.commit()
bmconn.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment