Return the part of the S3 path based on inputs

        The path will be passed to the s3_upload method &
        will ultimately be merged with the standard AWS S3
        URL.

        An example model type of 'users' with a resource ID
        of 99 & an API endpoint ending with 'photos' will have
        a path generated in the following way:

            users/99/photos/<timestamp>.<extension>

        The timestamp is a high precision timestamp & the
        extension is typically 3 characters & derived in
        the form-data deserializer.

def _gen_s3_path(self, model, props):
        """ Return the part of the S3 path based on inputs

        The path will be passed to the s3_upload method &
        will ultimately be merged with the standard AWS S3
        URL.

        An example model type of 'users' with a resource ID
        of 99 & an API endpoint ending with 'photos' will have
        a path generated in the following way:

            users/99/photos/<timestamp>.<extension>

        The timestamp is a high precision timestamp & the
        extension is typically 3 characters & derived in
        the form-data deserializer.
        """

        now = '%.5f' % time.time()

        return '%s/%s/%s/%s.%s' % (model.rtype, model.rid_value,
                                   self._s3_rtype, now, props['file-ext'])