11"""Template."""
22
33# Standard Library
4+ from importlib .resources import files
45import os .path
56
67from chameleon .zpt .loader import TemplateLoader
7- from pkg_resources import resource_filename
88from translationstring import ChameleonTranslate
99
1010from .exception import TemplateError
@@ -39,7 +39,7 @@ def __init__(self, *args, **kwargs):
3939 def load (self , filename , * args , ** kwargs ):
4040 if ":" in filename :
4141 pkg_name , fn = filename .split (":" , 1 )
42- filename = resource_filename ( pkg_name , fn )
42+ filename = str ( files ( pkg_name ). joinpath ( fn ) )
4343 else :
4444 path , ext = os .path .splitext (filename )
4545 if not ext :
@@ -58,7 +58,7 @@ class ZPTRendererFactory(object):
5858
5959 If the template name is an asset spec (has a colon in it, e.g.
6060 ``mypackage:subdir/subdir2/mytemplate.pt``), use
61- ``pkg_resources.resource_filename `` to resolve it.
61+ ``importlib.resources `` to resolve it.
6262 Otherwise, fall back to search-path-based machinery to resolve it.
6363
6464 Allowing an asset spec allows users to specify templates without the
@@ -122,5 +122,5 @@ def load(self, template_name):
122122 return self .loader .load (template_name )
123123
124124
125- default_dir = resource_filename ( "deform" , "templates/" )
125+ default_dir = str ( files ( "deform" ). joinpath ( "templates" ) )
126126default_renderer = ZPTRendererFactory ((default_dir ,))
0 commit comments