Open dezhidki opened 3 months ago
Tekoälyn ehdotus skriptiksi tim.pm osoitteeseen :-) Sisältö jäi tutkimatta...
#!/usr/bin/env python3
import cgi
import os
import urllib.request
print("Content-Type: text/html") # CGI-otsikko
print() # Tyhjä rivi erottaa otsikot ja sisällön
# Hae URL-osoitteen polku-osa
path_info = os.environ.get('PATH_INFO', '')
# Jos polku-osa on olemassa, poista ensimmäinen kauttaviiva
if path_info.startswith('/'):
path_info = path_info[1:]
# Muodosta TIM-palvelun URL-osoite
tim_url = f"https://tim.jyu.fi/view/r/{path_info}"
try:
# Tee pyyntö TIM-palveluun
with urllib.request.urlopen(tim_url) as response:
# Jos pyyntö onnistuu, uudelleenohjaa käyttäjä TIM-osoitteeseen
if response.status == 200:
print(f"Status: 302 Found")
print(f"Location: {tim_url}")
else:
# Jos pyyntö epäonnistuu, näytä virheviesti
print("Status: 404 Not Found")
print(f"<h1>404 Not Found</h1><p>Requested page not found: {tim_url}</p>")
except Exception as e:
# Käsittele mahdolliset virheet, kuten yhteysongelmat
print("Status: 500 Internal Server Error")
print(f"<h1>500 Internal Server Error</h1><p>Error: {str(e)}</p>")
Tämä kortti on nyt olennaisilta osin toteutettu, ja mergetty päähaaraan PRssä https://github.com/TIM-JYU/TIM/pull/3690. Merkitsen kortin jatkokehityskohteeksi, sillä kortissa on vielä joitakin huomioita, joita ei ole käsitelty toteutuksessa.
Pääideana on että
ohjautuu haluttuun osoitteeseen (joka voi olla muuallakin kuin itse timissä poiketen r.jyu.fi, missä kohde voi olla vain jyu.fi-domainissa).
r.jyu.fi-palvelun ongelmia joita pyritään poistamaan:
Toteutusehdotuksen esimerkki ohj1 uudelleen ohjaukselle:
tim.pm/ohj1 olisi vain tiedosto tyyliin
tim.jyu.fi/view/r/ohj1
ja sen sisältönä pelkkä
https://tim.jyu.fi/view/kurssit/tie/ohj1/vuosi/2023/syksy/koti
Lyhenteiden muokkailu voitaisiin silloin hoitaa ihan normaalina tiedostona käyttäen normaaleja TIMin muokkaustoimintoja ja oikeuksia.
Eli
tim.pm/XXXX
kävisi hakemassa redirect osoitteen tim.jyu.fi/r/XXXX dokusta. Silloin itse timiin ei tarvitsisi koodata oikeastaan mitään. Nuo r-hakemiston (voihan se olla
redirect
nimikin jos pidemmän haluaa) tiedostot voivat kai olla view anonymous, koska niiden sisällöthän saisi joka tapauksessa selville katsomalla mihin menee. Ja kuka r-hakemistoon tekeekin tiedoston, voisi laittaa edit oikeuden mille ryhmälle haluaa. Oletuksena r-hakemiston dokujen lisäys jyu.fi-tunnuksilla ja sitten voi tarpeen mukaan lisätä.Haasteita: