# HG changeset patch # User Pawel Solyga # Date 1222788065 0 # Node ID 75a8cc0200ade2b168879d85f796d23099fd8ec9 # Parent 8e208e326adb5a86c8aa66581bd1046e8955b52e Add key naming function for Sponsor, School, Organization, Club key_names. Patch by: Pawel Solyga Review by: to-be-reviewed diff -r 8e208e326adb -r 75a8cc0200ad app/soc/logic/key_name.py --- a/app/soc/logic/key_name.py Tue Sep 30 14:00:11 2008 +0000 +++ b/app/soc/logic/key_name.py Tue Sep 30 15:21:05 2008 +0000 @@ -19,9 +19,15 @@ __authors__ = [ '"Todd Larsen" ', + '"Pawel Solyga" ', ] +import soc.models.club +import soc.models.group +import soc.models.organization +import soc.models.school +import soc.models.sponsor import soc.models.document import soc.models.site_settings import soc.models.user @@ -51,3 +57,47 @@ 'email': email, } + +def nameSponsor(link_name): + """Returns a Sponsor key name constructed from a supplied link name.""" + return '%(group)s/%(type)s:%(link_name)s' % { + 'group': soc.models.group.Group.__name__, + 'type': soc.models.sponsor.Sponsor.__name__, + 'link_name': link_name, + } + + +def nameSchool(sponsor_ln, program_ln, link_name): + """Returns a School key name constructed from a supplied sponsor, + program and school link names. + """ + return '%(group)s/%(type)s:%(sponsor)s/%(program)s/%(link_name)s' % { + 'group': soc.models.group.Group.__name__, + 'type': soc.models.school.School.__name__, + 'sponsor': sponsor_ln, + 'program': program_ln, + 'link_name': link_name, + } + + +def nameOrganization(sponsor_ln, program_ln, link_name): + """Returns a Organization key name constructed from a supplied sponsor, + program and organization link names. + """ + return '%(group)s/%(type)s:%(sponsor)s/%(program)s/%(link_name)s' % { + 'group': soc.models.group.Group.__name__, + 'type': soc.models.organization.Organization.__name__, + 'sponsor': sponsor_ln, + 'program': program_ln, + 'link_name': link_name, + } + + +def nameClub(link_name): + """Returns a Club key name constructed from a supplied link name.""" + return '%(group)s/%(type)s:%(link_name)s' % { + 'group': soc.models.group.Group.__name__, + 'type': soc.models.sponsor.Sponsor.__name__, + 'link_name': link_name, + } + \ No newline at end of file