Skip to content

Instantly share code, notes, and snippets.

View kholidfu's full-sized avatar
🏠
Working from home

Kholid Fuadi kholidfu

🏠
Working from home
View GitHub Profile
@kholidfu
kholidfu / robot.js
Created December 5, 2012 01:53
BANTENG
//FightCode can only understand your robot
//if its class is called Robot
var Robot = function(robot) {
};
Robot.prototype.onIdle = function(ev) {
var robot = ev.robot;
robot.ahead(100);
@kholidfu
kholidfu / mkdir_p.py
Last active August 29, 2015 13:56
mkdir -p functionality
# http://stackoverflow.com/questions/600268/mkdir-p-functionality-in-python
import os, errno
def mkdir_p(path):
try:
os.makedirs(path)
except OSError as exc: # Python >2.5
if exc.errno == errno.EEXIST and os.path.isdir(path):
pass
else: raise
@kholidfu
kholidfu / json_mongo.py
Last active August 29, 2015 13:56
Jsonify mongo object
@app.route("/random")
def randomimg():
data = [i for i in db.fs.files.find().sort("_id", 1)][-20:]
response = make_response(json.dumps({'results': data},
default=json_util.default,
indent=4))
response.headers['Content-Type'] = 'application/json'
response.headers['mimetype'] = 'application/json'
return response
@kholidfu
kholidfu / bolder.py
Created April 8, 2014 18:01
Make selected words bolder (mimics search engine results) in Jinja2 + Flask
# filters.py
import re
def boldrepl(matchobj):
return '<b>' + matchobj.group(0) + '</b>'
def bolder(text, term):
return re.sub(term.replace("-", '|'), boldrepl, text, flags=re.I)
# views.py
@kholidfu
kholidfu / datetime_parser.py
Created April 10, 2014 05:02
Datetime parser from datetime object => string
# views.py
from dateutil import parser
# strftime and strftime_single are the name of the function
@app.template_filter('strftime')
def _jinja2_filter_datetime(date, fmt=None):
date = parser.parser(date)
native = date.info.replace(tzinfo=None)
format='%m-%d-%Y %H:%M %p'
return native.strftime(format)
@kholidfu
kholidfu / mongoid_to_datetime.py
Last active August 29, 2015 13:58
Get datetime from mongodb id
"""
Secara default, mongodb ID sudah include datetime, sehingga tidak perlu menambahkan lagi dalam document.
"""
# filters.py
def get_date_from_mongoid(oid):
"""Get timestamp from mongodb id"""
return oid.generation_time
# in views.py
@kholidfu
kholidfu / logging_ex.py
Created April 10, 2014 09:56
Python Logging Example
import logging
# config
logging.basicConfig(filename="log.log",
level=logging.DEBUG,
format='%(asctime)s %(message)s',
datefmt='%m/%d/%Y %H:%M:%S %p')
logging.debug("hello from debug")
logging.info("hello from info")
@kholidfu
kholidfu / unbreak_loop.py
Created April 11, 2014 06:25
Unbreakable loop
# source http://stackoverflow.com/questions/7293978/repeat-an-iteration-of-for-loop
for eachId in listOfIds:
successful = False
while not successful:
response = makeRequest(eachId)
if response == 'market is closed':
time.sleep(24*60*60) #sleep for one day
else:
successful = True
@kholidfu
kholidfu / pinger.py
Created April 14, 2014 04:01
Sitemap pinger in Python
import urllib2
if urllib2.urlopen("http://www.bing.com/webmaster/ping.aspx?siteMap=http://www.example.com/sitemap.xml").getcode() == 200:
print "ping bing sukses"
if urllib2.urlopen("http://www.google.com/webmasters/sitemaps/ping?sitemap=http://www.example.com/sitemap.xml").getcode() == 200:
print "ping google sukses"
@kholidfu
kholidfu / flask_upload.py
Last active August 29, 2015 14:00
Flask Upload Example
# project dependencies
"""
flask_wtf
flask_uploads
"""
# project tree
"""
app/
├── filters.py