def login(): """ 用户登录 :return: """ while True: name = input(INPUT_NAME) if name == '': main.main() else: # for windows platform password = input(INPUT_PWD) # for linux platform # input_pwd = getpass.getpass(INPUT_PWD) res = User.socket_client(LOGIN, name, password) # 根据服务端返回的数据,在客户端显示登录结果 if res == NAME_NO_EXIST.encode('utf-8'): option = input(NAME_NO_EXIST) if option == 'y': User.register() else: continue elif res == INVALID_PWD.encode('utf-8'): print(INVALID_PWD) continue elif res == SUCCESS_LOGIN.encode('utf-8'): print(name, SUCCESS_LOGIN) break user_obj = User(name, password) user_obj.main()
def register(): """ 新用户注册 :param : :return: """ while True: name = input(REGISTER_NAME) if name == '': main.main() else: # getpass is only for linux platform # password = getpass.getpass(SET_PWD.format(name)) # for windows platform password = input(SET_PWD.format(name)) res = User.socket_client(REGISTER, name, password) if res == NAME_EXIST.encode('utf-8'): print(NAME_EXIST) continue elif res == SUCCESS_REGISTER.encode('utf-8'): os.mkdir(os.path.join(USER_HOME_DIR, name)) print(SUCCESS_REGISTER) User.login()
def main(self): """ 登录后提示用户输入命令 :return: """ while True: cmd = input(WAIT_INPUT_CMD) try: # 如果输入exit,就跳出循环,返回到欢迎界面 if cmd == 'exit': print(MSG_LOGOFF.format(self.name)) break # 上传 elif cmd.startswith('upload'): self.upload(cmd.replace('upload ', '')) # 下载 elif cmd.startswith('download'): self.download(cmd.replace('download ', '')) # 列出公共目录文件列表 # for windows elif cmd == 'dir': # # for linux #elif cmd == 'ls': User.list_inventory() # 列出家目录文件列表 # for windows elif cmd == 'dir home': # # for linux # elif cmd == 'ls home': self.list_home() # 执行系统命令 else: self.run_cmd_on_server(cmd) # 捕获所有异常,提示输入不合法 except: print(INVALID_INPUT) main.main()
from bin.main import main if __name__ == '__main__': main()
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2020/1/26 8:25 # @File : manage.py # ---------------------------------------------- # ☆ ☆ ☆ ☆ ☆ ☆ ☆ # >>> Author : Alex # >>> QQ : 2426671397 # >>> Mail : [email protected] # >>> Github : https://github.com/koking0 # ☆ ☆ ☆ ☆ ☆ ☆ ☆ from bin import main if __name__ == '__main__': main.main()
def run(): """ 入口 """ main.main()