Added /about page.

master
q3k 2013-02-20 11:14:06 +01:00
parent 9cd5c83635
commit 48fe434b83
2 changed files with 122 additions and 65 deletions

78
main.py
View File

@ -26,51 +26,53 @@ def pull_feed_entries():
def mailman_subscribe(email, mailing_list):
r = requests.post("https://lists.hackerspace.pl/subscribe/" + mailing_list, {"email": email, "fullname": "", "pw": "", "pw-conf": "", "email-button": "Zapisz", "digest": 0})
if r.status_code != 200:
return False
return False
return True
@app.route('/', methods=["POST", "GET"])
def parse_subscribe_requests():
if "email" in request.form:
email = request.form["email"].strip()
if len(email) > 0:
if "@" in email:
lists = []
if "mail-waw" in request.form:
lists.append("waw")
if "mail-proj" in request.form:
lists.append("waw-proj")
if "mail-offtopic" in request.form:
lists.append("waw-ot")
subscribed = []
failed = []
for maillist in lists:
if mailman_subscribe(email, maillist):
subscribed.append(maillist)
else:
failed.append(maillist)
if len(subscribed) == 1:
flash(u"Pomyślnie zasubskrybowano na listę %s@lists.hackerspace.pl.\
W celu aktywacji subskrypcji odwiedź odnośnik wysłany mailem na adres %s." % (subscribed[0], email))
elif len(subscribed) > 1:
flash(u"Pomyślnie zasubskrybowano na listy %s. \
W celu aktywacji subskrypcji odwiedź odnośniki wysłane mailem na adres %s." % \
(", ".join(l + "@lists.hackerspace.pl" for l in subscribed), email))
if len(failed) > 0:
flash(u"Wystąpił problem z zapisaniem na następujące listy: %s. Ups! Napisz na bofh@hackerspace.pl, spróbujemy to naprawić." % ", ".join(failed), "error")
else:
flash(u"Podano nieprawidłowy adres email.", "error")
else:
flash(u"Nie podano adresu email.", "error")
@app.route('/', methods=["GET", "POST"])
def main():
if request.method == "POST":
if "email" in request.form:
email = request.form["email"].strip()
if len(email) > 0:
if "@" in email:
lists = []
if "mail-waw" in request.form:
lists.append("waw")
if "mail-proj" in request.form:
lists.append("waw-proj")
if "mail-offtopic" in request.form:
lists.append("waw-ot")
subscribed = []
failed = []
for maillist in lists:
if mailman_subscribe(email, maillist):
subscribed.append(maillist)
else:
failed.append(maillist)
if len(subscribed) == 1:
flash(u"Pomyślnie zasubskrybowano na listę %s@lists.hackerspace.pl.\
W celu aktywacji subskrypcji odwiedź odnośnik wysłany mailem na adres %s." % (subscribed[0], email))
elif len(subscribed) > 1:
flash(u"Pomyślnie zasubskrybowano na listy %s. \
W celu aktywacji subskrypcji odwiedź odnośniki wysłane mailem na adres %s." % \
(", ".join(l + "@lists.hackerspace.pl" for l in subscribed), email))
if len(failed) > 0:
flash(u"Wystąpił problem z zapisaniem na następujące listy: %s. Ups! Napisz na bofh@hackerspace.pl, spróbujemy to naprawić." % ", ".join(failed), "error")
else:
flash(u"Podano nieprawidłowy adres email.", "error")
else:
flash(u"Nie podano adresu email.", "error")
parse_subscribe_requests()
return render_template('main.html', entries=pull_feed_entries())
@app.route('/about')
@app.route('/about', methods=["GET", "POST"])
def about():
return render_template('about.html')
if request.method == "POST":
parse_subscribe_requests()
return render_template('about.html', entries=pull_feed_entries())
@app.before_request
def csrf_protect():
if request.method == "POST":

View File

@ -1,31 +1,86 @@
{% extends 'basic.html' %}
{% block page_scripts %}
<script type="text/javascript" src="https://widgets.twimg.com/j/2/widget.js"></script>
{% endblock %}
{% block page_style %}
<link rel="stylesheet" href="static/main.css"/>
{% endblock %}
{% block title %}O Hackerspace Warszawa{% endblock %}
{% block content %}
<h1>O Hackerspace Warszawa</h1>
<p>
Hackerspace to przestrzeń stworzona i utrzymywana przez grupę kreatywnych osób, które łączy fascynacja
ogólno pojętym tworzeniem w duchu kultury hackerskiej. Przestrzeń stymuluje rozwój projektów, organizując i
użyczając potrzebnych narzędzi. Hackerspace nie zna barier, jeśli masz ciekawy pomysł i szukasz ludzi
chętnych do współpracy lub po prostu potrzebujesz miejsca i sprzętu - zapraszamy!
</p>
<p>
Jeżeli chcesz się do nas przyłączyć, przeczytaj dokładniejsze informacje o naszych celach i zapisz się
na jedną z naszych list mailingowych. Spotykamy się we wtorki o 22 drugiej na kanale IRC #hackerspace-pl
(irc.freenode.net) oraz w czwartki na żywo.
</p>
<h3>Cele</h3>
<ul>
<li>Chcemy stworzyć miejsce, w którym ludzie zainteresowani techniką, elektroniką, informatyką, mechaniką, sztuką i pokrewnymi dziedzinami tworzenia mogą się zbierać aby rozmawiać, wymieniać się pomysłami i rozwiązaniami, oraz pracować nad projektami.</li>
<li>Chcemy żeby miejsce to było w Warszawie, w miejscu zapewniającym optymalny dojazd, zwłaszcza komunikacją publiczną.</li>
<li>Chcemy niezależności, dlatego uznajemy że optymalnym źródłem finansowania są obowiązkowe składki. Składki zostaną wykorzystane na finansowanie miejsca oraz, gdy to zostanie zapewnione, na zakup narzędzi.</li>
<li>Chcemy żeby miejsce było otwarte na nowych ludzi i nowe pomysły.</li>
<li>Chcemy zebrać narzędzia i wiedzę jak się ich używa w miejscu umożliwiającym ich używanie.</li>
<li>Chcemy się rozwijać i poznawać nowe dziedziny wiedzy</li>
<li>Chcemy się dobrze bawić.</li>
</ul>
<h3>Lokalizacja</h3>
<p>
Warszawski Hackerspace znajduje się w budynku ITR, w piwnicy. Sam ITR mieści się na ulicy Długiej 44, tuż obok Metra Ratusz-Arsenał.
</p>
<div id="map"><img src="/static/mapka.png" style="border-radius: 4px;" /></div>
<div id="left">
<div id="about">
<h1>O Hackerspace Warszawa</h1>
<p>
Hackerspace to przestrzeń stworzona i utrzymywana przez grupę kreatywnych osób, które łączy fascynacja
ogólno pojętym tworzeniem w duchu kultury hackerskiej. Przestrzeń stymuluje rozwój projektów, organizując i
użyczając potrzebnych narzędzi. Hackerspace nie zna barier, jeśli masz ciekawy pomysł i szukasz ludzi
chętnych do współpracy lub po prostu potrzebujesz miejsca i sprzętu - zapraszamy!
</p>
<p>
Jeżeli chcesz się do nas przyłączyć, przeczytaj dokładniejsze informacje o naszych celach i zapisz się
na jedną z naszych list mailingowych. Spotykamy się we wtorki o 22 drugiej na kanale IRC #hackerspace-pl
(irc.freenode.net) oraz w czwartki na żywo.
</p>
<h3>Cele</h3>
<ul>
<li>Chcemy stworzyć miejsce, w którym ludzie zainteresowani techniką, elektroniką, informatyką, mechaniką, sztuką i pokrewnymi dziedzinami tworzenia mogą się zbierać aby rozmawiać, wymieniać się pomysłami i rozwiązaniami, oraz pracować nad projektami.</li>
<li>Chcemy żeby miejsce to było w Warszawie, w miejscu zapewniającym optymalny dojazd, zwłaszcza komunikacją publiczną.</li>
<li>Chcemy niezależności, dlatego uznajemy że optymalnym źródłem finansowania są obowiązkowe składki. Składki zostaną wykorzystane na finansowanie miejsca oraz, gdy to zostanie zapewnione, na zakup narzędzi.</li>
<li>Chcemy żeby miejsce było otwarte na nowych ludzi i nowe pomysły.</li>
<li>Chcemy zebrać narzędzia i wiedzę jak się ich używa w miejscu umożliwiającym ich używanie.</li>
<li>Chcemy się rozwijać i poznawać nowe dziedziny wiedzy</li>
<li>Chcemy się dobrze bawić.</li>
</ul>
<h3>Lokalizacja</h3>
<p>
Warszawski Hackerspace znajduje się w budynku ITR, w piwnicy. Sam ITR mieści się na ulicy Długiej 44, tuż obok Metra Ratusz-Arsenał.
</p>
<div id="map"><img src="/static/mapka.png" style="border-radius: 4px;" /></div>
</div>
<div id="right">
<form action="/about" method="post">
<input name=_csrf_token type=hidden value="{{ csrf_token() }}">
<h1 class="mail" style="text-align: center;">Listy mailingowe</h1>
<h2 style="text-align: center; margin-top: -6px;">Zapisz się i porozmawiaj</h2>
<h4><input name="mail-waw" type="checkbox" class="mailcheck" checked="true" />Warszawska</h4>
<div class="mail-desc">Główna lista dyskusyjna hackerspaceu - organizacja i rozwiązywanie problemów.</div>
<h4><input name="mail-proj" type="checkbox" class="mailcheck" checked="true"/>Warszawska Projektowa</h4>
<div class="mail-desc">Informacje o postępie projektów, pomysły, ogłaszanie sukcesów i porażek.</div>
<h4><input name="mail-offtopic" type="checkbox" class="mailcheck" />Off Topic</h4>
<div class="mail-desc">Dyskusja o wszystkim i o niczym. Niski stosunek sygnału do szumu.</div>
<center>
<input type="text" name="email" class="email-entry" placeholder="twoj@email.com" />
<input type="submit" value="Zapisz się" class="email-submit" />
</center>
</form>
<h1 class="twitter">Twitter</h1>
<script type="text/javascript">
new TWTR.Widget({
version: 2,
type: 'profile',
rpp: 5,
interval: 6000,
theme: {
shell: {
background: '#eee',
color: '#222'
},
tweets: {
background: '#eee',
color: '#222',
links: '#001ea6'
}
},
features: {
scrollbar: false,
loop: false,
live: false,
hashtags: true,
timestamp: true,
avatars: true,
behavior: 'all'
}
}).render().setUser('hackerspacepl').start();
</script>
</div>
{% endblock %}