Получение количества старых проблем и таблицы (логин и количество коммитов) наиболее активных участников репозитория - PullRequest
0 голосов
/ 25 сентября 2018

Не могу получить вышеуказанную информацию с помощью github.api.Чтение документации не сильно помогло.До сих пор нет полного понимания работы с датами.Вот пример моего кода для получения открытых вопросов:

import requests
import json
from datetime import datetime


username = '\'
password = '\'

another_page = True
opened = 0
closed = 0
api_oldest = 'https://api.github.com/repos/grpc/grpc/issues? 
per_page=5&q=sort=created:>`date -v-14d "+%Y-%m-%d"`&order=asc'
api_issue = 'https://api.github.com/repos/grpc/grpc/issues? 
page=1&per_page=5000'
api_pulls = 'https://api.github.com/repos/grpc/grpc/pulls?page=1'

datetime.now()
while another_page:
    r = requests.get(api_issue, auth=(username, password))
    #json_response = json.loads(r.text)
    #results.append(json_response)
    if 'next' in r.links:
        api_issue = r.links['next']['url']
        if item['state'] == 'open':
             opened += 1
        else:
             closed += 1 
    else:
        another_page=False
datetime.now()

print(opened)

1 Ответ

0 голосов
/ 25 сентября 2018

Есть несколько проблем с вашим кодом.Например, что означает item?Ваш код может быть изменен следующим образом для повторения и получения количества открытых вопросов.

import requests

username = '/'
password = '/'

another_page = True
opened = 0
closed = 0

api_issue = "https://api.github.com/repos/grpc/grpc/issues?page=1&per_page=5000"


while another_page:
    r = requests.get(api_issue, auth=(username, password))
    json_response = r.json()
    #results.append(json_response)
    for item in json_response:
        if item['state'] == 'open':
             opened += 1
        else:
             closed += 1 

    if 'next' in r.links:
        api_issue = r.links['next']['url']
    else:
        another_page=False

print(opened)

Если вы хотите, чтобы проблемы были созданы за последние 14 дней, вы можете сделать запрос API, используя следующий URL.

api_oldest = "https://api.github.com/repos/grpc/grpc/issues?q=sort=created:>`date -d '14 days ago'`&order=asc"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...