#include "thread.h"
#include "cache.h"
#include "kita_misc.h"
+#include "account.h"
#include <config.h>
//
QString OfflawAccess::get()
{
- QString getURL = m_datURL.url();
- // FIXME: getURL
+ QString getURL = Kita::datToOfflaw( m_datURL.url() );
+ KURL kgetURL( getURL );
+ kgetURL.addQueryItem( "sid", Account::getSessionID() );
QString retstr;
m_threadData = "";
"UserAgent",
QString( "Monazilla/1.00 (Kita/%1)" ).arg( VERSION ) );
- KIO::TransferJob* job = KIO::get( getURL, true, false );
+ KIO::TransferJob* job = KIO::get( kgetURL, true, false );
m_currentJob = job;
connect( job, SIGNAL( data( KIO::Job*, const QByteArray& ) ),
if ( m_invalidDataReceived ) return ;
+ // "+OK ....../1024K\tLocation:temp/\n"
+ if ( m_threadData.isEmpty() && cstr[0] == '+' ) {
+ // skip first line.
+ int index = cstr.find( '\n' );
+ cstr = cstr.mid( index + 1 );
+ }
m_threadData += cstr ;
emit receiveData( cstr );
}
#include "kita-utf8.h"
#include "kita-utf16.h"
#include "kita_misc.h"
+#include "account.h"
+
using namespace Kita;
/*------------------------------------------------------*/
/* DatInfo stores & handles all information about *.dat */
-DatInfo::DatInfo( const KURL& url ) : m_access ( 0 )
+DatInfo::DatInfo( const KURL& url ) : m_access ( 0 ), m_access2( 0 )
{
QString refstr;
m_datURL = Kita::ParseMisc::parseURL( url, refstr );
/* copy the last line */
copyRawDataToBuffer( QString::null );
+ if ( m_readNum == 0 && m_access2 == NULL ) {
+ if ( Account::isLogged() ) {
+ qDebug("offlaw access.\n");
+ m_access2 = new OfflawAccess( m_datURL );
+ connect( m_access2, SIGNAL( receiveData( const QString& ) ),
+ SLOT( slotReceiveData( const QString& ) ) );
+ connect( m_access2, SIGNAL( finishLoad() ), SLOT( slotFinishLoad() ) );
+ m_access2->get();
+ return;
+ }
+ }
/* finish loading session & emit signal to the parent object */
m_nowLoading = FALSE;
emit finishLoad();
{
class Access;
+ class OfflawAccess;
class Thread;
/*-----------------------*/
/* for caching */
Access* m_access;
+ OfflawAccess* m_access2;
Thread* m_thread;
QString m_lastLine;
bool m_nowLoading;
/**
* http://pc5.2ch.net/linux/dat/1089905503.dat
- * -> http://pc5.2ch.net/test/offlaw.cgi?bbs=linux&key=1089905503&sid=xxxxx
+ * -> http://pc5.2ch.net/test/offlaw.cgi?bbs=linux&key=1089905503
*/
-QString Kita::datToOfflaw( const QString& datURL, const QString& sessionID )
+QString Kita::datToOfflaw( const QString& datURL )
{
/* TODO: not tested. */
KURL url( datURL );
url.cd( ".." );
QString board = url.fileName();
- return QString( "%1/test/offlaw.cgi?bbs=%2&key=%3&sid=%4" ).arg( root, board, datName, sessionID );
+ return QString( "http://%1/test/offlaw.cgi?raw=0.0&bbs=%2&key=%3" ).arg( root, board, datName );
}
QString unescape( const QString& str );
int boardType( const QString& url );
uint datToSince( const QString& datURL );
- QString datToOfflaw( const QString& datURL, const QString& sessionID );
+ QString datToOfflaw( const QString& datURL );
}
#endif