Example #1
0
def printstuff(newtags, prevelement, ii, level, goto, pre):
    if level > goto + 2:
        return None, None
    basetag = newtags[ii]
    tab = "  "
    baseelement = prevelement.find(basetag)
    lowertags = pybecc.get_tags_childrens_tags(prevelement, basetag)
    tags = lowertags
    tagsinbase = [pybecc.get_tags_childrens_tags(baseelement, tag) for tag in tags]
    inbase = [
        (i, tag, pybecc.get_tags_childrens_tags(baseelement, tag))
        for (i, tag) in enumerate(tags)
    ]
    printthis = f"{pre}/{basetag}"
    length = len(printthis.split("/")) - 1
    print(tab * level, f"{level}.{ii:03d}", printthis, length)
    for i, tag, childtags in inbase:
        printthis = f"{pre}/{basetag}/{tag}"
        length = len(printthis.split("/")) - 1
        print(tab * (level + 1), f"{level+1}.{i:03d}", printthis, length)
        for k, childtag in enumerate(childtags):
            printstuff(
                childtags,
                baseelement.find(tag),
                k,
                level + 2,
                goto,
                f"{pre}/{basetag}/{tag}",
            )
    return lowertags, baseelement
Example #2
0
def test_get_tags_childrens_tags():
    """py.test for get_tags_childrens_tags"""
    data = (
        (Tree().treetxt1, "country",
         ["rank", "year", "gdppc", "neighbor", "capital"]),
        # treetxt, tag, expected
        (Tree().treetxt2, "country",
         ["rank", "year", "gdppc", "neighbor", "capital"]),
        # treetxt, tag, expected
    )
    for treetxt, tag, expected in data:
        tree = ET.ElementTree(ET.fromstring(treetxt))
        root = tree.getroot()
        element = root
        result = pybecc.get_tags_childrens_tags(element, tag)
        assert result == expected
    data = (
        (Tree().treetxt1, "data", ["country"]),
        # treetxt, tag, expected
        # (Tree().treetxt2, 'country',
        # ['rank', 'year', 'gdppc', 'neighbor', 'capital']),
        # # treetxt, tag, expected
    )
    for treetxt, tag, expected in data:
        tree = ET.ElementTree(ET.fromstring(treetxt))
        root = tree.getroot()
        element = root
        result = pybecc.get_tags_childrens_tags(element, tag)
        print(result)
        print(expected)
        print("=" * 13)
Example #3
0
def printfilteredstuff(newtags,
                       prevelement,
                       ii,
                       level,
                       goto=500,
                       tagfrom=None):
    if level > goto + 2:
        return None, None
    basetag = newtags[ii]
    tab = "  "
    baseelement = prevelement.find(basetag)
    lowertags = pybecc.get_tags_childrens_tags(prevelement, basetag)
    tags = lowertags
    tagsinbase = [
        pybecc.get_tags_childrens_tags(baseelement, tag) for tag in tags
    ]
    inbase = [(i, tag, pybecc.get_tags_childrens_tags(baseelement, tag))
              for (i, tag) in enumerate(tags)]
    if not tagfrom:
        print(tab * level, f"{level}.{ii:03d}", basetag)
    elif tagfrom == basetag:
        print(tab * level, f"{level}.{ii:03d}", basetag)
    for i, tag, childtags in inbase:
        ntagfrom = tagfrom
        if not tagfrom:
            print(tab * (level + 1), f"{level+1}.{i:03d}", tag)
        elif tagfrom == basetag:
            print(tab * (level + 1), f"{level+1}.{i:03d}", tag)
            ntagfrom = None
        for k, childtag in enumerate(childtags):
            printfilteredstuff(
                childtags,
                baseelement.find(tag),
                k,
                level + 2,
                goto=goto,
                tagfrom=ntagfrom,
            )
    return lowertags, baseelement
Example #4
0
    for i, tag, childtags in inbase:
        print(tab * (level + 1), f"{level+1}.{i:03d}", tag)
        for k, childtag in enumerate(childtags):
            printstuff(childtags, baseelement.find(tag), k, level + 2, goto)
    return lowertags, baseelement


fname1 = "/Users/santosh/Documents/coolshadow/github/pybecc/resources/010012-SchSml-CECStd.xml"
# fname1 = "/Users/santosh/Dropbox/temp/190715_T24_00-post_open.xml"
fname1 = "/Users/santosh/Documents/coolshadow/HOK_O_Street/simulation/O_street_working/T_24_models/cbecc_models/Abe/190729_T24_05_mech.cibd16x"
tree = ET.parse(fname1)
root = tree.getroot()
l1_tags = pybecc.getchildtags(root)

tab = "  "
level = 0
prevelement = root
basetag = l1_tags[1]
# --
baseelement = prevelement.find(basetag)
lowertags = pybecc.get_tags_childrens_tags(prevelement, basetag)
tags = lowertags
tagsinbase = [pybecc.get_tags_childrens_tags(baseelement, tag) for tag in tags]
inbase = [(i, tag, pybecc.get_tags_childrens_tags(baseelement, tag))
          for (i, tag) in enumerate(tags)]
print(tab * level, f"{level}.{0}", basetag)
for i, tag, childtags in inbase:
    print(tab * (level + 1), f"{level+1}.{i}", tag)
    for k, childtag in enumerate(childtags):
        printstuff(childtags, baseelement.find(tag), k, level + 2, 1)
Example #5
0
l1_tags = pybecc.getchildtags(root)

tab = "  "
level = 0
# prevelement = root
# maintag = l1_tags[1]
# # # --
# baseelement = prevelement.find(basetag)

baseelement = root
# baseelement = root.find(maintag)
basetag = baseelement.tag
# lowertags = pybecc.get_tags_childrens_tags(prevelement, basetag)
lowertags = pybecc.getchildtags(baseelement)
tags = lowertags
# tagsinbase = [pybecc.get_tags_childrens_tags(baseelement, tag) for tag in tags]
inbase = [
    (i, tag, pybecc.get_tags_childrens_tags(baseelement, tag))
    for (i, tag) in enumerate(tags)
]
print(tab * level, f"{level}.{0}", basetag)
for i, tag, childtags in inbase:
    pre = f"{basetag}/{tag}"
    pre = f"./{tag}"
    # print(pre, "\n", end="")
    printthis = pre
    length = len(printthis.split("/")) - 1
    print(tab * (level + 1), f"{level+1}.{i}", printthis, length)
    for k, childtag in enumerate(childtags):
        printstuff(childtags, baseelement.find(tag), k, level + 2, 10, pre)
Example #6
0
# fname1 = "/Users/santosh/Dropbox/temp/190715_T24_00-post_open.xml"
fname1 = "/Users/santosh/Documents/coolshadow/HOK_O_Street/simulation/O_street_working/T_24_models/cbecc_models/Abe/190729_T24_05_mech.cibd16x"
fname1 = "/Users/santoshphilip/Dropbox/coolshadow_dropbox/doe2eppystuff/eplusfiles/190729_T24_05_mech_process12_upprocess4.cibd16x"
# fname1 = "./resources/tree1.xml"
tree = ET.parse(fname1)
root = tree.getroot()
l1_tags = pybecc.getchildtags(root)

tab = "  "
level = 0
prevelement = root
print(l1_tags)
basetag = l1_tags[1]
# # --
baseelement = prevelement.find(basetag)
basetag = baseelement.tag
lowertags = pybecc.get_tags_childrens_tags(prevelement, basetag)
tags = lowertags
# tagsinbase = [pybecc.get_tags_childrens_tags(baseelement, tag) for tag in tags]
inbase = [(i, tag, pybecc.get_tags_childrens_tags(baseelement, tag))
          for (i, tag) in enumerate(tags)]
print(tab * level, f"{level}.{0}", basetag)
for i, tag, childtags in inbase:
    pre = f"{basetag}/{tag}"
    # print(pre, "\n", end="")
    printthis = pre
    length = len(printthis.split("/")) - 1
    print(tab * (level + 1), f"{level+1}.{i}", printthis, length)
    for k, childtag in enumerate(childtags):
        printstuff(childtags, baseelement.find(tag), k, level + 2, 10, pre)