def get_input(self): path_short_form = self.unionpath.create_short_cwd(True) if self.unionpath.connected: message = color.bold( color.green('● ' + self.unionpath.user_name + "@{}".format(self.unionpath.client.IP)) ) + ":" + color.bold(color.blue(path_short_form) + '$ ') else: message = color.bold( color.grey('● ') + color.green(self.unionpath.user_name) ) + ":" + color.bold(color.blue(path_short_form) + '$ ') message = input(message) cmds = message.split() result = self._handle(cmds) if result: if (isinstance(result, tuple)): if len(result) == 2: self.protocol.handle(result[0], additional=result[1]) else: if len([result]) == 1: result = self.protocol.handle(result) if result == "END": return result elif len([result]) == 2: self.protocol.handle(result[0], additional=result[1])
def unknown(self, cmds=None): ''' USE: operators.unknown([optional: cmds_from_terminal]) Description: when entered command is not known, this should be printed ''' print(color.red("Unknown command")) print(color.grey("type --help to view the help section."))
def helping(cmds): ''' USE: help.helping(cmds) Description: Returns the description of a speciffic operator ''' return (color.grey( ' please use "{0}" as follows:\n\t{1}\n Description:\n\t{2}'.format( cmds[0], helper(spfc_opr(cmds[0], True))[0], helper(spfc_opr(cmds[0], True))[1])))
def get_input(self): path_short_form = self.unionpath.create_short_cwd(True) if self.unionpath.connected: message = color.bold(color.green('● ' + self.unionpath.user_name + "@{}".format(self.unionpath.client.IP))) + ":" + color.bold( color.blue(path_short_form) + '$ ') else: message = color.bold(color.grey('● ') + color.green(self.unionpath.user_name)) + ":" + color.bold( color.blue(path_short_form) + '$ ') message = input(message) cmds = message.split() result = self._handle(cmds) if result: result = self.protocol.handle(result) if result == "END": return result
def help(): ''' USE: help.help() Description: returns the '--help' text Notes: if you add extra operators, make sure to add them here ad well as in help.spfc_opr() and the error.get() dictionary and the help.dct() dictionary. ''' css_1 = '\n\n ' css_2 = '\n ' commands = [ 'reg', 'con', 'cd', 'open', 'ls', 'srv', 'mk', 'add', 'rm', 'mt', 'mv', 'cp', 'rn', 'f', '--help', 'quit', 'clear', 'exp' ] help = color.green('this is the --help section:') for cmd in commands: help += css_1 + '» ' + color.bold(str( spfc_opr(cmd, True))) + color.cyan(css_2 + 'aliases: ' + str( spfc_opr(cmd))) + css_2 + '' + color.yellow( dct(cmd)[0]) + css_2 + '' + color.grey(dct(cmd)[1]) return help
def get(cmds, typ, add_attr=None): ''' USE: error.get(cmds, type, [optional:add_attr]) where add_attr must be < 3 Description: Returns a correctly colored message according to declared "typ" ''' #--------------------------------------------------------------- if not add_attr: add_attr = [None, None, None] elif len(add_attr) < 3: for i in range(3 - len(add_attr)): add_attr.append(None) if len(cmds) < 2: cmds.append(None) operator = help.spfc_opr(cmds[0], True) names = [None, None, None] if operator == 'q': names = ['Ken Rotaris', 'Tunahan Erbay', 'Leonardo Salsi'] random.shuffle(names) #names in random order names[0] = color.bold(color.red(names[0])) names[1] = color.bold(color.greenDark(names[1])) names[2] = color.bold(color.yellow(names[2])) random.shuffle(names) dictionary = { #command | messages #TODO: blank messages are not being used yet/ have not ben set yet. 'cd': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('The directory does not exist') }, 'open': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('unable to open file') }, 'ls': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('given directory doesn\'t exist'), 'unknown': color.red('Unknown option \'{}\''.format(cmds[1])) }, 'cat': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('file doesn\'t exist at \'{1}\''.format( cmds[0], add_attr)), 'nt_supp': color.red( 'file type currently not supported by \'{}\' command'.format( cmds[0])), 'hint': color.grey( 'tip: use \'{}\' followed by an integer to display a range.'. format(cmds[0])) }, 'mk': { 'success': color.greenDark('folder {0} created'.format( add_attr[0])), #add_attr = [name, path] 'warning': color.yellow('wrong argument format'), 'file_error': color.red( 'name cannot contain a dot'), #add_attr = [name, typ, path] 'format_error': color.red('please use command as follows: mk <dir_name>'), 'path_error': color.red('the path the folder is to be created in does not exist'. format(add_attr)) }, 'add': { 'success': color.greenDark('File added to the filesystem.'), # add_attr = [name, path] 'warning': color.yellow('wrong argument format'), 'error': color.red('{0} "{1}" already exists at {2}'.format( add_attr[1], add_attr[0], add_attr[2])), # add_attr = [name, typ, path] 'path_error': color.red('The source does not exist'.format(add_attr)), 'format_error': color.red( '\'{}\' either outside of the filesystem or not an existing directory' .format(add_attr[2])), 'nodstdir': color.red('Destination folder does not exist.'), 'fs_error': color.red('Cannot add files from within the filesystem.') }, 'rm': { 'success': color.greenDark('deleted {0} from {1}'.format( add_attr[0], add_attr[1])), #add_attr = [name, path] 'warning': color.yellow('wrong argument format'), 'error': color.red('{0} "{1}" does not exists at {2}'.format( add_attr[1], add_attr[0], add_attr[2])), #add_attr = [name, typ, path] 'path_error': color.red('\'{}\' doesn\'t exist'.format(add_attr)) }, 'mount': { 'success': color.greenDark('Filesystem mounted successfully.'), 'warning': color.yellow( 'Mount a filesystem of an other user with mnt <user> <filesystem_name> [<path>]' ), 'error': color.red('Unable to mount filesystem.'), 'nodst': color.red('Destination path does not exist.') }, 'umt': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('') }, 'exp': { 'success': color.greenDark('Filesystem has been successfully exported!'), 'warning': color.yellow('wrong argument format'), 'error': color.red( 'No root_mockup folder found at current location or its super folders \'{}\'.' .format(add_attr[0])) }, 'mkp': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('folder \'{0}\' already exists at \'{1}\''.format( add_attr[0], add_attr[1])) }, 'pwd': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('') }, 'img': { 'success': color.greenDark( 'sucessfully created image \'{0}\' at \'{1}\''.format( add_attr[0], add_attr[1])), 'warning': color.yellow('wrong argument format'), 'error': color.red('') }, 'txt': { 'success': color.greenDark( 'sucessfully created text \'{0}\' at \'{1}\''.format( add_attr[0], add_attr[1])), 'warning': color.yellow('wrong argument format'), 'error': color.red('') }, 'mv': { 'success': color.greenDark('sucessfully moved file \'{0}\' to \'{1}\''.format( add_attr[0], add_attr[1])), 'warning': color.yellow('wrong argument format'), 'error': color.red('the {0} path \'{1}\' doen\'s exist'.format( add_attr[0], add_attr[1])), 'sameDir': color.grey( 'Information: you moving a file/folder within the same directory.' ), 'nodstdir': color.red('The destination directory does not exist.'), 'nosrcdir': color.red('The source file or directory does not exist.') }, 'cp': { 'success': color.greenDark( 'sucessfully copied file \'{0}\' to \'{1}\''.format( add_attr[0], add_attr[1])), 'warning': color.yellow('wrong argument format'), 'error': color.red('the {0} path \'{1}\' doen\'s exist'.format( add_attr[0], add_attr[1])) }, 'rn': { 'success': color.greenDark( 'sucessfully renamed file \'{0}\' to \'{1}\''.format( add_attr[0], add_attr[1])), 'warning': color.yellow('wrong argument format'), 'error': color.red('the given path \'{0}\' doen\'s exist'.format( add_attr[0])), 'nosrcdir': color.red('The source file or directory does not exist.') }, 'f': { 'success': color.greenDark('\'{0}\' found at {1}'.format( add_attr[0], add_attr[1])), 'warning': color.yellow('wrong argument format'), 'error': color.red('\'{0}\' not found in \'{1}\''.format( add_attr[0], add_attr[1])) }, '--help': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('') }, 'quit': { 'success': '\n Thanks for using our Application!\n Made with ' + color.bold(color.redLight('<3')) + ' by: {0}, {1}, {2}\n'.format(names[0], names[1], names[2]), 'warning': color.yellow( 'If you want to terminate program, enter q without further arguments.' ), 'error': color.red( 'If you want to terminate the program, enter q without further arguments.' ) }, 'clear': { 'success': color.greenDark(''), 'warning': color.yellow('wrong argument format'), 'error': color.red('') } } return dictionary[operator][typ]