71 lines
2.3 KiB
Python
Executable file
71 lines
2.3 KiB
Python
Executable file
#!/usr/bin/env python
|
|
|
|
import sys
|
|
|
|
SEND_MESSAGE_URL = "http://openstreetmap.org/message/new/%d"
|
|
|
|
# BEWARE: all non-7-bit ascii characters (umlauts and so on ...) are ignored
|
|
message_title = "Neue regionale Mailingliste fuer Mecklenburg-Vorpommern"
|
|
message_body_template = """Hallo %s,
|
|
|
|
du erhaeltst diese Nachricht, da du aus Mecklenburg-Vorpommern kommst oder weil du mehr als 500 Nodes bzw. Wege in MV bearbeitet hast.
|
|
|
|
Seit heute gibt es eine neue regionale OSM-Mailingliste fuer Mecklenburg-Vorpommern.
|
|
|
|
Die Liste wird hoffentlich ein hilfreiches Medium zur Diskussion lokaler Themen, zur Planung von Mapping-Parties oder einfach nur zur gegenseitigen Wahrnehmung der verstreuten Nachbarn werden.
|
|
|
|
Wenn du am Fortschritt von OSM in Mecklenburg-Vorpommern interessiert bist, dann trage dich doch bitte in die neue Mailingliste ein:
|
|
http://lists.openstreetmap.de/cgi-bin/mailman/listinfo/meckpomm
|
|
|
|
Vielleicht schaffen wir es ja trotz der derzeit unwirtlichen Wetterzustaende in Kuerze mal eine Mapping-Party zu organisieren, um langsam die zahlreichen weissen Flecken von MV zu verschoenern ...
|
|
|
|
Eventuell bis bald auf der Mailingliste,
|
|
Lars
|
|
|
|
PS: falls dich die regionale Mailingliste nicht interessiert, dann ignoriere diese Nachricht einfach. Du wirst keine weiteren Nachrichten mehr erhalten.
|
|
"""
|
|
|
|
# return a html encoded representation (e.g. %20 for a space)
|
|
# ignore 8-bit ascii characters
|
|
def mask_text(text):
|
|
result = ""
|
|
for char in text:
|
|
num = ord(char)
|
|
if num > 127:
|
|
# non-ascii (7-bit)
|
|
pass
|
|
elif num > 15:
|
|
# two digits
|
|
result += "%" + hex(num)[2:]
|
|
else:
|
|
# one digit
|
|
result += "%0" + hex(num)[2:]
|
|
return result
|
|
|
|
|
|
def generate_URL(username, user_id):
|
|
message = mask_text(message_body_template % username)
|
|
title = mask_text(message_title)
|
|
return (SEND_MESSAGE_URL + "?message[title]=%s&message[body]=%s") % \
|
|
(user_id, title, message)
|
|
|
|
|
|
def generate_html_link(username, link):
|
|
return "<li><a href=%s>%s</a></li>\n" % (link, username)
|
|
|
|
|
|
if __name__ == "__main__":
|
|
if len(sys.argv) == 3:
|
|
username = sys.argv[1]
|
|
try:
|
|
user_id = int(sys.argv[2])
|
|
except ValueError:
|
|
sys.stderr.write("invalid user id: %s\n" % sys.argv[2])
|
|
sys.exit(2)
|
|
print generate_html_link(username, generate_URL(username, user_id))
|
|
else:
|
|
sys.stderr.write("invalid input\n")
|
|
sys.exit(1)
|
|
|
|
sys.exit(0)
|
|
|