File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11# SPDX-License-Identifier: (Apache-2.0 OR MIT)
22
33import os
4- import json
4+ import orjson
55import lzma
66
7-
87dirname = os .path .join (os .path .dirname (__file__ ), '../data' )
98
9+ STR_CACHE = {}
1010
11- def read_fixture_str (filename ):
12- if filename .endswith ('.xz' ):
13- with lzma .open (os .path .join (dirname , filename ), 'r' ) as fileh :
14- return fileh .read ().decode ('utf-8' )
15- else :
16- with open (os .path .join (dirname , filename ), 'r' ) as fileh :
17- return fileh .read ().decode ('utf-8' )
11+ OBJ_CACHE = {}
1812
13+ def read_fixture_str (filename ):
14+ if not filename in STR_CACHE :
15+ if filename .endswith ('.xz' ):
16+ with lzma .open (os .path .join (dirname , filename ), 'r' ) as fileh :
17+ STR_CACHE [filename ] = fileh .read ().decode ('utf-8' )
18+ else :
19+ with open (os .path .join (dirname , filename ), 'r' ) as fileh :
20+ STR_CACHE [filename ] = fileh .read ().decode ('utf-8' )
21+ return STR_CACHE [filename ]
1922
2023def read_fixture_obj (filename ):
21- return json .loads (read_fixture_str (filename ))
24+ if not filename in OBJ_CACHE :
25+ OBJ_CACHE [filename ] = orjson .loads (read_fixture_str (filename ))
26+ return OBJ_CACHE [filename ]
You can’t perform that action at this time.
0 commit comments