File tree Expand file tree Collapse file tree 3 files changed +10
-5
lines changed
Expand file tree Collapse file tree 3 files changed +10
-5
lines changed Original file line number Diff line number Diff line change @@ -83,7 +83,7 @@ def generate(opts, renderer):
8383 includes = get_includes (data , include_dir = input .parent ),
8484 declarations = get_declarations (data ))
8585
86- renderer .render (" dbscheme" , out , dbscheme )
86+ renderer .render (dbscheme , out )
8787
8888
8989if __name__ == "__main__" :
Original file line number Diff line number Diff line change @@ -97,6 +97,8 @@ class DbSchemeInclude:
9797
9898@dataclass
9999class DbScheme :
100+ template : ClassVar = 'dbscheme'
101+
100102 src : str
101103 includes : List [DbSchemeInclude ]
102104 declarations : List [DbDecl ]
Original file line number Diff line number Diff line change 77
88import hashlib
99import logging
10+ import pathlib
1011
1112import pystache
1213
@@ -39,14 +40,16 @@ def done_something(self):
3940 def rendered (self ):
4041 return self .written | self .skipped
4142
42- def render (self , name , output , data ):
43- """ Render the template called `name` in the template directory, writing to `output` using `data` as context
43+ def render (self , data , output : pathlib .Path ):
44+ """ Render `data` to `output`.
45+
46+ `data` must have a `template` attribute denoting which template to use from the template directory.
4447
4548 If the file is unchanged, then no write is performed (and `done_something` remains unchanged)
4649 """
47- mnemonic , _ , _ = name . lower (). partition ( "." )
50+ mnemonic = type ( data ). __name__
4851 output .parent .mkdir (parents = True , exist_ok = True )
49- data = self .r .render_name (name , data , generator = self .generator )
52+ data = self .r .render_name (data . template , data , generator = self .generator )
5053 if output .is_file ():
5154 with open (output , "rb" ) as file :
5255 if _md5 (data .encode ()) == _md5 (file .read ()):
You can’t perform that action at this time.
0 commit comments