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)
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)
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)
from zenmai.loader import load from dictknife import pp with open("config.yaml") as rf: pp(load(rf)["development"])
from zenmai.loader import load from dictknife import pp with open("config.yaml") as rf: pp(load(rf)["development"])
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))
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())
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)
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)
"_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)
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))
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)