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/aa5497be5606d42b0439 to your computer and use it in GitHub Desktop.
Save Yepoleb/aa5497be5606d42b0439 to your computer and use it in GitHub Desktop.
import mysql.connector as mysql
import yaml
group_ids = {
1: ("Guest", [], 10),
2: ("Builder", [], 20),
3: ("Trusted", [], 30),
4: ("Trusted", ["Donator"], 0),
5: ("Guard", [], 50),
6: ("Moderator", [], 60),
7: ("Admin", [], 70)}
conn = mysql.connect(user="", password="",
host="localhost", database="mc_glob_perms")
print("Fetching data")
cur = conn.cursor()
cur.execute("SELECT * FROM memberships")
membertable = cur.fetchall()
print("Processing data")
groupmembers = {}
member_ids = {}
for row in membertable:
member = row[1]
group_id = row[2]
if member not in member_ids:
member_ids[member] = []
member_ids[member].append(group_id)
for member, groups in member_ids.items():
group_id = max(groups, key=lambda x: group_ids[x][2])
group = group_ids[group_id][0]
subgroups = group_ids[group_id][1]
groupmembers[member] = {"group": group, "subgroups": subgroups[:], "permissions": []}
print("Dumping users")
print(groupmembers)
f = open("users.yml", "w")
yaml.dump({"users": groupmembers}, f, default_flow_style=False)
f.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment