* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
-#include <QDebug>
#include <QTimer>
#include <QImage>
#include <QDir>
#define IMAGE_HEIGHT 408
#define MAX_DOWNLOAD_RETRIES 3
+#define RETRY_TIMEOUT 5000
MedardDownloader::MedardDownloader() : QObject()
{
m_retryCounter = 0;
m_retryTimer = new QTimer();
- m_retryTimer->setInterval(5000);
connect(m_retryTimer, SIGNAL(timeout()), this, SLOT(retryTimerEvent()));
m_cachePath = QString("%1/%2")
}
}
-QSize MedardDownloader::getImageSize()
+QSize MedardDownloader::imageSize()
{
return QSize(IMAGE_WIDTH, IMAGE_HEIGHT);
}
cleanCacheDirectory();
}
-QDateTime MedardDownloader::getForecastInitialDate()
+QDateTime MedardDownloader::forecastInitialDate()
{
return m_forecastInitialDate.toLocalTime();
}
-QDateTime MedardDownloader::getForecastDate()
+QDateTime MedardDownloader::forecastDate()
{
return m_forecastInitialDate.addSecs(3600 * m_forecastDateOffset).toLocalTime();
}
m_retryCounter++;
if (m_retryCounter < MAX_DOWNLOAD_RETRIES) {
+ m_retryTimer->setInterval(RETRY_TIMEOUT * (m_retryCounter + 1));
m_retryTimer->start();
} else {
m_retryCounter = 0;
void MedardDownloader::clearDownloadRequest()
{
- qDebug() << "clearDownloadRequest: m_reply=" << m_reply;
-
delete m_reply;
m_reply = 0;
}
void MedardDownloader::downloadImageFinished()
{
- qDebug() << "downloadImageFinished: m_reply=" << m_reply;
-
QByteArray picture = m_reply->readAll();
if (picture.isNull() || picture.size() <= 0)
croped.save(filename, "png");
}
- qDebug() << "downloadImageFinished: downloadFinished=" << filename;
- emit downloadFinished(filename, getForecastDate());
+ emit downloadFinished(filename, forecastDate());
QTimer::singleShot(0, this, SLOT(clearDownloadRequest()));
}
void MedardDownloader::downloadImage()
{
- qDebug() << "downloadImage: retry=" << m_retryCounter << "date:" << m_forecastInitialDate.toString("dd.MM.yyyy hh:mm");
-
if (m_forecastInitialDateCode.isNull()) {
retrieveForecastInitialDate();
tryDownloadImageAgain();
.arg(QString().number(m_forecastDateOffset));
if (isDownloaded(filename)) {
- qDebug() << "downloadImage: downloadFinished=" << filename;
-
- emit downloadFinished(filename, getForecastDate());
+ emit downloadFinished(filename, forecastDate());
return;
}
return QFile(filename).exists();
}
-int MedardDownloader::getForecastDateOffset()
+int MedardDownloader::forecastDateOffset()
{
return m_forecastDateOffset;
}
-int MedardDownloader::getMinForecastDateOffset()
+int MedardDownloader::minForecastDateOffset()
{
return MIN_OFFSET;
}
-int MedardDownloader::getMaxForecastDateOffset()
+int MedardDownloader::maxForecastDateOffset()
{
return MAX_OFFSET;
}
void MedardDownloader::retrieveForecastInitialDateFinished()
{
- qDebug() << "retrieveForecastInitialDateFinished: m_reply=" << m_reply;
-
QByteArray data = m_reply->readAll();
int index1 = data.indexOf("var fcst_initDatestamp=\"", 0);
void MedardDownloader::retrieveForecastInitialDateError(QNetworkReply::NetworkError /* code */)
{
- qDebug() << "retrieveForecastInitialDateError: m_reply=" << m_reply;
}
void MedardDownloader::retrieveForecastInitialDate()
{
- qDebug() << "retrieveForecastInitialDate: m_reply=" << m_reply;
-
QString serverUrl = QString(MEDARD_URL);
QUrl url(serverUrl);