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

« back to all changes in this revision

Viewing changes to services/python-console

  • Committer: matt.giuca
  • Date: 2009-01-14 10:10:12 UTC
  • mto: This revision was merged to the branch mainline in revision 1090.
  • Revision ID: svn-v3-trunk0:2b9c9e99-6f39-0410-b283-7f802c844ae2:branches%2Fstorm:1132
The new ivle.database.User class is now used in Request and usrmgt, which
    means it is now almost universally used in favour of ivle.user.User (now
    deprecated).

Noticeable change: The minor bug where the change to a user object in the
    database is not reflected in the user's session (eg. changing nick doesn't
    update title until log out).

ivle.dispatch:
    Session now contains 'login' (username string) rather than 'user' (full
        ivle.user.User object). This is a unicode string now.

    req.user is now a ivle.database.User object rather than an ivle.user.User
        object. This makes for a whole lot of really subtle differences, but
        largely conforms to the same interface. Note that strings must now all
        be unicode.

    login: Removed use of ivle.db. Now uses User object.

    html: Now handles unicode login and config options.

ivle.db: Removed update_user. Now replaced with Storm model.

ivle.database: Renamed has_cap back to hasCap (saved for later). Fixed small
    unicode bug.

ivle.makeuser.make_svn_auth now takes a store object.

usrmgt-server: Use new User class.

userservice: Now uses User class internally.
    get_user action now returns ISO 8601 date format, rather than a
        time tuple. (Wasn't being used).
    get_user action no longer transmits local_password (small security risk;
        note that it wasn't possible to see this for any user other than
        yourself unless admin).

ivle.util - added function object_to_dict.

Show diffs side-by-side

added added

removed removed

Lines of Context:
208
208
 
209
209
        # Try to execute the buffer
210
210
        try:
211
 
            # A single trailing newline simply indicates that the line is
212
 
            # finished. Two trailing newlines indicate the end of a block.
213
 
            # Unfortunately, codeop.CommandCompiler causes even one to
214
 
            # terminate a block.
215
 
            # Thus we need to remove a trailing newline from the command,
216
 
            # unless there are *two* trailing newlines, or multi-line indented
217
 
            # blocks are impossible. See Google Code issue 105.
218
 
            cmd_text = self.curr_cmd
219
 
            if cmd_text.endswith('\n') and not cmd_text.endswith('\n\n'):
220
 
                cmd_text = cmd_text[:-1]
221
 
            cmd = self.cc(cmd_text, '<web session>')
 
211
            cmd = self.cc(self.curr_cmd, '<web session>')
222
212
            if cmd is None:
223
213
                # The command was incomplete, so send back a None, so the              
224
214
                # client can print a '...'
399
389
    for o in object:
400
390
        try:
401
391
            flat[o] = cPickle.dumps(object[o], PICKLEVERSION)
402
 
        except (TypeError, cPickle.PicklingError):
 
392
        except TypeError:
403
393
            try:
404
394
                o_type = type(object[o]).__name__
405
395
                o_name = object[o].__name__