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

« back to all changes in this revision

Viewing changes to ivle/webapp/userservice/__init__.py

  • Committer: David Coles
  • Date: 2010-07-28 10:45:53 UTC
  • mfrom: (1829 trunk)
  • mto: This revision was merged to the branch mainline in revision 1830.
  • Revision ID: coles.david@gmail.com-20100728104553-5z3nxt0l6kyfqfh5
MergeĀ fromĀ trunk

Show diffs side-by-side

added added

removed removed

Lines of Context:
102
102
import sys
103
103
import datetime
104
104
 
105
 
import cjson
 
105
try:
 
106
    import json
 
107
except ImportError:
 
108
    import simplejson as json
106
109
 
107
110
import ivle.database
108
111
from ivle import (util, chat)
212
215
                             msg,
213
216
                             req.config['usrmgt']['magic'],
214
217
                            )
215
 
    except cjson.DecodeError:
 
218
    except ValueError:
216
219
        # Gave back rubbish - set the response to failure
217
220
        response = {'response': 'usrmgt-failure'}
218
221
 
230
233
 
231
234
    # Write the response
232
235
    req.content_type = "text/plain"
233
 
    req.write(cjson.encode(response))
 
236
    req.write(json.dumps(response))
234
237
 
235
238
def handle_get_enrolments(req, fields):
236
239
    """
260
263
            'subj_name':       e.offering.subject.name,
261
264
            'subj_short_name': e.offering.subject.short_name,
262
265
            'year':            e.offering.semester.year,
263
 
            'semester':        e.offering.semester.semester,
 
266
            'semester_url':    e.offering.semester.url_name,
 
267
            'semester_display':e.offering.semester.display_name,
264
268
            'state':           e.offering.semester.state,
265
269
            'groups':          [{'name': group.name,
266
270
                                 'nick': group.nick} for group in e.groups]
267
271
        })
268
 
    response = cjson.encode(dict_enrolments)
 
272
    response = json.dumps(dict_enrolments)
269
273
    req.content_type = "text/plain"
270
274
    req.write(response)
271
275
 
299
303
                        'nick': g.nick} for g in p.project_groups]
300
304
        })
301
305
 
302
 
    response = cjson.encode(dict_projectsets)
 
306
    response = json.dumps(dict_projectsets)
303
307
    req.write(response)
304
308
 
305
309
@require_method('POST')
361
365
    args = {
362
366
        "subj_short_name": offering.subject.short_name,
363
367
        "year": offering.semester.year,
364
 
        "semester": offering.semester.semester,
 
368
        "semester": offering.semester.url_name,
365
369
        "groupnm": group.name,
366
370
    }
367
371
    msg = {'create_group_repository': args}
373
377
                           msg,
374
378
                           req.config['usrmgt']['magic'],
375
379
                          )
376
 
    except cjson.DecodeError, e:
 
380
    except ValueError, e:
377
381
        raise Exception("Could not understand usrmgt server response:" +
378
382
                        e.message)
379
383
 
426
430
        if member in offeringmembers:
427
431
            offeringmembers.remove(member)
428
432
 
429
 
    response = cjson.encode(
 
433
    response = json.dumps(
430
434
        {'groupmembers': groupmembers, 'available': offeringmembers})
431
435
 
432
436
    req.content_type = "text/plain"
467
471
                           msg,
468
472
                           req.config['usrmgt']['magic'],
469
473
                          )
470
 
    except cjson.DecodeError, e:
 
474
    except ValueError, e:
471
475
        raise Exception("Could not understand usrmgt server response: %s" +
472
476
                        e.message)
473
477
 
474
478
        if 'response' not in usrmgt or usrmgt['response']=='failure':
475
479
            raise Exception("Failure creating repository: " + str(usrmgt))
476
480
 
477
 
    return(cjson.encode({'response': 'okay'}))
 
481
    return(json.dumps({'response': 'okay'}))
478
482
 
479
483
@require_method('POST')
480
484
def handle_unassign_group(req, fields):
514
518
                           msg,
515
519
                           req.config['usrmgt']['magic'],
516
520
                          )
517
 
    except cjson.DecodeError, e:
 
521
    except ValueError, e:
518
522
        raise Exception("Could not understand usrmgt server response: %s" +
519
523
                        e.message)
520
524
 
521
525
        if 'response' not in usrmgt or usrmgt['response']=='failure':
522
526
            raise Exception("Failure creating repository: " + str(usrmgt))
523
527
 
524
 
    return(cjson.encode({'response': 'okay'}))
 
528
    return(json.dumps({'response': 'okay'}))
525
529
 
526
530
# Map action names (from the path)
527
531
# to actual function objects