Ejemplo n.º 1
0
def run_by_hand(client):
    from collections import defaultdict
    from dictknife import pp

    db = client["test"]

    # join by hand

    users = list(db.users.find({}))
    skills = db.skills.find(
        {"user_id": {
            "$in": list({u["_id"]
                         for u in users})
        }})
    skill_map = defaultdict(list)
    for s in skills:
        skill_map[s["user_id"]].append(s)

    groups = db.groups.find(
        {"_id": {
            "$in": list({u["group_id"]
                         for u in users})
        }})
    group_map = {s["_id"]: s for s in groups}

    tris = []
    for u in users:
        tris.append(
            dict(user=u,
                 group=group_map[u["group_id"]],
                 skills=skill_map[u["_id"]]))

    pp(tris)
Ejemplo n.º 2
0
    def __str__(self):
        out = StringIO()
        pp(self.doc, out=out)
        return """\
{errcolor}({self.e.__class__.__module__}.{self.e.__class__.__name__}): {self.e}{reset}
where:
{poscolor}{self.where}{reset}
doc:
{doc}""".format(self=self,
                doc=out.getvalue(),
                poscolor=colorama.Fore.GREEN,
                errcolor=colorama.Fore.YELLOW,
                reset=colorama.Style.RESET_ALL)
Ejemplo n.º 3
0
def run_by_hand(client):
    from collections import defaultdict
    from dictknife import pp

    db = client["test"]

    # join by hand

    users = list(db.users.find({}))
    skills = db.skills.find({"user_id": {"$in": list({u["_id"] for u in users})}})
    skill_map = defaultdict(list)
    for s in skills:
        skill_map[s["user_id"]].append(s)

    groups = db.groups.find({"_id": {"$in": list({u["group_id"] for u in users})}})
    group_map = {s["_id"]: s for s in groups}

    tris = []
    for u in users:
        tris.append(dict(user=u, group=group_map[u["group_id"]], skills=skill_map[u["_id"]]))

    pp(tris)
Ejemplo n.º 4
0
from zenmai.loader import load
from dictknife import pp

with open("config.yaml") as rf:
    pp(load(rf)["development"])
Ejemplo n.º 5
0
from zenmai.loader import load
from dictknife import pp


with open("config.yaml") as rf:
    pp(load(rf)["development"])
Ejemplo n.º 6
0
d0 = {
    "name": "foo",
    "object": {
        "x": 1,
        "z": 1,
    },
    "children": [10],
    "a": {
        "b": {
            "x": "y"
        }
    },
}
d1 = {
    "name": "bar",
    "object": {
        "y": 2,
        "z": 3,
    },
    "children": [1, 2, 3],
    "a": {
        "b": {
            "c": "d",
            "x": "z",
        }
    },
}

pp(deepmerge(d0, d1))
Ejemplo n.º 7
0
def run(token, target_url):
    params = {"token": token, "url": target_url, "fields": "meta"}
    response = requests.get("http://api.diffbot.com/v3/article", params)
    response.raise_for_status()
    pp(response.json())
Ejemplo n.º 8
0
from dictknife import loading, pp
from schema import Top

loading.setup()
data = loading.loadfile("./sample.yaml")
data, err = Top().load(data)
if err:
    pp(err)
else:
    loading.dumpfile(data)
Ejemplo n.º 9
0
from dictknife import pp
from collections import OrderedDict, Counter

d = OrderedDict()
d["x"] = OrderedDict([("i", 0), ("j", 1), ("k", 2)])
d["y"] = "y"
d["z"] = OrderedDict([("a", 0), ("b", 1), ("c", 2)])
d["c"] = Counter(j for i in range(10) for j in range(i))

# sort by keys
pp(d)
Ejemplo n.º 10
0
        "_id": bson.ObjectId(),
        "user_id": users[2]["_id"],
        "name": "Y"
    },
    {
        "_id": bson.ObjectId(),
        "user_id": users[2]["_id"],
        "name": "Z"
    },
]
db.groups.insert_many(groups)
db.users.insert_many(users)
db.skills.insert_many(skills)

# join by hand

users = list(db.users.find({}))
skills = db.skills.find({"user_id": {"$in": list({u["_id"] for u in users})}})
skill_map = defaultdict(list)
for s in skills:
    skill_map[s["user_id"]].append(s)

groups = db.groups.find({"_id": {"$in": list({u["group_id"] for u in users})}})
group_map = {s["_id"]: s for s in groups}

tris = []
for u in users:
    tris.append(dict(user=u, group=group_map[u["group_id"]], skills=skill_map[u["_id"]]))

pp(tris)
Ejemplo n.º 11
0
d0 = {
    "name": "foo",
    "object": {
        "x": 1,
        "z": 1,
    },
    "children": [10],
    "a": {
        "b": {
            "x": "y"
        }
    },
}
d1 = {
    "name": "bar",
    "object": {
        "y": 2,
        "z": 3,
    },
    "children": [1, 2, 3],
    "a": {
        "b": {
            "c": "d",
            "x": "z",
        }
    },
}

pp(deepmerge(d0, d1, override=True))
Ejemplo n.º 12
0
from dictknife import loading, pp
from schema import Conf

loading.setup()
data = loading.loadfile("./config-sample.json")
data, err = Conf().load(data)
if err:
    pp(err)
else:
    loading.dumpfile(data)