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

« back to all changes in this revision

Viewing changes to ivle/util.py

  • Committer: William Grant
  • Date: 2010-02-04 01:51:17 UTC
  • Revision ID: grantw@unimelb.edu.au-20100204015117-ir9gstr8x297561n
Unbreak diffservice with Subversion >= 1.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
260
260
        os.rmdir(path)
261
261
    except os.error:
262
262
        onerror(os.rmdir, path, sys.exc_info())
263
 
 
264
 
def format_submission_principal(user, principal):
265
 
    """Render a list of users to fit in the offering project listing.
266
 
 
267
 
    Given a user and a list of submitters, returns 'solo' if the
268
 
    only submitter is the user, or a string of the form
269
 
    'with A, B and C' if there are any other submitters.
270
 
 
271
 
    If submitters is None, we assume that the list of members could
272
 
    not be determined, so we just return 'group'.
273
 
    """
274
 
    if principal is None:
275
 
        return 'group'
276
 
 
277
 
    if principal is user:
278
 
        return 'solo'
279
 
 
280
 
    display_names = sorted(
281
 
        member.display_name for member in principal.members
282
 
        if member is not user)
283
 
 
284
 
    if len(display_names) == 0:
285
 
        return 'solo (%s)' % principal.name
286
 
    elif len(display_names) == 1:
287
 
        return 'with %s (%s)' % (display_names[0], principal.name)
288
 
    elif len(display_names) > 5:
289
 
        return 'with %d others (%s)' % (len(display_names), principal.name)
290
 
    else:
291
 
        return 'with %s and %s (%s)' % (', '.join(display_names[:-1]),
292
 
                                        display_names[-1], principal.name)