наконец-то получил ожидаемый результат с помощью Graphql. Вот полный код
def run_query(query): # A simple function to use requests.post to make the API call. Note the json= section.
try:
request = requests.post('https://api.github.***.com/graphql', json={'query': query}, headers=headers)
return request.json()
except e:
returnVal = '404'
query = """
{
repository(owner: \""""+ownerVal+"""\", name: \""""+repoVal+"""\") {
object(expression: \""""+branchVal+"""\") {
... on Commit {
blame(path: \""""+folderVal+"/"+data['name']+"""\") {
ranges {
commit {
committedDate
}
}
}
}
}
}
}
"""
headers = {"Authorization": "Bearer "+access_token}
result = run_query(query)
commit_date = result["data"]["repository"]["object"]["blame"]["ranges"][0]["commit"]["committedDate"]
У меня было то же предупреждение для следующего кода:
class Interface
{
public:
virtual void A() = 0;
};
class Implementation : public virtual Interface
{
public:
virtual void A() {};
};
class ExtendedInterface : public virtual Interface
{
virtual void B() = 0;
};
class ExtendedImplementation : public ExtendedInterface , public Implementation
{
public:
virtual void B() {};
};
Этот отчет об ошибках для Visual C++, 2005 в MSDN предполагает, что это - известная ошибка, которую считали не достаточно важной для фиксации... Они предлагают отключить предупреждение в этом случае при помощи прагмы. Я думаю, что это безопасно также в Вашем случае, но необходимо использовать виртуальное наследование как показано в ответе Gal Goldman.
Я думаю решение, которое Вы используете, может быть способ пойти, к сожалению. Единственная вещь, о которой я могу думать, который мог бы помочь, состоит в том, если Вы можете сделать A func1 чистым виртуальный. Это не могло бы быть выполнимо в Вашей реальной программе, все же.
Вы пытались наследовать общественность, виртуальную от класса A? Я думаю, что это должно решить его.
class B :public virtual A;
class C :public virtual A;
class D : public virtual B, public virtual C;
Виртуальное наследование предполагает для решения неоднозначности.