Skip to content

Instantly share code, notes, and snippets.

View rod-dot-codes's full-sized avatar

Rodney Hawkins rod-dot-codes

View GitHub Profile
import re
import json
from_list = 'ÁÄÂÀÃÅČÇĆĎÉĚËÈÊẼĔȆÍÌÎÏŇÑÓÖÒÔÕØŘŔŠŤÚŮÜÙÛÝŸŽáäâàãåčçćďéěëèêẽĕȇíìîïňñóöòôõøðřŕšťúůüùûýÿžþÞĐđßÆa·/_,:;'
to_list = 'AAAAAACCCDEEEEEEEEIIIINNOOOOOORRSTUUUUUYYZaaaaaacccdeeeeeeeeiiiinnooooooorrstuuuuuyyzbBDdBAa------'
def remove_accents(input_string):
for char in from_list:
re.sub(char, to_list[from_list.index(char)], input_string)
return input_string
@rod-dot-codes
rod-dot-codes / Create-Labels-For-Catch-All.gs
Created April 21, 2022 20:40
This creates Labels on a schedule (when configured) for each new catch-all domain. For example, if you have flights@joebloggs.com - it'll create a new label called "📬 flights"
// Configure this trigger to run often
// (*how* often depends on the desired response time *and* how willing you are to risk hitting Google Apps Script’s rate limits;
// 10 minutes is good enough for me generally)
var LABEL_DICT = {}
var EMAIL_WORKSPACE_DOMAIN = "" // do not include the @ sign, so for XYZ@joebloggs.com, put joebloggs.com
function getUserLabels() {
GmailApp.getUserLabels().map((value) => {
LABEL_DICT[value.getName().toString()] = value;
34168446
34189037
38570755
40740692
41304797
41431168
41458725
42378819
42334078
42523356
@rod-dot-codes
rod-dot-codes / django-monkeypatch-json.py
Last active November 27, 2017 16:41
A simple monkey patch that makes using Django and JSON a bit easier. Install `django_json_widget` first.
from django.contrib.postgres.fields.jsonb import JSONField
from django.contrib.postgres.forms.jsonb import JSONField as JSONFormField
from django_json_widget.widgets import JSONEditorWidget
from django.core.serializers.json import DjangoJSONEncoder
JSONFormField.widget = JSONEditorWidget
def init_jsonfield(self, verbose_name=None, name=None, encoder=DjangoJSONEncoder, **kwargs):
if encoder and not callable(encoder):
# -*- coding: utf-8 -*-
from __future__ import absolute_import, unicode_literals
from multiprocessing import Process
from Queue import Queue, Empty
import json
import threading
import time
import requests
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFiTUL4BCACS/abM4QWfShAYMAIn6ycD3XRa9NmILjMy147kH9P55OVl8CfF
npBoLnMblAu5T4Ty0i21YNUQHRvQj5jAgno1Vm24qMHdclt8NVM6RTBtN9DY07+B
Ep9zn/rLedjygrZOXXdIp925AU4gYJQ+wPSYFC5+TxyAlTNqbO/ySfl3MhDsilda
yTYvdP6Ey/gJ6mbE6I1R9KINWUOsGEsc3GTzGr8xIgZkV1jyQFOwGWoUTIg+izkn
afc6ur/QPQ8ol1+r0KCrY3QwUCLZ3EAFmh0MCAbXsANWzgV77MuhRcpXOcE1gAIR
TX/KibcUN/1XXrajZdFkuGRSg/bD432ZaJZxABEBAAG0KFJvZG5leSBIYXdraW5z
IDxyb2RuZXloYXdraW5zQGdtYWlsLmNvbT6JAT0EEwEKACcFAliTUL4CGwMFCQlm
AYAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQooECRsSuv3Ft9Qf9HE96ZbhF

Keybase proof

I hereby claim:

  • I am rodvdka on github.
  • I am rodvdka (https://keybase.io/rodvdka) on keybase.
  • I have a public key whose fingerprint is E061 E0B6 F869 17C8 4D4C A1EC A281 0246 C4AE BF71

To claim this, I am signing this object:

.table>thead:first-child>tr:first-child>th:first-child
{
position: absolute;
display: inline-block;
background-color:red;
height:100%;
}
.table> tbody > tr > td:first-child
{
position: absolute;
.loaders-container {
padding: 20px;
margin: 0 auto;
width: 700px;
text-align: center;
font-size: 0;
.container {
position: relative;
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
#
# Om nom nom cookies
#
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
#
# Custom headers and headers various browsers *should* be OK with but aren't
#