我如何递归到PySVN.Client.list()返回的列表中?

时间:2016-04-25 15:14:33

标签: python pysvn

我正在使用PySVN获取一些存储库信息。

我使用Client.list entries_list = client.list("https://myrepourl.com/myproject", ...),其中"返回一个列表,其中包含给定路径中每个文件的信息元组。"

我想从列表/元组中只获取单个信息,并且该URL是否设置了某些属性(has_props - bool - 如果节点具有属性,则为True) 。

如何递归到entries_list并返回远程http路径列表,但只有has_props设置为True的路径?

编辑:

entries_list {list}
  000 {tuple}
    0 {instance}
      data {dict}
        'path' = https://myrepourl.com/myproject/somedirorfile1
        'has_props' = 1
        'kind' = dir
  001 {tuple}
    0 {instance}
      data {dict}
        'path' = https://myrepourl.com/myproject/somedirorfile2
        'has_props' = 1
        'kind' = file
  002 {tuple}
    0 {instance}
      data {dict}
        'path' = https://myrepourl.com/myproject/somedirorfile3
        'has_props' = 0
        'kind' = dir
 .
 .
 .

1 个答案:

答案 0 :(得分:0)

这是has_props元素的访问方式:

has_props = entries_list[0][0][‘has_props’]

这是循环和搜索整个列表的方法:

entries_list = client.list("https://example.com/svnrepository/product",...)

for entry in entries_list:
    data_dict = entry[0]
    has_props = data_dict['has_props']

    if has_props == 1:
        print "Found props."