'Uses the Django admin api. Note that unlogged-in commands
have a unique position in that their func() receives
a session object instead of a source_object like all
other types of logged-in commands (this is because
there is no object yet before the player has logged in)'

def func(self):

    session = self.caller
    if _throttle(session, maxlim=5, timeout=(5 * 60), storage=_LATEST_FAILED_LOGINS):
        session.msg('|RYou    made    too    many    connection    attempts.    Try    again    in    a    few    minutes.|n')
        return
    args = self.args
    parts = [part.strip() for part in re.split('\\"', args) if part.strip()]
    if (len(parts) == 1):
        parts = parts[0].split(None, 1)
        if ((len(parts) == 1) and (parts[0].lower() == 'guest')):
            (enabled, new_player) = create_guest_player(session)
            if new_player:
                session.sessionhandler.login(session, new_player)
            if enabled:
                return
    if (len(parts) != 2):
        session.msg('\n\r    Usage    (without    <>):    connect    <name>    <password>')
        return
    (name, password) = parts
    player = create_normal_player(session, name, password)
    if player:
        session.sessionhandler.login(session, player)
