'Create the pose'

def func(self):

    caller = self.caller
    pose = self.args
    target = self.target
    if ((not pose) and (not self.reset)):
        caller.msg('Usage:    pose    <pose-text>    OR    pose    obj    =    <pose-text>')
        return
    if (not pose.endswith('.')):
        pose = ('%s.' % pose)
    if target:
        target = caller.search(target)
        if (not target):
            return
        if (not target.access(caller, 'edit')):
            caller.msg("You    can't    pose    that.")
            return
    else:
        target = caller
    if (not target.attributes.has('pose')):
        caller.msg(('%s    cannot    be    posed.' % target.key))
        return
    target_name = (target.sdesc.get() if hasattr(target, 'sdesc') else target.key)
    if self.reset:
        pose = target.db.pose_default
        target.db.pose = pose
    elif self.default:
        target.db.pose_default = pose
        caller.msg(("Default    pose    is    now    '%s    %s'." % (target_name, pose)))
        return
    else:
        (parsed, mapping) = parse_sdescs_and_recogs(caller, caller.location.contents, pose)
        mapping = dict(((ref, (obj.sdesc.get() if hasattr(obj, 'sdesc') else obj.key)) for (ref, obj) in mapping.iteritems()))
        pose = parsed.format(**mapping)
        if ((len(target_name) + len(pose)) > 60):
            caller.msg(("Your    pose    '%s'    is    too    long." % pose))
            return
        target.db.pose = pose
    caller.msg(("Pose    will    read    '%s    %s'." % (target_name, pose)))
