Exemplo n.º 1
0
CString CUrlRichEditCtrl::GetUrl(int nURL, BOOL bAsFile) const
{
	ASSERT (nURL >= 0 && nURL < m_aUrls.GetSize());
	
	if ((nURL >= 0) && (nURL < m_aUrls.GetSize()))
	{
		CString sUrl(m_aUrls[nURL].sUrl);
		
		if (!bAsFile || !WebMisc::IsFileURI(sUrl))
			return sUrl;
		
		//if (sUrl.Find('#') == -1)
		{
			CString sFilePath;

			if (WebMisc::DecodeFileURI(sUrl, sFilePath))
			{
				FileMisc::ExpandPathEnvironmentVariables(sFilePath);
				sUrl = sFilePath;
			}
		}
		
		return sUrl;
	}
	
	// else
	return "";
}
Exemplo n.º 2
0
void CWGUrlReceiver::CheckYouTubePicture(){
	if (m_dlInfo.bstrUrl.Length() == 0)
		return;

	fsURL url;
	if (IR_SUCCESS != url.Crack(W2CT(m_dlInfo.bstrUrl)))
		return;

	std::wstring sUrl(m_dlInfo.bstrUrl);
	auto youTubeParserDllMgr = vmsYouTubeParserDllMgr::get();
	if (!youTubeParserDllMgr)
	{
		return;
	}
	auto extractor = youTubeParserDllMgr->objectsHolder()->createResourceObject(L"");
	std::wstring youTubeID;
	if (extractor && extractor->object()->extractIDFromImageURL(sUrl, youTubeID)){
		std::wstring youTubeDownloadURL = extractor->object()->createDownloadURLFromID(youTubeID);
		m_dlInfo.bstrUrl = T2CW(youTubeDownloadURL.c_str());
	}
}
Exemplo n.º 3
0
std::string Loader::getUrl(const std::string & sUrlTemplate, int level, int row, int col)
{
	std::string sUrl(sUrlTemplate);

	char szTemp[32];
	memset(szTemp, 0, 32);
	_itoa_s(level, szTemp, 10);
	size_t nPos = sUrl.find("{level}");
	sUrl.replace(nPos, 7, szTemp);

	memset(szTemp, 0, 32);
	_itoa_s(row, szTemp, 10);
	nPos = sUrl.find("{row}");
	sUrl.replace(nPos, 5, szTemp);

	memset(szTemp, 0, 32);
	_itoa_s(col, szTemp, 10);
	nPos = sUrl.find("{col}");
	sUrl.replace(nPos, 5, szTemp);

	return sUrl;
}
Exemplo n.º 4
0
extern "C" char* download(const char *url, long *bytesRead)
{
	//Without http://
	//url: www.server.com 
	//url: www.server.com/file.html
	

	char* pBuffer = NULL;
	


	Uint32                  nRetCode;
	Uint32                  nSize,nTotal = 0;	
	HTTP_SESSION_HANDLE pHTTP = 0;
	char buf[HTTP_CLIENT_BUFFER_SIZE];

	gedString sUrl(url);
	sUrl.replaceAll(" ", "%20");
	sUrl.replaceAll("//", "/");
	sUrl = gedString("http://") + sUrl;
	

	*bytesRead = 0;
	pHTTP = HTTPClientOpenRequest(0);
	

	if(!pHTTP) return NULL;


	// Send a request for the home page 
	if((nRetCode = HTTPClientSendRequest(pHTTP, sUrl.c_str(), NULL, 0, FALSE, 0, 0)) != HTTP_CLIENT_SUCCESS)
	{
		HTTPClientCloseRequest(&pHTTP);
		return NULL;
	}

	// Retrieve the the headers and analyze them
	if((nRetCode = HTTPClientRecvResponse(pHTTP,3)) != HTTP_CLIENT_SUCCESS)
	{
		HTTPClientCloseRequest(&pHTTP);
		return NULL;
	}

	
	// Get the data until we get an error or end of stream code
	// printf("Each dot represents %d bytes:\n",HTTP_BUFFER_SIZE );
	while(nRetCode == HTTP_CLIENT_SUCCESS || nRetCode != HTTP_CLIENT_EOS)
	{
		nSize = 0;   

		// Get the data
		nRetCode = HTTPClientReadData(pHTTP, buf, HTTP_CLIENT_BUFFER_SIZE, 0, &nSize);

		if(nSize)
		{
			pBuffer = (char *)realloc(pBuffer, nTotal + nSize + 1);
			memcpy(pBuffer + nTotal, buf, nSize);
		}

		nTotal += nSize;		
	}

	*bytesRead = nTotal;
	HTTPClientCloseRequest(&pHTTP);

	return pBuffer;
}
Exemplo n.º 5
0
int MainWindow::loadSpreadsheet(QString orderBy)
{
    if (!dbAvailable())
    {
        qDebug() << "Cannot load: db not available";
        return -1;
    }
    m_sheetLoadBusy = 1;
    loadUsercols();
    QSqlQuery q(m_db);
    QString sQuery("SELECT * FROM zbr_property ORDER BY " + orderBy);
    if (!q.exec(sQuery))
    {
        qDebug() << "Query failed for load:" << q.lastError().text();
        m_sheetLoadBusy = 0;
        return -1;
    }
    int loaded = 0;
    m_urlToRow.clear();
    m_dbidToRow.clear();
    m_zpidToRow.clear();
    // Add to spreadsheet
    int numRows = q.size();
    ui->tblData->setRowCount(numRows);
    qDebug() << "Got num rows:" << numRows << " cols:" << ui->tblData->columnCount();
    assertTableHeaders();
    int rowIndex = 0;
    while (q.next())
    {
        if (rowIndex >= numRows)
        {
            ui->tblData->setRowCount(numRows = rowIndex + 1);
        }
        /***
    id INTEGER PRIMARY KEY AUTOINCREMENT,\
    zpid INTEGER NOT NULL,\
    when_checked INTEGER NOT NULL,\
    detail_url TEXT NOT NULL,\
    lot_size TEXT,\
    year_built INTEGER,\
    price INTEGER,\
    bedrooms TEXT,\
    baths TEXT,\
    sqft INTEGER,\
    zestimate INTEGER,\
    schools TEXT,\
    schools_avg REAL,\
    hoa_fee TEXT,\
    address TEXT,\
    city TEXT,\
    county TEXT,\
    zip TEXT,\
    state TEXT,\
    user1 TEXT,\
         ****/
        QString sUrl(q.value("detail_url").toString());
        m_dbidToRow[q.value("id").toInt()] = rowIndex;
        m_zpidToRow[q.value("zpid").toInt()] = rowIndex;
        m_urlToRow[sUrl] = rowIndex;
        setTableCell(rowIndex, COL_URL, sUrl );
        setTableCell(rowIndex, COL_DBID, q.value("id").toString() );
        setTableCell(rowIndex, COL_LOT, sortableLotSize(q.value("lot_size").toString()) );
        setTableCell(rowIndex, COL_YEAR, q.value("year_built").toString() );
        setTableCell(rowIndex, COL_PRICE, q.value("price").toString() );
        setTableCell(rowIndex, COL_BR, q.value("bedrooms").toString() );
        setTableCell(rowIndex, COL_BA, q.value("baths").toString() );
        setTableCell(rowIndex, COL_SQFT, q.value("sqft").toString() );
        setTableCell(rowIndex, COL_ZESTIMATE, q.value("zestimate").toString() );
        setTableCell(rowIndex, COL_SCHOOLS, q.value("schools").toString() );
        setTableCell(rowIndex, COL_HOA, q.value("hoa_fee").toString() );
        setTableCell(rowIndex, COL_ADDRESS, q.value("address").toString() );
        setTableCell(rowIndex, COL_CITY, q.value("city").toString() );
        setTableCell(rowIndex, COL_COUNTY, q.value("county").toString() );
        setTableCell(rowIndex, COL_ZIP, q.value("zip").toString() );
        setTableCell(rowIndex, COL_STATE, q.value("state").toString() );
        QString sLat(q.value("latitude").toString());
        QString sLong(q.value("longitude").toString());
        if (!sLat.isEmpty() && !sLong.isEmpty() && sLat.toInt() != 0)
        {
            setTableCell(rowIndex, COL_GEO, QString().sprintf("%.6f,%.6f", sLat.toDouble() / 1000000.0, sLong.toDouble() / 1000000.0 ) );
            setDistanceColumn(rowIndex);
        }
        // Display user columns
        int col;
        for (col = COL_START_USER; col < ui->tblData->columnCount(); col++)
        {
            QString name(QString().sprintf("user%d", col - COL_START_USER + 1));
            setTableCell(rowIndex, col, q.value(name).toString() );
        }
        rowIndex++;
    }
    m_sheetLoadBusy = 0;
    return loaded;
}