Skip to content

Instantly share code, notes, and snippets.

View eestrada's full-sized avatar

Ethan Estrada eestrada

View GitHub Profile
@eestrada
eestrada / sqlite_regex.py
Last active December 21, 2023 13:46
How to do regular expressions in sqlite3 (using python).
#!/usr/bin/env python
"""How to do regular expressions in sqlite3 (using python)."""
from __future__ import division, absolute_import, print_function, unicode_literals
import re
import sys
import time
import datetime
import sqlite3
@eestrada
eestrada / find_all_modules.py
Created November 4, 2015 00:28
Find all modules of a given name on the Python path. This is similar to running `which -a <cmd>` on the Linux Bash shell.
from __future__ import print_function
import sys
import imp
def find_all(modname, paths=None):
"""Find all occurrences of a given module on a given list of paths.
If no paths are given, sys.path is used.
@eestrada
eestrada / sexp.py
Created October 27, 2015 22:29 — forked from pib/sexp.py
A simple Python s-expression parser.
from string import whitespace
atom_end = set('()"\'') | set(whitespace)
def parse(sexp):
stack, i, length = [[]], 0, len(sexp)
while i < length:
c = sexp[i]
print c, stack
@eestrada
eestrada / fuzzymatching.py
Last active January 23, 2020 16:30
fuzzy-matching
# This is free and unencumbered software released into the public domain
# using the wording of the Unlicense. Please refer to <http://unlicense.org/>
from __future__ import division, absolute_import, print_function, unicode_literals
"""Use the stdlib module `difflib` to do fuzzy matching.
This module also has mixin classes to make searching containers easier.
It will also use LRU caching when available.
@eestrada
eestrada / chmod.py
Last active September 5, 2022 21:10
Python chmod helper functions.
from __future__ import division, absolute_import, print_function
# This is free and unencumbered software released into the public domain.
#
# Anyone is free to copy, modify, publish, use, compile, sell, or
# distribute this software, either in source code form or as a compiled
# binary, for any purpose, commercial or non-commercial, and by any
# means.
#
# In jurisdictions that recognize copyright laws, the author or authors
@eestrada
eestrada / git-aliases
Last active August 29, 2015 14:10
Useful git aliases
# Revert a commit and then check it out as a local change.
# Useful if you want to revert only some of the changes from a commit.
# The working directory and index should already be clean first.
git config --global alias.revclean '!f() { git revert -n $@; git reset HEAD . ; git revert --abort; }; f()'
# push all references to a given remote, then fetch all updates from all remotes.
# This is useful if a remote has more than one push target (like an "all" remote),
# since other remotes that are pushed to won't update their references otherwise.
git config --global alias.pushfetch '!f() { git push "$1" --all; git fetch --all; }; f'
@eestrada
eestrada / cookie_converter.py
Last active May 2, 2022 21:17
simple script to convert google chrome sqlite cookie entries to old netscape cookies.txt format. Original code from here: https://productforums.google.com/d/msg/chrome/LWvfAFolOW4/hrC8ssNr27YJ