4 from os import stat, environ
 
   8     size = stat(file).st_size
 
  15         size, suffix = size, ''
 
  17         size, suffix = size/KB, 'KB'
 
  19         size, suffix = size/MB, 'MB'
 
  21         size, suffix = size/GB, 'GB'
 
  23         size, suffix = size/TB, 'TB'
 
  26         return '%.1f %s' % (round(size,1), suffix)
 
  28         return '%d %s' % (round(size), suffix)
 
  34         return '%d seconds' % time
 
  35     if time < 60 * 60 * 1.5:
 
  36         return '%d minutes' % (time / 60.)
 
  37     if time < 24 * 60 * 60 * 1.5:
 
  38         return '%d hours' % (time / 3600.)
 
  39     if time < 7 * 24 * 60 * 60 * 1.5:
 
  40         return '%d days' % (time / 86400.)
 
  41     if time < 30 * 24 * 60 * 60 * 1.5:
 
  42         return '%d weeks' % (time / 604800.)
 
  44     return '%d months' % (time / 2592000.)
 
  46 def file_info(file, name):
 
  47     size = nice_size(file)
 
  48     hash = search(r'\w{32}', open(file+'.md5', 'r').read()).group(0)
 
  49     date = nice_time(time() - stat(file).st_mtime)
 
  51     return '<b><a href="%(file)s">%(name)s</a></b><br><b>%(size)s</b>, created %(date)s ago.<br><small>md5: %(hash)s</small>.' % locals()
 
  53 planet_link = file_info('history-latest.osm.bz2', 'Latest Full History Planet XML File')
 
  54 planet_pbf_link = file_info('../../pbf/full-history/history-latest.osm.pbf', 'Latest Full History Planet PBF File')
 
  57 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
 
  60   <title>Index of /planet/full-history</title>
 
  61   <link href="../../style.css" rel="stylesheet" type="text/css">
 
  64 <img id="logo" src="../../logo.png" alt="OSM logo" width="128" height="128">
 
  68 The files found here are complete copies of the OpenStreetMap.org
 
  69 database, including editing history. These are published under an 
 
  70 Open Data Commons Open Database License 1.0 licensed. For more 
 
  71 information, <a href="https://wiki.openstreetmap.org/wiki/Planet.osm/full">see the project wiki</a>.
 
  77         <h2>Complete OSM Data History</h2>
 
  80         <h2>Using The Data</h2>
 
  83         <h2>Extracts & Mirrors</h2>
 
  88         <p>%(planet_link)s</p>
 
  89         <p>%(planet_pbf_link)s</p>
 
  91         The full history planet file contains the full editing history of the OpenStreetMap
 
  92         database in both XML and custom PBF formats.
 
  97         You are granted permission to use OpenStreetMap data by 
 
  98         <a href="https://osm.org/copyright">the OpenStreetMap License</a>, which also describes 
 
 102         You can <a href="https://wiki.openstreetmap.org/wiki/Planet.osm/full#Processing">process the file</a>
 
 103         or extracts with a variety of tools, although some tools for processing OSM data will 
 
 104         only work on 'current' planets and will not process a 'history' planet available here.
 
 109         The complete history planet is extremely large, so you may prefer to use one of
 
 110         <a href="https://wiki.openstreetmap.org/wiki/Planet.osm/full#Extracts">the available extracts</a>
 
 111         (individual countries or states) from third parties. 
 
 118 If you find data within OpenStreetMap that you believe is an infringement of someone else's copyright, then please make contact with the <a href="https://wiki.openstreetmap.org/wiki/Data_working_group">OpenStreetMap Data Working Group</a>.