Skip to content

Instantly share code, notes, and snippets.

View edigiacomo's full-sized avatar

Emanuele Di Giacomo edigiacomo

  • ARPAE-SIMC
  • Italy
View GitHub Profile
@edigiacomo
edigiacomo / ckan-datastore-upsert.py
Last active September 13, 2021 11:36
Simple example of upserting records in a CKAN Datastore
import requests # http://docs.python-requests.org/en/latest/
import json
def upsert_records(records, ckan_url, resource_id, ckan_api_key=None):
"""Send a list of records to CKAN Datastore and return a requests.Response
object (see http://docs.python-requests.org/en/latest/api/#requests.Response).
Example:
url = "http://mysite.org/ckan"
resource_id = "7d33cafe-0118-4b9a-8d8d-e82d1935e2ea"
@edigiacomo
edigiacomo / python-dballe-json-report.py
Last active August 29, 2015 14:26
JSON generic report for Python DB-All.e
#!/usr/bin/env python
import dballe
from itertools import groupby
import sys
def do_report(db, station, date, records):
"""Create a report from a list of records of the same station,date."""
keyfoo = lambda r: (
r.get("timerange"), r.get("level")
@edigiacomo
edigiacomo / settings.devel.py
Created November 21, 2014 07:44
Automatic admin creation after `migrate` command in Django
from django.dispatch import receiver
from django.db import models
from django.contrib.auth.models import User
@receiver(models.signals.post_migrate)
def create_superuser(sender, **kwargs):
if not User.objects.filter(username='admin').first():
User.objects.create_superuser('admin', 'admin@localhost', 'admin')
@edigiacomo
edigiacomo / leaflet-arpa-wsf-wms.html
Last active August 29, 2015 14:10
This example show how to load some data from ARPA Emilia-Romagna WFS and WMS using Leaflet, OpenLayers (as a GML parser) and jQuery.
<html>
<head>
<link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.3/leaflet.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/openlayers/2.13.1/OpenLayers.js"></script>
<script>
var map = null;
var macroarea = null;
@edigiacomo
edigiacomo / tornado-web-subprocess.py
Last active August 29, 2015 14:09
Un processo viene lanciato alla connessione del client, il quale ne riceve lo stdout e può interromperlo chiudendo la connessione.
# encoding: utf-8
import tornado.httpserver
import tornado.iostream
import tornado.ioloop
import tornado.web
import tornado.process
import tornado.concurrent
import concurrent.futures
import subprocess