Last active
August 29, 2015 14:02
-
-
Save Yepoleb/09b3cada3a553d46a052 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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