Python package to export Isogeo metadata into Word documents using the Python SDK and docxtpl.
-
Install:
pip install isogeo-export-docx
-
Authenticate
# import from isogeo_pysdk import Isogeo # API client isogeo = Isogeo( auth_mode="group", client_id=ISOGEO_API_GROUP_CLIENT_ID, client_secret=ISOGEO_API_GROUP_CLIENT_SECRET, auto_refresh_url="{}/oauth/token".format(ISOGEO_ID_URL), platform=ISOGEO_PLATFORM, ) # getting a token isogeo.connect()
-
Make a search:
search = isogeo.search(include="all",) # close session isogeo.close()
-
Export:
# import from isogeotodocx import Isogeo2docx # output folder Path("_output/").mkdir(exist_ok=True) # template template_path = Path(r"tests\fixtures\template_Isogeo.docx") # instanciate toDocx = Isogeo2docx() # parse results and export it for md in search_results.results: # load metadata as object metadata = Metadata.clean_attributes(md) # prepare the template tpl = DocxTemplate(template_path.resolve()) # fill the template toDocx.md2docx(docx_template=tpl, md=metadata) # filename md_name = metadata.title_or_name(slugged=1) uuid = "{}".format(metadata._id[:5]) out_docx_filename = "_output/{}_{}.docx".format(md_name, uuid) # save it tpl.save(out_docx_filename) # delete template object del tpl