~azzar1/unity/add-show-desktop-key

« back to all changes in this revision

Viewing changes to www/apps/fileservice/__init__.py

  • Committer: mattgiuca
  • Date: 2008-01-09 06:18:26 UTC
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:trunk:141
fileservice: Added scaffolding for this module (2 functions, and code to call
    them).

Show diffs side-by-side

added added

removed removed

Lines of Context:
82
82
from common import util
83
83
 
84
84
import cjson
 
85
import pysvn
85
86
 
86
87
DEFAULT_LOGMESSAGE = "No log message supplied."
87
88
 
98
99
    #req.content_type = "application/json"
99
100
    req.write_html_head_foot = False     # No HTML
100
101
 
101
 
    # Start writing data
102
 
    # TEMP Dummy Data
 
102
    # Get all the arguments, if POST.
 
103
    # Ignore arguments if not POST, since we aren't allowed to cause
 
104
    # side-effects on the server.
 
105
    action = None
 
106
    fields = None
 
107
    if req.method == 'POST':
 
108
        fields = req.get_fieldstorage()
 
109
        action = fields.getfirst('action')
 
110
 
 
111
    if action is not None:
 
112
        handle_action(req, action, fields)
 
113
 
 
114
    handle_return(req)
 
115
 
 
116
def handle_action(req, action, fields):
 
117
    """Perform the "action" part of the response.
 
118
    This function should only be called if the response is a POST.
 
119
    This performs the action's side-effect on the server. If unsuccessful,
 
120
    writes the X-IVLE-Action-Error header to the request object. Otherwise,
 
121
    does not touch the request object. Does NOT write any bytes in response.
 
122
 
 
123
    action: String, the action requested. Not sanitised.
 
124
    fields: FieldStorage object containing all arguments passed.
 
125
    """
 
126
    if action == "rm":
 
127
        path = fields.getfirst('path')
 
128
        # Delete the file
 
129
        pass
 
130
 
 
131
def handle_return(req):
 
132
    """Perform the "return" part of the response.
 
133
    This function returns the file or directory listing contained in
 
134
    req.path. Sets the HTTP response code in req, writes additional headers,
 
135
    and writes the HTTP response, if any."""
 
136
    # TEMP
 
137
    req.status = req.OK
103
138
    req.write('{"app": "File Service"}\n')