Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from sqlalchemy import Column, Integer, String, ForeignKey, create_engine
- from sqlalchemy.ext.declarative import declarative_base
- from sqlalchemy.orm import sessionmaker, relationship
- import random
- Base = declarative_base()
- engine = create_engine('sqlite:///sqlalchemytest.db', echo=True)
- Session = sessionmaker(bind=engine)
- ses = Session()
- _SESSION = {}
- class User(Base):
- __tablename__ = 'users'
- id = Column(Integer, primary_key=True)
- email = Column(String(255))
- password = Column(String(255))
- remember_token = Column(String(255))
- user_level = Column(Integer)
- class Task(Base):
- __tablename__ = 'tasks'
- id = Column(Integer, primary_key=True)
- title = Column(String(50))
- description = Column(String(255))
- priority = Column(Integer)
- completed = Column(Integer)
- user_id = Column(Integer, ForeignKey('users.id'))
- user = relationship(User, back_populates="users")
- class TaskList(Base):
- __tablename__ = 'task_lists'
- id = Column(Integer, primary_key=True)
- title = Column(String(50))
- description = Column(String(255))
- def createDB():
- Base.metadata.create_all(engine)
- def add_task(title, description, priority, completed):
- email = _SESSION['email']
- user = Session.query(User).filter(User.email == email)
- user.tasks.append(title, description, priority, completed)
- ses.add(user)
- ses.commit()
- def create_user(email, password, rememberToken, userLevel):
- user = User(
- email=email,
- password=password,
- remember_token=rememberToken,
- user_level=userLevel)
- print(user.email)
- ses.add(user)
- ses.commit()
- def login(email, password):
- if not _SESSION:
- temp = Session.query(User).filter(User.email == email)
- if temp and temp.password == password:
- _SESSION['email'] = email
- _SESSION['password'] = password
- return "Success"
- return "Failure to Login"
- return "You're already logged in!"
- def logout():
- if _SESSION:
- _SESSION['email'] = None
- _SESSION['password'] = None
- return "Successfully loggeed out"
- return "You weren't logged in."
- while True:
- print("1. Create Database.\n2. Create User\n3. Login\n4. Add Task.\n5. Logout\n6. Leave")
- option = int(input("Please select an option: "))
- if option == 1:
- createDB()
- elif option == 2:
- email = input("Insert email: ")
- password = input("Insert password: ")
- rememberToken = str(random.randint(1, 1000))
- userLevel = int(input("Insert User Level: "))
- create_user(email, password, rememberToken, userLevel)
- elif option == 3:
- email = input("Insert email: ")
- password = input("Insert password: ")
- print(login(email, password))
- elif option == 4:
- title = input("Insert Title: ")
- description = input("Insert Description: ")
- priority = int(input("Insert Priority (0-3): "))
- completed = int(input("Completed: "))
- add_task(title, description, priority, completed)
- elif option == 5:
- print(logout)
- elif option == 6:
- break
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement