-#!/usr/bin/env python
+#!/usr/bin/python3
from time import time
from os import stat, environ
MB = 1024. * KB
GB = 1024. * MB
TB = 1024. * GB
-
+
if size < KB:
size, suffix = size, ''
elif size < MB:
size, suffix = size/GB, 'GB'
else:
size, suffix = size/TB, 'TB'
-
+
if size < 10:
return '%.1f %s' % (round(size,1), suffix)
else:
return '%d months' % (time / 2592000.)
-def file_info(file, name):
+def file_info(file, rss_file, name):
+ torrent_file = file + '.torrent'
size = nice_size(file)
hash = search(r'\w{32}', open(file+'.md5', 'r').read()).group(0)
date = nice_time(time() - stat(file).st_mtime)
- 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()
+ return '<b><a href="%(file)s">%(name)s</a> (<a href="%(torrent_file)s">torrent</a>) (<a href="%(rss_file)s">RSS</a>)</b><br><b>%(size)s</b>, created %(date)s ago.<br><small>md5: %(hash)s</small>.' % locals()
-planet_link = file_info('planet/planet-latest.osm.bz2', 'Latest Weekly Planet XML File')
-changesets_link = file_info('planet/changesets-latest.osm.bz2', 'Latest Weekly Changesets')
-planet_pbf_link = file_info('pbf/planet-latest.osm.pbf', 'Latest Weekly Planet PBF File')
+planet_link = file_info('planet/planet-latest.osm.bz2', 'planet/planet-bz2-rss.xml', 'Latest Weekly Planet XML File')
+changesets_link = file_info('planet/changesets-latest.osm.bz2', 'planet/changesets-bz2-rss.xml', 'Latest Weekly Changesets')
+planet_pbf_link = file_info('pbf/planet-latest.osm.pbf', 'pbf/planet-pbf-rss.xml', 'Latest Weekly Planet PBF File')
-print """
+print("""
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<html>
<head>
<title>Index of /</title>
- <link href="style.css" rel="stylesheet" type="text/css">
+ <link href="https://planet.openstreetmap.org/style.css" rel="stylesheet" type="text/css">
</head>
<body>
-<img id="logo" src="logo.png" alt="OSM logo" width="128" height="128">
+<img id="logo" src="https://planet.openstreetmap.org/logo.png" alt="OSM logo" width="128" height="128">
<h1>Planet OSM</h1>
<p>
The files found here are regularly-updated, complete copies of the OpenStreetMap.org
database, and those published before the 12 September 2012 are distributed under a Creative Commons Attribution-ShareAlike 2.0 license, those published after are Open Data Commons Open Database License 1.0 licensed. For more information, <a href="https://wiki.openstreetmap.org/wiki/Planet.osm">see the project wiki</a>.
</p>
-
<table id="about">
<tr>
<th>
</td>
<td>
<p>
- You are granted permission to use OpenStreetMap data by
- <a href="https://osm.org/copyright">the OpenStreetMap License</a>, which also describes
+ You are granted permission to use OpenStreetMap data by
+ <a href="https://osm.org/copyright">the OpenStreetMap License</a>, which also describes
your obligations.
</p>
<p>
- You can <a href="https://wiki.openstreetmap.org/wiki/Planet.osm#Processing_the_File">process the file</a>
+ You can <a href="https://wiki.openstreetmap.org/wiki/Planet.osm#Processing_the_file">process the file</a>
or extracts with a variety of tools. <a href="https://wiki.openstreetmap.org/wiki/Osmosis">Osmosis</a>
is a general-purpose command-line tool for converting the data among different formats
and databases, and <a href="https://wiki.openstreetmap.org/wiki/Osm2pgsql">Osm2pgsql</a>
is a tool for importing the data into a Postgis database for rendering maps.
</p>
<p>
- <a href="https://wiki.openstreetmap.org/wiki/Coastline_error_checker">Processed coastline data</a>
- derived from OSM data is also needed for rendering usable maps, and can be found in a
- <a href="historical-shapefiles/processed_p.tar.bz2">single shapefile</a> (360MB).
+ <a href="https://osmdata.openstreetmap.de/">Processed coastline data</a>
+ derived from OSM data is also needed for rendering usable maps.
</p>
</td>
<td>
<p>
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>.
</p>
-""" % locals()
+""" % locals())