@@ -62,7 +62,7 @@ def main():
6262 do_east_asian (versions )
6363 do_zero_width (versions )
6464 do_rst_file_update ()
65- do_version_json (versions )
65+ do_unicode_versions (versions )
6666
6767
6868def get_unicode_versions ():
@@ -297,18 +297,37 @@ def do_write_table(fname, variable, table):
297297 print ("complete." )
298298
299299
300- def do_version_json (versions ):
301- fname = os .path .join (PATH_CODE , 'version.json' )
300+ def do_unicode_versions (versions ):
301+ """Write unicode_versions.py function list_versions()."""
302+ fname = os .path .join (PATH_CODE , 'unicode_versions.py' )
302303 print (f"writing { fname } ... " , end = '' )
303304
304- with open (fname , 'r' ) as fp :
305- version_data = json .load (fp )
305+ utc_now = datetime .datetime .utcnow ()
306+ version_tuples_str = '\n ' .join (
307+ f'"{ ver } ",' for ver in versions )
308+ with open (fname , 'w' ) as fp :
309+ fp .write (f"""\" \" \"
310+ Exports function list_versions() for unicode version level support.
306311
307- version_data ['tables' ] = versions
312+ This code generated by { __file__ } on { utc_now } .
313+ \" \" \"
308314
309- with open (fname , 'w' ) as fp :
310- json .dump (version_data , fp )
311- print ()
315+
316+ def list_versions():
317+ \" \" \"
318+ Return Unicode version levels supported by this module release.
319+
320+ Any of the version strings returned may be used as keyword argument
321+ ``unicode_version`` to the ``wcwidth()`` family of functions.
322+
323+ :returns: Supported Unicode version numbers in ascending sorted order.
324+ :rtype: list[str]
325+ \" \" \"
326+ return (
327+ { version_tuples_str }
328+ )
329+ """ )
330+ print ('done.' )
312331
313332
314333if __name__ == '__main__' :
0 commit comments