예제 #1
0
def list_parse(args, user=None):
    if args.list and user:
        print(f" Messages list sent to user '{user.username}':")
        for message in Message.load_all_messages_for_user(user.id):
            print(f"\t{message}")
        print(f" Messages list sent from user '{user.username}':")
        for message in Message.load_all_messages_from_user(user.id):
            print(f"\t{message}")
        sys.exit()
    elif args.list and not user:
        print("All messages list")
        for message in Message.load_all_messages():
            print(f"\t{message}")
        sys.exit()
parser = argparse.ArgumentParser()

parser.add_argument('-u', '--username', help='User login, email')
parser.add_argument('-p', '--password', help='User password, min. 8 characters')
parser.add_argument('-l', '--list', help='List every statement', action="store_true")
parser.add_argument('-t', '--to', help='User mail to whom you would like to send message', action="store")
parser.add_argument('-s', '--send', help='Sending message', action="store")

args = parser.parse_args()

if args.list:
    if args.username is not None and args.password is not None:
        user = User.load_user_by_email(cur, args.username)
        hashed = user.hashed_password
        if check_password(args.password, hashed):
            messages = Message.load_all_messages_for_user(cur, user.id)
            if not messages:
                print("There is no messages to this user")
            else:
                for message in messages:
                    print(
                        f"From:{User.load_user_by_id(cur, message.from_id).username}\n Date: {message.creation_date}\n Message: {message.text}")

        else:
            print("Password incorrect")
elif args.send:
    if args.username is not None and args.password is not None:
        user = User.load_user_by_email(cur, args.username)
        hashed = user.hashed_password
        if check_password(args.password, hashed):
            if args.to is not None: