[英]Rest api of gerrit gives the response but Python-gerrit-api package for fetching revisions gives status 404
[英]Fetching Gerrit SSH output in python
所以我正在使用鉛來對gerrit執行ssh命令,但是我似乎無法將輸出作為json字典輸入。
eg: ssh abc.xyz.com gerrit query --patch-sets --format=json commit:12345678
此命令的輸出還會轉儲以下行:類型:abcd rowCount:整數runTimeMilliseconds:123 moreChanges:ABCD
我覺得這也是另一本字典。
那么,是否有將ssh命令的輸出拉入python字典的功能?
參考: https : //review.openstack.org/Documentation/cmd-query.html
查詢結果可能會返回多個更改,每個更改將位於單獨的一行中,並由換行符分隔。 結果的最后一行是摘要,其中包含有關是否還有更多結果的提示(超出服務器端設置的限制或查詢中的limit
選項設置的limit
)。
在您的情況下,您要查詢一個提交sha1,因此您只會得到一個結果,但它仍包含摘要行。
通過在換行符上分割輸出並分別轉換每行,應該可以將結果轉換為字典,例如:
import json
data = ssh["abc.xyz.com",
"gerrit",
"query",
"--patch-sets",
"--format=JSON",
"commit:",
"12345678"]()
data2 = json.loads(data.split()[0])
要獲得JSON格式的答案,您需要將“ --format = text”選項更改為“ --format = json”:
ssh abc.xyz.com gerrit query --patch-sets --format=json commit:12345678
這是我的工作方式:
data = ssh["abc.xyz.com",
"gerrit",
"query",
"--patch-sets",
"--format=JSON",
"commit:",
"12345678"]()
data2 = data[:data.rfind('{')]
有更好的解決方案嗎?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.