11#include "karambaapp.h"
16#include <tdeio/netaccess.h>
18RssSensor::RssSensor(
const TQString &src,
int interval,
const TQString &form,
const TQString &enc)
29 if( !encoding.isEmpty() )
31 codec = TQTextCodec::codecForName( encoding.ascii() );
33 codec = TQTextCodec::codecForLocale();
36 codec = TQTextCodec::codecForLocale();
39RssSensor::~RssSensor()
43void RssSensor::update()
51 if(TDEIO::NetAccess::download(KURL(source), tmpFile, karambaApp->parentWindow()))
53 if(TDEIO::NetAccess::download(KURL(source), tmpFile))
56 file.setName(tmpFile);
57 if ( file.open(IO_ReadOnly | IO_Translate) )
59 if ( doc.setContent( &file ) )
65 tqDebug(
"Error on building DOM");
70 tqDebug(
"Error opening file");
74 tqDebug(
"Error Downloading: %s", source.ascii());
82 TQObjectListIt it( *objList );
86 meter = sp->getMeter();
92 TQDomElement docElem = doc.documentElement();
93 TQDomNode n = docElem.firstChild();
96 TQDomNodeList links = docElem.elementsByTagName(
"link" );
97 TQDomNodeList displays;
98 if ( format.contains(
"%d",
false ) > 0 )
100 displays = docElem.elementsByTagName(
"description" );
104 displays = docElem.elementsByTagName(
"title" );
107 TQRegExp rx(
"^http://",
false );
108 for (uint i=1; i < displays.count(); ++i )
110 TQString dispTxt = displays.item( i ).toElement().text();
111 TQString linkTxt = links.item( i ).toElement().text();
112 if( (rx.search(dispTxt) == -1) && (rx.search(linkTxt) != -1) )
114 meter->setValue( dispTxt );
115 meter->setValue( linkTxt );
125 tqDebug (
"Document Node was null!!");
133 TDEIO::NetAccess::removeTempFile( tmpFile );
136#include "rsssensor.moc"