コード例 #1
0
def import_users(csv):
    """ Importing users from .csv file. """
    mongo = database.MongoDB()
    db = mongo.connect()
    try:
        with open(csv, "r") as f:
            print("Format expected:\n")
            print("John, Adm, Analyst, [email protected], john, 5up3r")
            print("Alan, Oper, Analyst, [email protected], alan, s3cr3t")
            opt = input("\nConfirm Import (y/n)? ")
            if opt == "y":
                for line in f:
                    line_split = line.split(',')
                    print("INFO: processing user ->", line_split[4])
                    user_data = {}
                    salt = bcrypt.gensalt()
                    timestamp = datetime.now()
                    user_data["FullName"] = line_split[0]
                    user_data["Area"] = line_split[1]
                    user_data["Role"] = line_split[2]
                    user_data["Email"] = line_split[3]
                    user_data["UserName"] = line_split[4]
                    p_text = line_split[5].rstrip('\n')
                    p_hash = bcrypt.hashpw(p_text.encode('utf8'), salt)
                    user_data["Password"] = p_hash
                    user_data["Creation"] = timestamp
                    user_data["Modification"] = timestamp
                    db.Users.insert_one(user_data)
                print("Done!")
            else:
                print("Bye!")
    except Exception as e:
        print("ERROR:", e)
        print(" - line:", line)
コード例 #2
0
def export_users(csv):
    """ Export users from .csv file. """
    print("[Exporting]\n")
    print("INFO: do not import this file !!!")
    mongo = database.MongoDB()
    db = mongo.connect()
    try:
        users = db.Users.find({}, {"_id": 0})
        if users.count() > 0:
            with open(csv, "w") as f:
                f.write("*** DO NOT IMPORT THIS FILE ***\n")
                for user in users:
                    line = "{0},{1},{2},{3},{4}".format(
                        user["FullName"], user["Area"], user["Role"],
                        user["Email"], user["UserName"])
                    f.write(line + "\n")
                print("Done!")
        else:
            print("INFO: no users to export")
    except Exception as e:
        print("ERROR:", e)
コード例 #3
0
    print("    --search:       searches user and returns info (summary)")
    print("    --search-full:  searches user and returns info (full)")
    print("    --credentials:  verifies user credentials")
    print("    --update:       updates information for a user")
    print("    --create:       creates user")
    print("    --remove:       removes user")
    print("    --expire:       expire session for a user")
    print("    --sessions:     list active sessions")
    print("    --help:         this help")


if __name__ == "__main__":
    if len(sys.argv) == 1:
        helper()
    else:
        mongo = database.MongoDB()
        db = mongo.connect()
        param = sys.argv[1]
        if param == "--credentials":
            username = input("\n* Username: "******"--search":
            username = input("\n* Username: "******"summary"))
        elif param == "--search-full":
            username = input("\n* Username: "******"full")
        elif param == "--create":
            username = input("\n* Username: "******"--remove":