Skip to content

Instantly share code, notes, and snippets.

@nomelif
Last active January 25, 2017 06:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nomelif/45537c8770184238af2ff26ae9687a0c to your computer and use it in GitHub Desktop.
Save nomelif/45537c8770184238af2ff26ae9687a0c to your computer and use it in GitHub Desktop.
susirunko.py
# WSGI:n perus kirjasto
from wsgiref.simple_server import make_server
# Tätä funktiota kutsutaan aina, kun selain haluaa sivun
# environ: yleistä tietoutta: mitä sivua kysyttiin, millainen vempain jne jne jne
# start_response: funktio, jolla kerrotaan WSGIlle palautetun kaman tyyppi ja mahdolliset virheet
ilmoittautuneet = []
# Generoidaan GM-salasana
from random import randint
# Tekee 16-kantaisen ison luvun, käytännössä kirjaimia ja lukuja purukumimaisesti.
# Ei mikään tosielämän vahva salasana, mutta toimii tähän käyttöön
salasana = hex(randint(10**10, 10**11))
print("GM:n salasana: "+salasana)
# Selvitetään koneen osoite, niin tiedetään, mihin yhdistää
import socket
ip = socket.gethostbyname(socket.gethostname()) # Sen koneen ip, jonka nimi on tämän koneen nimi => tään koneen ip
print("Yhdistä selain http://"+ip+":8080/")
def application(environ, start_response):
# Tämä on pyydetyn sivun osoite
polku = environ["PATH_INFO"]
# Tämän sivun lähettäjän antamat GET-muuttujat
muuttujatietoa = environ["QUERY_STRING"]
print("Pyydettiin sivua: " + polku)
sivu = ... # Tee haluamasi sivu stringiksi, ääkköset eivät ole suositellut
# Ne voi btw. korvata HTML:ssä yleisesit ä => ä, ö => ö, Ä => Ä, Ö => ö
# Heitän HTMLää, kaikki meni putkeen
start_response('200 OK', [('Content-Type', 'text/html')])
# Palautetaan itse generoitu HTML, WSGI haluaa sen hiukka häröön muotoon
return [bytes(sivu, 'utf-8')]
# Luodaan palvelin pyörimään portilla 8080 (tyypillisesti vapaa)
# '': kenelle vastataan, tyhjä stringi tarkoittaa, että vastataan kaikille
# 8080: portti
# application: mitä funktiota kutsutaan, kun tulee pyyntö
srv = make_server('', 8080, application)
try:
# Palvelimen ääretön silmukka käyntiin
srv.serve_forever()
# Odotetaan virhettä silmukoinnin lopettamiseksi, tässä tapauksessa KeyboardInterrupt
# Kyseisen virheen saa heitettyä näppikseltä painamalal ctrl-c
# Palvelimen voi siis pysäyttää kyseisellä yhdistelmällä
except KeyboardInterrupt:
pass
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment