Advertisement
unknown437

Auto script

Apr 14th, 2024 (edited)
570
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.24 KB | None | 0 0
  1. import mysql.connector
  2. from mysql.connector import Error
  3. import requests
  4. import os
  5. import subprocess
  6.  
  7. import subprocess
  8.  
  9. def create_mysql_connection(host_name, user_name, user_password, database_name=None):
  10.     connection = None
  11.     try:
  12.         connection = mysql.connector.connect(
  13.             host=host_name,
  14.             user=user_name,
  15.             passwd=user_password,
  16.             database=database_name
  17.         )
  18.         print("MySQL Database connection successful")
  19.     except Error as err:
  20.         print(f"Error: '{err}'")
  21.    
  22.     return connection
  23.  
  24. def create_database(connection, query):
  25.     cursor = connection.cursor()
  26.     try:
  27.         cursor.execute(query)
  28.         print("Database created successfully")
  29.     except Error as err:
  30.         print(f"Error: '{err}'")
  31.  
  32. def execute_query(connection, query):
  33.     cursor = connection.cursor()
  34.     try:
  35.         cursor.execute(query)
  36.         connection.commit()
  37.         print("Query successful")
  38.     except Error as err:
  39.         print(f"Error: '{err}'")
  40.  
  41. host_name = input("MySQL hostname > ")
  42. user_name = input("MySQL username > ")
  43. passwd    = input("MySQL password > ")
  44. database_name = input("Enter new database name to create > ")
  45.  
  46. connection = create_mysql_connection(host_name, user_name, passwd)
  47. create_database_query = f"CREATE DATABASE {database_name}"
  48. create_database(connection, create_database_query)
  49.  
  50. db_connection = create_mysql_connection(host_name, user_name, passwd, database_name)
  51. create_student_table_query = "CREATE TABLE student (id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, email VARCHAR(120) UNIQUE NOT NULL);"
  52. create_professors_table_query = "CREATE TABLE professor (id INTEGER PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) NOT NULL, department VARCHAR(100) NOT NULL);"
  53. create_course_table_query = "CREATE TABLE course (id INTEGER PRIMARY KEY AUTO_INCREMENT, title VARCHAR(100) NOT NULL, department VARCHAR(100) NOT NULL, professor_id INTEGER, FOREIGN KEY (professor_id) REFERENCES professor(id));"
  54. create_time_table_query = "CREATE TABLE time (id INTEGER PRIMARY KEY AUTO_INCREMENT, academic_year VARCHAR(20) NOT NULL, semester VARCHAR(20) NOT NULL);"
  55. create_enrollment_table_query = "CREATE TABLE enrollment (id INTEGER PRIMARY KEY AUTO_INCREMENT, student_id INTEGER, course_id INTEGER, time_id INTEGER, grade VARCHAR(2), attendance_percentage FLOAT, FOREIGN KEY (student_id) REFERENCES student(id), FOREIGN KEY (course_id) REFERENCES course(id), FOREIGN KEY (time_id) REFERENCES time(id));"
  56.  
  57. execute_query(db_connection, create_student_table_query)
  58. execute_query(db_connection, create_professors_table_query)
  59. execute_query(db_connection, create_course_table_query)
  60. execute_query(db_connection, create_time_table_query)
  61. execute_query(db_connection, create_enrollment_table_query)
  62.  
  63.  
  64. # Web Application Auto deploy
  65.  
  66. config = f"""DB_USERNAME="{user_name}"
  67. DB_PASSWORD="{passwd}"
  68. DB_DATABASE="{database_name}"
  69. DB_HOSTNAME="{host_name}"
  70. """
  71. config_file = open("config.py", "w")
  72. config_file.write(config)
  73. config_file.close()
  74.  
  75. content = requests.get("https://pastebin.com/raw/nkBxBu9q").content.decode()
  76. web_auto_file = open("web_auto.py", "w")
  77. web_auto_file.write(content)
  78. web_auto_file.close()
  79. subprocess.call(["python3 web_auto.py"], shell=True)
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement