def get_all_remote_methods(resolver=None, ns_prefix=u''):
 if (not resolver):
  resolver = get_resolver(get_urlconf())
 result = {}
 for name in resolver.reverse_dict.keys():
  if (not isinstance(name, six.string_types)):
   continue
  try:
   url = reverse((ns_prefix + name))
   resmgr = resolve(url)
   ViewClass = import_string(u'{0}.{1}'.format(resmgr.func.__module__, resmgr.func.__name__))
   if (isclass(ViewClass) and issubclass(ViewClass, JSONResponseMixin)):
    result[name] = _get_remote_methods_for(ViewClass, url)
  except (NoReverseMatch, ImproperlyConfigured):
   pass
 for (namespace, ns_pattern) in resolver.namespace_dict.items():
  sub_res = get_all_remote_methods(ns_pattern[1], ((ns_prefix + namespace) + u':'))
  if sub_res:
   result[namespace] = sub_res
 return result

def get_all_remote_methods ( resolver = None , ns_prefix = u'' ) : if ( not resolver ) : resolver = get_resolver ( get_urlconf ( ) ) result = { } for name in resolver . reverse_dict . keys ( ) : if ( not isinstance ( name , six . string_types ) ) : continue try : url = reverse ( ( ns_prefix + name ) ) resmgr = resolve ( url ) ViewClass = import_string ( u'{0}.{1}' . format ( resmgr . func . __module__ , resmgr . func . __name__ ) ) if ( isclass ( ViewClass ) and issubclass ( ViewClass , JSONResponseMixin ) ) : result [ name ] = _get_remote_methods_for ( ViewClass , url ) except ( NoReverseMatch , ImproperlyConfigured ) : pass for ( namespace , ns_pattern ) in resolver . namespace_dict . items ( ) : sub_res = get_all_remote_methods ( ns_pattern [ 1 ] , ( ( ns_prefix + namespace ) + u':' ) ) if sub_res : result [ namespace ] = sub_res return result
returns a dictionary to be used for calling djangocall .