Skip to content

Instantly share code, notes, and snippets.

import os
import time
import logging
from datetime import datetime
import pymongo
from mongoengine.connection import DEFAULT_CONNECTION_NAME, get_db
logger = logging.getLogger(os.path.basename(__file__))
@grubberr
grubberr / atomic_get_or_create.py
Created November 15, 2017 12:00
mongoengine atomic get_or_create using findAndModify
#!/usr/bin/env python3
from mongoengine import Document, IntField, StringField, connect
connect('test')
class ChatUser(Document):
_access = IntField() # internal access counter
chat_id = IntField(required=True, unique=True)
def counts(nums, maxes):
_nums = sorted(nums)
_maxes = sorted(maxes)
count = 0
res = {}
n = None
m = None
@grubberr
grubberr / walk_traversal_problem.py
Last active June 10, 2016 11:39
python os.walk traversal problem
#!/usr/bin/python3
"""
os.walk traversal problem
"""
import os
import sys
import logging
@grubberr
grubberr / earliest_date.py
Last active May 21, 2018 05:19
find earliest possible legal date in A/B/C format
#!/usr/bin/python3
import sys
import itertools
from datetime import datetime
def main(s):
" find earliest possible legal date or raise ValueError "
@grubberr
grubberr / classify_content_server.py
Created April 4, 2015 12:41
tornado HTTP server for solariat_nlp.classify_content
#!/usr/bin/python
import json
import tornado.gen
import tornado.ioloop
import tornado.web
from futures import ProcessPoolExecutor
from solariat_nlp import classify_content
def do_work(msg):
@grubberr
grubberr / AsyncLineReader.py
Last active June 13, 2016 11:19
Non-blocking line iterator can return 'None' if stream does not produce data after timeout period
#!/usr/bin/python
import os
import sys
import select
class AsyncLineReader(object):
BUFSIZE = 4096
/root@tango56:~# diff -u /usr/local/lib/python2.7/dist-packages/gunicorn/config.py.orig /usr/local/lib/python2.7/dist-packages/gunicorn/config.py
--- /usr/local/lib/python2.7/dist-packages/gunicorn/config.py.orig 2014-08-11 16:15:36.000000000 +0000
+++ /usr/local/lib/python2.7/dist-packages/gunicorn/config.py 2014-08-11 16:08:26.000000000 +0000
@@ -906,6 +906,7 @@
class ForwardedAllowIPS(Setting):
name = "forwarded_allow_ips"
section = "Server Mechanics"
+ cli = ["--forwarded-allow-ips"]
meta = "STRING"
validator = validate_string_to_list