Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ### error
- Traceback (most recent call last):
- File ".\ec2_mongo.py", line 208, in <module>
- main()
- File ".\ec2_mongo.py", line 189, in main
- mongo_select_all()
- File ".\ec2_mongo.py", line 108, in mongo_select_all
- mydb, instance_col = set_db()
- File ".\ec2_mongo.py", line 63, in set_db
- instance_col = mydb[instance_col]
- TypeError: string indices must be integers
- ### code
- def set_db():
- myclient = connect_db()
- message = "Select Database"
- banner(message)
- today = datetime.today()
- today = today.strftime("%m-%d-%Y")
- if __name__ == '__main__':
- print(Fore.CYAN + "Available MongoDB Databases:")
- if myclient != None:
- # the list_database_names() method returns a list of strings
- database_names = myclient.list_database_names()
- counter = 1
- for db in database_names:
- message = str(counter) + '. ' + db
- print(message)
- counter = counter + 1
- print ("There are", len(database_names), "databases.\n")
- print(f"Please select a database. Enter a number 1 through {len(database_names)}.")
- choice = input("Enter a number: ")
- if is_digit(choice) == True:
- if int(choice) > counter:
- print("Wrong selection.")
- set_db()
- choice = int(choice)
- choice = choice - 1
- mydb = database_names[choice]
- #mydb = myclient['aws_ec2_list']
- print(f"You've selected: {mydb}\n")
- else:
- print("Must enter a digit. Try again.\n")
- set_db()
- else:
- mydb = myclient['aws_ec2_list']
- instance_col = 'ec2_list-' + today
- instance_col = mydb[instance_col]
- return mydb, instance_col
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement