Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Chat Program
Branch: master
Pull request Compare This branch is 1 commit behind The-Learners-of-the-Python-Forum:master.

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
client
server
.gitignore
README.md
TODO.md
main.py

README.md

The Learners of the Python Forum

chat-program

The Learners of the Python Forum chat-program is a project that has been created to provide a common interest task for members of the http://www.python-forum.org/ forums. We aim to create a multiuser client/server application that will allow users to communicate using various front and back ends. The primary goal of the project is for all participants to learn something new and fun using the Python programming language and various third party packages.

The Python version we will use for development is 2.7.3. To begin with, some members will be using Twisted (http://www.twistedmatrix.com/), an event driven networkign engine. Others will choose to write their own networking code using the included sockets module.

Visit the following link to get involved! http://www.python-forum.org/pythonforum/viewtopic.php?f=7&t=34372

Tasks

General decisions to be made:

How to handle user authentication.
How to store user information.
Generic features: Status' (Op, Mod, User, etc)
                      There are several modes that can be set on a user:
                        o = Owner, all privileges
                        a = Admin, most privileges (except for changing Admin flags)
                        m = Moderator, most Admin privileges except for changing Admin and Banned flags
                        t = Trusted, just a mark of respect
                        q = Quiet, can only speak in asides
                        s = Silent, cannot talk at all
                        b = Banned.
                  Banning capability (By Username, IP Address, etc)
                  ?? Add More Here ??
Determine how many and what kinds of back ends (Telnet, SSH, HTTP, etc)
Determine how many and what kinds of front ends (Telnet, SSH, HTTP, Pygame, Tkinter, etc)
?? Add more front/back ends ??
?? Add more general decisions to be made ??

server.py - The server backend:

Develop an IO loop that will allow connections from all the various back ends.
Determine any logging/statistical capabilities
Determine (per above) authentication, user information handling.
??  Add more for server development ??

client.py - The client frontend:

Determine the type of front end:
    Generic Telnet connection
    SSH connection
    Web interface
    Graphical interface (PyGame, Tkinter, etc)
?? Add more for client development ??
Something went wrong with that request. Please try again.