Home Projekty ISgr5

Skip to content. | Skip to navigation

ISgr5

by Wojciech Lichota last modified Jun 24, 2008 11:37 AM

ISgr5 jest stroną internetową V rok Informatyki Stosowanej. Silnik został w całości napisany w języku Python jako skrypt CGI. Stronę tą rozwijam od ponad 4 lat. Był to mój pierwszy duży skrypt "pajtonowy" i bardzo dużo się nauczyłem pracując nad nim. Obecnie w internecie znajdzie się wiele lepszych systemów do budowy stron internetowych czy forów. Źródła które zamieszczam są raczej antyprzykładem - jak nie programować :P

Czy jest ISgr5

ISgr5 była stroną internetową Informatyki Stosowanej rocznika 2003-2007. Obecnie działalność została zawieszona, a dawniej działał pod adresem: http://isgr5.ath.cx/isgr5/isgr5.cgi.


Podstawowymi fukncjami strony są:

  • wymiana plików przydatnych podczas studiowania (materiały, opracowania, ściągi),
  • miejsce umieszczania ogłoszeń,
  • dyskucja na tematy związane ze studiami oraz na inne tematy,
  • baza danych tele-adresowych studentów.

 

Budowa

Strona jest zestawem skryptów napisanych w Python-ie. Całość została podzielona na moduły odpowiedzialne za szereg funkcji. Skrypt CGI ma za zadanie wczytać i uruchomić moduł, a w przypadku błędu pokazać co go spowodowało. Przykładowy skrypt CGI:
#!/usr/local/bin/python
try:
    import sys
    sys.path.append('files')
    import isgr5
    isgr5.main()

except:
    sys.stdout.write("""Content-Type: text/plain\n\nNieoczekiwany błąd!
    Wyślij poniższe informacje do autora <sargo[at]tlen.pl>\n\n""")
    sys.stderr = sys.stdout
    import traceback
    traceback.print_exc()
Baza danych zorganizowna jest w oparciu o pliki w formacie używanym przez moduł cPickle ze standardowej biblioteki Python-a. Podejscie takie pozwala organizować dane zarówno jako listy (analogiczne do tabel z SQL) jak i słowniki (tablice z hash-em).

Aby ujednolicić wygląd wszystkich podstron zaimplementowany został system makr które można wplatać w pliki html.
Makro składa się ze znaków rozpoczynających '%%%', nazwy makra, argumentów oddzielownych znakami '%' i sekwencji kończącej '%%%'. Przykładem może być:
%%%cool_table%tresc naglowka tabeli%<center>treść<br>^^^hr^5^^^<br>tabeli</center>%%%
Makro to tłumaczone jest na kod html pokazujący tabelę. Jak widać w agrumentach makra można wpisywać tagi html-a, a także inne makra (pod warunkiem, że naki '%' będą zastąpione znakami '^').

 

Kod źródłowy

Program tworzony jest na licencji GNU GPL v2. Kod źródłowy znajduje się w pliku isgr5.tar.gz. Jeżeli ktoś chciałby wykorzystać kod w celu stworzenia własnej strony, proszę o kontakt - wytłumaczę co, gdzie i jak należy wgrać, żeby działało :D
Document Actions