Skip to content

Instantly share code, notes, and snippets.

Avatar

Pybites pybites

View GitHub Profile
View article_importer.py
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
>>> 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
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
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
"""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
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
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
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
>>> 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
#!/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)