MCPcopy
hub / github.com/LawRefBook/Laws / getLawList

Method getLawList

scripts/request.py:163–190  ·  view source on GitHub ↗
(self, page=1)

Source from the content-addressed store, hash-verified

161 self.searchType = "1,9"
162
163 def getLawList(self, page=1):
164 params = self.params + [
165 ('searchType', f'title;accurate;{self.searchType}'),
166 ('sortTr', 'f_bbrq_s;desc'),
167 ('gbrqStart', ''),
168 ('gbrqEnd', ''),
169 ('sxrqStart', ''),
170 ('sxrqEnd', ''),
171 ('sort', 'true'),
172 ('page', str(page)),
173 ('size', '10'),
174 ('_', self.req_time)
175 ]
176
177 cache_key = sha1(json.dumps(params).encode()).hexdigest()
178
179 if cache := self.cache.get(cache_key, CacheType.WebPage, "json"):
180 return cache
181
182 response = requests.get('https://flk.npc.gov.cn/api/',
183 headers=REQUEST_HEADER, params=params)
184 sleep(1)
185 logger.debug(
186 f"requesting [{response.status_code}] {self.params} page={page} ")
187
188 ret = response.json()
189 self.cache.set(cache_key, CacheType.WebPage, ret, "json")
190 return ret
191
192 def get_law_detail(self, law_id: str):
193 if cache := self.cache.get(law_id, CacheType.WebPage, "json"):

Callers 2

lawListMethod · 0.80
runMethod · 0.80

Calls 2

getMethod · 0.80
setMethod · 0.80

Tested by

no test coverage detected