Skip to content

Instantly share code, notes, and snippets.

🎯
Focusing

Antonio Lima themiurgo

Block or report user

Report or block themiurgo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@themiurgo
themiurgo / merge-geojsons.py
Last active Apr 9, 2019 — forked from migurski/merge-geojsons.py
Merge two or more geojson files.
View merge-geojsons.py
#!/usr/bin/env python
from json import load, JSONEncoder
from argparse import ArgumentParser, FileType
from re import compile
import sys
float_pat = compile(r'^-?\d+\.\d+(e-?\d+)?$')
charfloat_pat = compile(r'^[\[,\,]-?\d+\.\d+(e-?\d+)?$')
View gist:7924417ab6e2a7a54bbc47deb8c2d80c
### Keybase proof
I hereby claim:
* I am themiurgo on github.
* I am themiurgo (https://keybase.io/themiurgo) on keybase.
* I have a public key ASALFpBnQSBJmtUiWX4YKGct8fVYAYJTk8hJBUYG55dEwwo
To claim this, I am signing this object:
@themiurgo
themiurgo / index.html
Last active Sep 8, 2016
:P Language app that switches every day/week
View index.html
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.10.3/moment.min.js"></script>
<style>
div.container-fluid {
width: 100%;
height: 50%;
position: relative;
@themiurgo
themiurgo / folium_embed.py
Created May 29, 2015
Embed folium maps in iPython
View folium_embed.py
def embed(fmaps, width='100%', height='510px', *args, **kwargs):
"""
Embeds a folium map in a IPython/Jupyter notebook.
This method will not work if the map depends on any files (json data). Also this uses
the HTML5 srcdoc attribute, which may not be supported in all browsers.
fmaps -- a single folium map or an iterable containing folium maps
"""
View notebook.html
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<title>2015-01-18 Python and Folium</title>
<script src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.1.10/require.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script>
<style type="text/css">
/*!
@themiurgo
themiurgo / mapquest_geocoder.py
Created Sep 10, 2013
MapQuest bulk geocoder
View mapquest_geocoder.py
import requests
API_KEY = "" # FILL THIS
class Geocoder(object):
endpoint = "http://www.mapquestapi.com/geocoding/v1/batch"
endpoint = "http://open.mapquestapi.com/geocoding/v1/batch"
def __init__(self, api_key):
self.api_key = api_key
@themiurgo
themiurgo / convert_all_gzipped.sh
Created Sep 25, 2012
Convert a one-line stream of JSON objects into a newline separated (multiline) stream
View convert_all_gzipped.sh
#/bin/bash
# Fix all the files and puts them in a 'fixed' subdirectory
mkdir fixed
for f in *.gz; do gunzip -c $f | ruby jsonsm.rb | gzip -c > fixed/$f; done
@themiurgo
themiurgo / geocoder.py
Created Jul 18, 2012
A Google Geocoder with a MongoDB memoizer. For the ratelim module, look at https://gist.github.com/3006305
View geocoder.py
import collections
import time
import requests
import pymongo
import ratelim
import textwrap
G_GEO_SUCCESS = 200
G_GEO_SERVER_ERROR = 500
G_GEO_MISSING_QUERY = 601
@themiurgo
themiurgo / elapsed_since_last_update.sh
Created Jun 29, 2012
Seconds elapsed since last update of a file
View elapsed_since_last_update.sh
# FILL FILENAME
# Return the seconds from last modification of a file, among a list of files
file=$(ls FILENAME -hant --time-style +%s | head -n1 | awk '{print $6}' ) ; now=$(date +%s); echo $((now-file))
@themiurgo
themiurgo / ratelim.py
Created Jun 27, 2012
Rate limit decorator
View ratelim.py
import time
import datetime
class rate_limited(object):
def __init__(self, max_calls, time_interval):
assert max_calls > 0
assert time_interval > 0
self.__last_reset = None
self.__max_calls = max_calls
self.__time_interval = time_interval # seconds
You can’t perform that action at this time.