> Write a blog post about this code trick:
import logging
import os
from funcy import monkey
from django.db.models.query_utils import DeferredAttribute> Write a blog post about this code trick:
import logging
import os
from funcy import monkey
from django.db.models.query_utils import DeferredAttribute| import gc | |
| import sys | |
| import types | |
| from collection import deque | |
| import random | |
| def getsize(obj): | |
| BLACKLIST = type, types.ModuleType, types.FunctionType | |
| if isinstance(obj, BLACKLIST): |
| ::mods_registerMod("mod_fix_ambitions", 0.1, "Fix ambitions not fullfilling"); | |
| ::mods_queue("mod_fix_ambitions", "mod_hooks(>=19)", function() { | |
| this.logInfo("fa: loading"); | |
| ::mods_hookNewObject("ambitions/ambition_manager", function(obj) { | |
| this.logInfo("fa: hook ambition manager"); | |
| local update = obj.update; | |
| obj.update = function() { | |
| this.logInfo("fa: ambitions.update available=" + this.isAvailable() + " ambition=" + this.m.ActiveAmbition); |
| def getsize(obj): | |
| import sys | |
| from types import ModuleType, FunctionType | |
| from gc import get_referents | |
| BLACKLIST = type, ModuleType, FunctionType | |
| if isinstance(obj, BLACKLIST): | |
| raise TypeError('getsize() does not take argument of type: '+ str(type(obj))) | |
| seen_ids = set() | |
| size = 0 | |
| objects = [obj] |
| local gt = this.getroottable(); | |
| ::mods_hookNewObject("entity/tactical/enemies/orc_berserker", function(o) { | |
| this.logInfo("tb: hook orc_berserker"); | |
| local init = o.onInit; | |
| o.onInit = function() { | |
| this.logInfo("tb: orc_berserker onInit"); |
| this.tb_orc_berserker_agent <- this.inherit("scripts/ai/tactical/orc_berserker_agent", { | |
| m = {}, | |
| function create() | |
| { | |
| this.orc_berserker_agent.create(); | |
| this.m.Properties ... | |
| } | |
| function onAddBehaviors() | |
| { | |
| this.orc_berserker_agent.create(); |
| ::mods_registerMod("mod_standout_foes", 0.1, "Standout foes"); | |
| local gt = this.getroottable(); | |
| // Alias to make it easier for us inside. Things are still global and accessible from outside, | |
| // so if anyone will want to write a mod for this mod then it should be easy enough. | |
| local sf = gt.StandoutFoes <- {}; | |
| local Debug = gt.StandoutFoes.Debug <- {}; |
Language: Python 3.7.
Framework: Django, Django Rest Framework
Libraries: [django-allauth][], celery
Storage: PostgreSQL, Redis for cache and queues. May also use lazy queues over PostgreSQL, may shift non-lazy queues to RabbitMQ.
Front-end:
| from aioscrape import settings, fetch, run | |
| from parsechain import C | |
| async def scrape(): | |
| resp = await fetch('https://www.perekrestok.ru/') | |
| print(resp.css('.xf-product').map({ | |
| 'id': C.attr('data-id').int, | |
| 'name': C.attr('data-gtm-product-name') | |
| })) |
| #!/usr/bin/env python3 | |
| import argparse | |
| import os | |
| import sys | |
| import random | |
| from funcy import re_find | |
| from tqdm import tqdm | |