Skip to content

Instantly share code, notes, and snippets.

@AtmaMani
Created August 4, 2017 17:51
Show Gist options
  • Save AtmaMani/0ccd24d514a3297df4d78d03f00a405d to your computer and use it in GitHub Desktop.
Save AtmaMani/0ccd24d514a3297df4d78d03f00a405d to your computer and use it in GitHub Desktop.
Python Module walker
# simple python script to walk a module and print publicly accessible identifiers
#Import your library
from arcgis.gis import GIS
import inspect
#instantiate your root object
gis = GIS()
#build up a list of primitive/builtin types to ignore. You can add your custom types as well.
ignore = ['str', 'list', 'dict', 'bool', 'tuple', 'method',
'PropertyMap', 'function', 'builtin']
#walking the root module
def module_walker(root_mod, mod_name, spacer=""):
current_mod = getattr(root_mod, mod_name)
# print(spacer + mod_name + ".")
all = dir(current_mod)
for i in all:
if not i.startswith('_'):
sub_mod = getattr(current_mod, i)
print(spacer + " " + i + " | " + str(type(sub_mod)))
if not any(x in str(type(sub_mod)) for x in ignore):
module_walker(current_mod, i, spacer + " ")
print("------------------------------------------------------------====")
print("Walking gis.admin module")
module_walker(gis, 'admin')
/Users/atma6951/anaconda/envs/geosaurus_dev/bin/python /Users/atma6951/Documents/code/geosaurus/geosaurus_scripts/tools/OMD_walker.py
Walking gis.admin
collaborations | <class 'arcgis.gis.admin._collaboration.CollaborationManager'>
accept_invitation | <class 'method'>
create | <class 'method'>
list | <class 'method'>
validate_invitation | <class 'method'>
------------------------------------------------------------====
federation | <class 'arcgis.gis.admin._federation.Federation'>
federate | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
servers | <class 'dict'>
unfederate | <class 'method'>
update | <class 'method'>
url | <class 'str'>
validate | <class 'method'>
validate_all | <class 'method'>
------------------------------------------------------------====
license | <class 'arcgis.gis.admin._license.LicenseManager'>
all | <class 'method'>
get | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
url | <class 'str'>
------------------------------------------------------------====
logs | <class 'arcgis.gis.admin._logs.Logs'>
clean | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
query | <class 'method'>
settings | <class 'dict'>
url | <class 'str'>
------------------------------------------------------------====
machines | <class 'arcgis.gis.admin._machines.Machines'>
get | <class 'method'>
list | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
url | <class 'str'>
------------------------------------------------------------====
metadata | <class 'arcgis.gis.admin._metadata.MetadataManager'>
disable | <class 'method'>
enable | <class 'method'>
is_enabled | <class 'bool'>
update | <class 'method'>
------------------------------------------------------------====
password_policy | <class 'arcgis.gis.admin._security.PasswordPolicy'>
policy | <class 'arcgis._impl.common._mixins.PropertyMap'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
reset | <class 'method'>
url | <class 'str'>
------------------------------------------------------------====
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
resources | <class 'arcgis.gis.admin._resources.PortalResourceManager'>
add | <class 'method'>
delete | <class 'method'>
get | <class 'method'>
list | <class 'method'>
------------------------------------------------------------====
security | <class 'arcgis.gis.admin._security.Security'>
config | <class 'dict'>
enterpriseusers | <class 'arcgis.gis.admin._security.EnterpriseUsers'>
create | <class 'method'>
get | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
refresh_users | <class 'method'>
search | <class 'method'>
update | <class 'method'>
url | <class 'str'>
------------------------------------------------------------====
groups | <class 'arcgis.gis.admin._security.EnterpriseGroups'>
get_group_users | <class 'method'>
get_user_groups | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
refresh_groups | <class 'method'>
search | <class 'method'>
url | <class 'str'>
------------------------------------------------------------====
oauth | <class 'arcgis.gis.admin._security.OAuth'>
app_info | <class 'dict'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
update | <class 'method'>
url | <class 'str'>
------------------------------------------------------------====
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
ssl | <class 'arcgis.gis.admin._security.SSLCertificates'>
generate | <class 'method'>
get | <class 'method'>
import_certificate | <class 'method'>
import_server_certificate | <class 'method'>
list | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
update | <class 'method'>
url | <class 'str'>
------------------------------------------------------------====
test_identity_store | <class 'NoneType'>
------------------------------------------------------------====
tokens | <class 'dict'>
update_identity_store | <class 'method'>
url | <class 'str'>
------------------------------------------------------------====
servers | <class 'arcgis.gis.server.ServerManager'>
federate | <class 'method'>
get | <class 'method'>
list | <class 'method'>
unfederate | <class 'method'>
update | <class 'method'>
validate | <class 'method'>
------------------------------------------------------------====
site | <class 'arcgis.gis.admin._site.Site'>
create | <class 'method'>
export_site | <class 'method'>
import_site | <class 'method'>
join | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
url | <class 'str'>
------------------------------------------------------------====
system | <class 'arcgis.gis.admin._system.System'>
database | <class 'dict'>
directories | <class 'list'>
index_status | <class 'dict'>
languages | <class 'dict'>
licenses | <class 'arcgis.gis.admin._system.Licenses'>
entitlements | <class 'method'>
import_entitlements | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
release_license | <class 'method'>
remove_all | <class 'method'>
remove_entitlement | <class 'method'>
update_license_manager | <class 'method'>
url | <class 'str'>
------------------------------------------------------------====
properties | <class 'dict'>
reindex | <class 'method'>
url | <class 'str'>
web_adaptors | <class 'arcgis.gis.admin._system.WebAdaptors'>
configuration | <class 'dict'>
list | <class 'method'>
properties | <class 'arcgis._impl.common._mixins.PropertyMap'>
url | <class 'str'>
------------------------------------------------------------====
------------------------------------------------------------====
url | <class 'str'>
ux | <class 'arcgis.gis.admin._ux.UX'>
default_basemap | <class 'dict'>
default_extent | <class 'dict'>
description | <class 'str'>
description_visibility | <class 'bool'>
enable_comments | <class 'bool'>
featured_content | <class 'dict'>
get_background | <class 'method'>
get_banner | <class 'method'>
get_logo | <class 'method'>
name | <class 'str'>
set_background | <class 'method'>
set_banner | <class 'method'>
set_logo | <class 'method'>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment