View article_importer.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from django.core.management.base import BaseCommand | |
import feedparser | |
from django.db.utils import IntegrityError | |
from blog.models import Article | |
FEED_URL = "https://pybit.es/feed/" | |
class Command(BaseCommand): |
View re-run-generator.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
>>> def gen(): | |
... yield from [1, 2, 3] | |
... | |
>>> g = gen() | |
>>> for i in g: print(i) | |
... | |
1 | |
2 | |
3 | |
# generator exhausted: |
View .pre-commit-config.yaml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
repos: | |
- repo: https://github.com/pre-commit/pre-commit-hooks | |
rev: v4.0.1 | |
hooks: | |
- id: check-yaml | |
- id: end-of-file-fixer | |
- id: trailing-whitespace | |
- id: debug-statements | |
- repo: https://gitlab.com/pycqa/flake8 |
View profiling-decorators.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import cProfile | |
from functools import wraps | |
from pstats import Stats, SortKey | |
from time import time | |
def timing(f): | |
"""A simple timer decorator""" | |
@wraps(f) | |
def wrapper(*args, **kwargs): |
View oreilly.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
"""Script to retrieve new titles from O'Reilly Media (formerly Safari Books Online)""" | |
from collections import namedtuple | |
from pathlib import Path | |
from datetime import datetime, timedelta | |
from urllib.request import urlretrieve | |
from xml.etree.ElementTree import parse | |
RSS_FEED = "https://www.oreilly.com/feeds/recently-added.rss" | |
NOW = datetime.now() | |
DT_FMT = "%a, %d %b %Y %H:%M:%S" |
View crawl-async.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import asyncio | |
import os | |
import aiofiles | |
import aiohttp | |
# saved links from https://pybit.es/archives in urls | |
URLS = [u.rstrip() for u in open('urls', 'r').readlines()] | |
async def fetch(session, url): |
View objects.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from importlib import import_module | |
from keyword import kwlist | |
import builtins | |
from typing import Dict, List | |
scores = { | |
"builtin": 1, | |
"keyword": 2, | |
"module": 3, | |
} |
View homework.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import os | |
filename = 'homework.txt' | |
if not os.path.exists(filename): | |
with open(filename, 'w'): pass | |
answer1 = """1). | |
X | 3 | X | |
____|____|____ |
View default-arg-anti-pattern.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
>>> from datetime import datetime | |
>>> def today(dt=datetime.now()): | |
... print(dt) | |
... | |
>>> today() | |
2020-12-12 22:18:26.432268 | |
# oops | |
>>> today() | |
2020-12-12 22:18:26.432268 | |
>>> today() |
View pysource.py
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3.9 | |
import argparse | |
import importlib | |
import inspect | |
import pydoc | |
def get_callable(arg): | |
module_str, name = arg.rsplit(".", 1) | |
module = importlib.import_module(module_str) |
NewerOlder