Найти все файлы с определенным типом файлов на GitHub - PullRequest
0 голосов
/ 02 ноября 2019

В настоящее время мы создаем небольшую поисковую систему, для которой мы хотим сканировать GitHub для общедоступных схем KiCad. Однако мы не уверены, как получить их с помощью API GitHub настолько эффективно, насколько это возможно. Это наш текущий подход:

  1. Поиск в репозиториях, содержащих файлы .kicad_pcb, с использованием запроса .kicad_pcb in:path created:2015-01-01..2015-01-31 с последующей итерацией по месяцам. Мы используем PyGithub, поэтому фактический код:
repos = g.search_repositories(f'.kicad_pcb in:path created:{dt.strftime("%Y-%m")}-01..dt.strftime("%Y-%m")}-{last_day[1]}')
Поиск в каждом хранилище с помощью запроса поиска кода: .kicad_pcb in:path repo:{repo.full_name}

Однако в результате я получаю файлы, которые, насколько я вижу, не имеют .kicad_pcb в своем пути. Кроме того, весь поиск возвращает только 228 репозиториев с 462 файлами kicad с 2015 года по настоящее время, что кажется очень мало? Может кто-нибудь заметить допущенную нами ошибку или предложить лучший подход?

Дополнительный вопрос: Используя функцию «код поиска», мы иногда получаем исключение, потому что GitHub может обслуживать только «большие двоичные объекты» размером менее одного МБ. ,Есть ли способ предотвратить это? Нам не нужно, чтобы файл был включен в результаты поиска, если мы можем получить URL для его загрузки на более позднем этапе.

1 Ответ

0 голосов
/ 03 ноября 2019

Невозможно выполнить поиск содержимого репозитория, кроме описания и файла readme. Для того, чего я хочу добиться, лучше использовать githubarchive.

...