sqlExport: Get folder membership and apply into memberflags
This commit is contained in:
parent
d8b3958c87
commit
363be0ba8c
@ -22,6 +22,12 @@ def do_import(config):
|
||||
]
|
||||
).on_conflict(action="update", preserve=[Flag.name, Flag.type]).execute()
|
||||
|
||||
print("Getting folder membership...")
|
||||
folders = {
|
||||
folder_id: membershipworks.get_member_ids([folder_name])
|
||||
for folder_name, folder_id in membershipworks._parse_flags()["folders"].items()
|
||||
}
|
||||
|
||||
print("Getting/Updating members...")
|
||||
members = membershipworks.get_all_members()
|
||||
for m in members:
|
||||
@ -41,10 +47,11 @@ def do_import(config):
|
||||
|
||||
# update member's flags
|
||||
for type, flags in membershipworks._parse_flags().items():
|
||||
if type != "folders": # currently no way to retrieve this info
|
||||
for flag, id in flags.items():
|
||||
ml = MemberFlag(uid=member["Account ID"], flag_id=id)
|
||||
if member[flag]:
|
||||
if (type == "folders" and member["Account ID"] in folders[id]) or (
|
||||
type != "folders" and member[flag]
|
||||
):
|
||||
ml.magic_save()
|
||||
else:
|
||||
ml.delete_instance()
|
||||
|
Reference in New Issue
Block a user