def compile_args(args, kwargs, sep, prefix):
 processed_args = []
 encode = encode_to_py3bytes_or_py2str
 for arg in args:
  if isinstance(arg, (list, tuple)):
   if (isinstance(arg, GlobResults) and (not arg)):
    arg = [arg.path]
   for sub_arg in arg:
    processed_args.append(encode(sub_arg))
  elif isinstance(arg, dict):
   processed_args += aggregate_keywords(arg, sep, prefix, raw=True)
  else:
   processed_args.append(encode(arg))
 processed_args += aggregate_keywords(kwargs, sep, prefix)
 return processed_args

def compile_args ( args , kwargs , sep , prefix ) : processed_args = [ ] encode = encode_to_py3bytes_or_py2str for arg in args : if isinstance ( arg , ( list , tuple ) ) : if ( isinstance ( arg , GlobResults ) and ( not arg ) ) : arg = [ arg . path ] for sub_arg in arg : processed_args . append ( encode ( sub_arg ) ) elif isinstance ( arg , dict ) : processed_args += aggregate_keywords ( arg , sep , prefix , raw = True ) else : processed_args . append ( encode ( arg ) ) processed_args += aggregate_keywords ( kwargs , sep , prefix ) return processed_args
takes args and kwargs .