diff --git a/batch_add.py b/batch_add.py index 25a7741..c2eeeb1 100644 --- a/batch_add.py +++ b/batch_add.py @@ -1,7 +1,6 @@ import json import os import glob -import logging import ldap3 import pandas @@ -41,7 +40,6 @@ new_dn = ",".join([k + "=" + fields.get(k, v)] + template_dn[1:]) # add - print(fields) return self.conn.add(new_dn, self.template.objectClass.value, fields) @@ -60,6 +58,8 @@ # import all files for csv_filename in glob.glob(os.path.join(script_dir, "data/import/*.csv")): + added_users = [] + # add users df = pandas.read_csv(csv_filename) for idx, row in df.iterrows(): fields = row.to_dict() @@ -67,7 +67,19 @@ for plugin in plugins: fields = plugin.run(fields) # add - batch_add.add_user(fields) + if batch_add.add_user(fields): + added_users.append(fields) + else: + print("Failed to add: ", fields) + + print("{} user(s) added.".format(len(added_users))) + + # write result csv + out_path = os.path.join(script_dir, "data/import_result") + os.makedirs(out_path, exist_ok=True) + out_filename = os.path.join(out_path, os.path.basename(csv_filename)) + + pandas.DataFrame.from_dict(added_users).to_csv(out_filename) if __name__ == "__main__":