Skip to content

Instantly share code, notes, and snippets.

View danila-schelkov's full-sized avatar
🏠
Working from home

Danila Schelkov danila-schelkov

🏠
Working from home
  • 13:43 (UTC +03:00)
View GitHub Profile
@devinschumacher
devinschumacher / post.md
Last active June 13, 2026 15:47
How to Clean up Your Local Git Branches to Get In Sync With the Remote
title How to Clean up Your Local Git Branches to Get In Sync With the Remote
tags
git
git branch
git fetch
git fetch --prune
git branch -vv

How to Clean up Your Local Git Branches to Get In Sync With the Remote

  1. Check for branches not on the remote
  2. Remove references to branches no longer on the remote
  3. Delete all local branches that no longer exist on remote
@danila-schelkov
danila-schelkov / config.py
Last active December 17, 2022 13:09
A simple config class, which is wrapping default configparser
# A simple config class, which is wrapping default configparser
# https://gist.github.com/Vorono4ka/4a70f376d33567091a0a6a68ffc1aeb7
import abc
import configparser
import typing
class Config(abc.ABC):
def __init__(self):
@danila-schelkov
danila-schelkov / time.py
Last active December 17, 2022 12:51
a little function, that converts seconds to pretty time string
UNIT_NAMES = ('ms', 'sec', 'min', 'hour', 'day', 'week')
UNIT_DIVIDERS = (1, 60, 60, 24, 7, 1)
UNIT_FORMATTERS = (lambda unit: round(unit * 1000), round, round, round, round, round)
def time_to_string(value: float):
assert value >= 0, 'Time cannot be negative.'
assert len(UNIT_NAMES) == len(UNIT_DIVIDERS) == len(UNIT_FORMATTERS), 'Units count does not match.'
times = []
@gruber
gruber / Liberal Regex Pattern for Web URLs
Last active April 29, 2026 12:44
Liberal, Accurate Regex Pattern for Matching Web URLs
The regex patterns in this gist are intended only to match web URLs -- http,
https, and naked domains like "example.com". For a pattern that attempts to
match all URLs, regardless of protocol, see: https://gist.github.com/gruber/249502
License: https://opensource.org/license/bsd-3-clause
# Single-line version:
(?i)\b((?:https?:(?:/{1,3}|[a-z0-9%])|[a-z0-9.\-]+[.](?:com|net|org|edu|gov|mil|aero|asia|biz|cat|coop|info|int|jobs|mobi|museum|name|post|pro|tel|travel|xxx|ac|ad|ae|af|ag|ai|al|am|an|ao|aq|ar|as|at|au|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cs|cu|cv|cx|cy|cz|dd|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps