예제 #1
0
 def delete_user_from_db(cls, email):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute('DELETE FROM client WHERE client_email = %s',
                        (email, ))
         print(
             f"User with that email address '{email}' has been successfully removed."
         )
예제 #2
0
 def save_to_db(self):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute(
             'INSERT INTO event(event_name, company_name, event_location, event_date, event_time, '
             'price, party_size, eid)'
             'VALUES (%s, %s, %s, %s, %s, %s, %s, %s)',
             (self.event_name, self.company_name, self.location, self.date,
              self.time, self.price, self.party_size, self.id))
예제 #3
0
 def load_from_db(cls, email):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute('Select* from users where Email = %s', (email, ))
         data = cursor.fetchone()
     print(
         cls(email=data[1],
             first_name=data[2],
             last_name=data[3],
             id=data[0]))
     return ' Email- {}\n First Name- {}\n Last Name- {}\n ID- {}'.format(
         data[1], data[2], data[3], data[0])
예제 #4
0
 def save_to_db(self):
     '''dont need commit() and connect() using with instead
        at the end of the with statement, psycopg will automatically commit and close it
        get a connection if one is available from the connection pool within database.py'''
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute(
             'INSERT INTO client (client_email, client_pnumber, first_name, last_name, '
             'membership_level)'
             'VALUES (%s, %s, %s, %s, %s)',
             (self.email, self.phone_number, self.first_name,
              self.last_name,
              self.membership_level))  # closes and commits again
예제 #5
0
 def load_from_db_by_name(cls, name):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute('SELECT * FROM event WHERE event_name = %s',
                        (name, ))  #  expects a tupple
         event_data = cursor.fetchone()
         if event_data:
             return cls(event_name=event_data[1],
                        company_name=event_data[2],
                        location=event_data[3],
                        date=event_data[4],
                        time=event_data[5],
                        price=event_data[6],
                        party_size=event_data[7],
                        id=event_data[0])
         else:
             print("Event does not currently exist in the database.")
예제 #6
0
 def load_from_db_by_email(cls, email):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute(
             'SELECT * FROM client WHERE client_email = %s',
             (email,
              ))  # NOTICE COMMA AFTER PARAMETER HERE - expects a tupple
         user_data = cursor.fetchone()
         if user_data:  # if user exists in db (same as 'if user_data is not None:')
             return cls(email=user_data[1],
                        phone_number=user_data[2],
                        first_name=user_data[3],
                        last_name=user_data[4],
                        membership_level=user_data[5],
                        id=user_data[0])  # in the db, id is first colunm
         else:
             print("User email does not currently exist in the database.")
예제 #7
0
def events_page_post():
    client = []
    client_dict = {
        'client_email': request.form['email'],
        'client_pnum': request.form['pnum'],
        'client_first_name': request.form['fname'],
        'client_last_name': request.form['lname'],
        'client_membership': request.form.get('MembershipLevel')
    }
    for key, value in client_dict.items():
        client.append(value)

    with CursorFromConnectionFromPool() as cursor:
        cursor.execute(
            'INSERT INTO client (client_email, client_pnumber, first_name, last_name, '
            'membership_level)'
            'VALUES (%s, %s, %s, %s, %s)',
            (client[0], client[1], client[2], client[3], client[4]))
예제 #8
0
 def load_from_db_by_id(cls, id):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute('SELECT * FROM purchases WHERE id = %s', (id,))  # expects a tupple
         company_data = cursor.fetchone()
         return cls(id=company_data[0], client_id=company_data[1], event_id=company_data[2])
예제 #9
0
 def save_to_db(self):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute('INSERT INTO purchases(client_id, event_id)'
                        'VALUES (%s, %s)',
                        (self.client_id, self.event_id))
예제 #10
0
 def delete_event_from_db(clas, event_name):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute('DELETE FROM event WHERE event_name = %s',
                        (event_name, ))
         print(f"Event '{event_name}' has successfully been removed.")
예제 #11
0
 def save_to_db(self):
     with CursorFromConnectionFromPool() as cursor:
         cursor.execute(
             'Insert into Users (Email, First_Name, Last_name) values (%s, %s, %s)',
             (self.email, self.first_name, self.last_name))