AnswerDotAI / AnswerDotAI/ghapi
HTTP Error 422: Unprocessable Entity when using paged with client.search.code
- Lingua principale
- Python
- Stelle
- 685
- Fork
- 70
- Merge medio
- 1m
- PR unite (30g)
- 2
Descrizione
Hey all I am getting the following when running code like the sample I have provided:
```
import os
from ghapi.all import GhApi
from ghapi.page import paged
from dotenv import load_dotenv
GH_TOKEN = os.getenv('GH_TOKEN', None)
def get_client() -> GhApi:
"""Return the GitHub Client"""
return GhApi(token=GH_TOKEN)
def search_results(query: str, client: GhApi):
"""Yeilds results pages"""
search_gen = paged(client.search.code, per_page=100, q=query)
for results in search_gen:
yield results
for result in search_results("filename:.dockercfg auth repo:dtaivpp/NewsTicker", get_client()):
print(result)
```
Running the above brings me to the following:
Traceback (most recent call last):
File "gh-dorker/dorker.py", line 83, in
main(dorks=args.dorks, search=args.search, scope=args.scope)
File "gh-dorker/dorker.py", line 43, in main
for result in search_results(query, client):
File "gh-dorker/dorker.py", line 24, in search_results
for results in search_gen:
File "/Users/dtippett/Desktop/Software_Projects/gh-dorker/venv/lib/python3.8/site-packages/ghapi/page.py", line 16, in paged
yield from itertools.takewhile(noop, (oper(*args, per_page=per_page, page=i, **kwargs) for i in range(1,max_pages+1)))
File "/Users/dtippett/Desktop/Software_Projects/gh-dorker/venv/lib/python3.8/site-packages/ghapi/page.py", line 16, in
yield from itertools.takewhile(noop, (oper(*args, per_page=per_page, page=i, **kwargs) for i in range(1,max_pages+1)))
File "/Users/dtippett/Desktop/Software_Projects/gh-dorker/venv/lib/python3.8/site-packages/ghapi/core.py", line 63, in __call__
return self.client(self.path, self.verb, headers=headers, route=route_p, query=query_p, data=data_p)
File "/Users/dtippett/Desktop/Software_Projects/gh-dorker/venv/lib/python3.8/site-packages/ghapi/core.py", line 108, in __call__
res,self.recv_hdrs = urlsend(path, verb, headers=headers or None, debug=self.debug, return_headers=True,
File "/Users/dtippett/Desktop/Software_Projects/gh-dorker/venv/lib/python3.8/site-packages/fastcore/net.py", line 212, in urlsend
return urlread(req, return_json=return_json, return_headers=return_headers)
File "/Users/dtippett/Desktop/Software_Projects/gh-dorker/venv/lib/python3.8/site-packages/fastcore/net.py", line 113, in urlread
if 400 <= e.code < 500: raise ExceptionsHTTP[e.code](e.url, e.hdrs, e.fp) from None
fastcore.basics.HTTP422UnprocessableEntityError: HTTP Error 422: Unprocessable Entity
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Riproduci l’esempio usando client.search.code e paged, quindi esamina ghapi/page.py e ghapi/core.py per quanto riguarda la paginazione e la costruzione delle richieste. Controlla i vincoli delle richieste di ricerca del codice di GitHub per identificare perché la chiamata a paged restituisce HTTP 422; il lavoro è completato quando l’esempio esegue correttamente la paginazione e dispone di un test di regressione per il caso che fallisce.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- github, python
- Ambito
- api
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 38/100