DataSift_Historic::prepare PHP Method

prepare() public method

Call the DataSift API to prepare this historic query.
public prepare ( ) : void
return void
    public function prepare()
    {
        if ($this->_deleted) {
            throw new DataSift_Exception_InvalidData('Cannot prepare a deleted Historic.');
        }
        if ($this->_playback_id !== false) {
            throw new DataSift_Exception_InvalidData('This historic query has already been prepared.');
        }
        try {
            $res = $this->_user->post('historics/prepare', array('hash' => $this->_hash, 'start' => $this->_start, 'end' => $this->_end, 'name' => $this->_name, 'sources' => implode(',', $this->_sources), 'sample' => $this->_sample));
            if (isset($res['id'])) {
                $this->_playback_id = $res['id'];
            } else {
                throw new DataSift_Exception_APIError('Prepared successfully but no playback ID in the response');
            }
            if (isset($res['dpus'])) {
                $this->_dpus = $res['dpus'];
            } else {
                throw new DataSift_Exception_APIError('Prepared successfully but no DPU cost in the response');
            }
            if (isset($res['availability'])) {
                $this->_availability = $res['availability'];
            } else {
                throw new DataSift_Exception_APIError('Prepared successfully but no availability in the response');
            }
        } catch (DataSift_Exception_APIError $e) {
            switch ($e->getCode()) {
                case 400:
                    // Missing or invalid parameters
                    throw new DataSift_Exception_InvalidData($e->getMessage());
                default:
                    throw new DataSift_Exception_APIError('Unexpected APIError code: ' . $e->getCode() . ' [' . $e->getMessage() . ']');
            }
        }
    }