?

Log in

Blokkal 0.0.2 released - KLiveJournal & Blokkal [entries|archive|friends|userinfo]
KLiveJournal & Blokkal

[ website | Blokkal - an Extendable Blogging Client ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

Blokkal 0.0.2 released [Mar. 22nd, 2007|10:20 pm]
KLiveJournal & Blokkal

klivejournalc

[orvio]
[Tags|]
[mood |accomplished]
[music |Alexisonfire - Happiness by the Kilowatt]

Binary packages and the sources are available at SourceForge.
Entries can now be written offline and will be posted the next time the account connects to the server. Additionally, entries can be saved to a local file.
The LiveJournal plugin is now capable of editing the friendslist, so Blokkal has now the functionality of KLiveJournal minus a few bugs.
linkReply

Comments:
[User Picture]From: lepres
2007-06-11 06:52 pm (UTC)

BUG?

My local codepage is UTF-8, and livejournal codepage is also UTF-8. When i post new entry in my journal blokkal makes double utf-8 uncoding, and my post stays unreadable.
Is it bug, or simply i do something wrong?
(Reply) (Thread)
[User Picture]From: orvio
2007-06-11 07:15 pm (UTC)

Re: BUG?

I have trouble understanding the problem. I have not faced any problems with the utf8 encoding so far. What exactly do you mean with "local codepage" and where did you set it?
(Reply) (Parent) (Thread)
[User Picture]From: lepres
2007-06-11 07:49 pm (UTC)

Re: BUG?

local codepage is set in startup scripts in enviroument variables (see bellow at the end of comment).
Now i make dirty hack: simply change in /src/protocols/livejournal/ljio/job.cpp file line 291:
was: d->ioJob = KIO::http_post( d->account->connectAddress(), postData.utf8(), FALSE );

now: d->ioJob = KIO::http_post( d->account->connectAddress(), postData.local8Bit(), FALSE );

Now all works fine. But i am not sure that this change doesnt brake something anythere.

[root@localhost src]# locale
LANG=ru_RU.UTF-8
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE=ru_RU.UTF-8
LC_MONETARY=ru_RU.UTF-8
LC_MESSAGES=ru_RU.UTF-8
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=
(Reply) (Parent) (Thread)
[User Picture]From: orvio
2007-06-11 08:55 pm (UTC)

Re: BUG?

Hm.. I'm a bit baffled by this. The call to utf8() is just there in order to obtain a QByteArray. The string should not contain any characters that are not a 7Bit-ASCII character by then. Would you mind adding
#include
[Error: Irreparable invalid markup ('<kdebug.h>') in entry. Owner must fix manually. Raw contents below.]

Hm.. I'm a bit baffled by this. The call to utf8() is just there in order to obtain a QByteArray. The string should not contain any characters that are not a 7Bit-ASCII character by then. Would you mind adding
#include <kdebug.h>
to the headers in /src/protocols/livejournal/ljio/postentryjob.cpp and
kdDebug() << postData << endl;
right before the return statement in line 172?
I have the feeling that something is not converted correctly in that method.
(Reply) (Parent) (Thread)
[User Picture]From: lepres
2007-06-12 05:37 am (UTC)

Re: BUG?

Heh, but Russian language uses only symbols above 128 in 8bit ASCII codepage, and translate russian text into 7bit is always wrong.

i've inserted this lines, but where i should find debugging result?
(Reply) (Parent) (Thread)
[User Picture]From: orvio
2007-06-12 07:13 am (UTC)

Re: BUG?

That's right. I didn't mean that the text is actually converted to 7Bit ASCII, but the text is transformed to UTF8 form data, which means, that 7Bit ASCII characters are kept and anything else is converted to something like %D1%89. The result beeing a valid utf8 stream, so calling utf8() on the object should not change anything.
If you start blokkal out of a terminal emulator the debugging info is send to the console window.

mm@helios:~$ blokkal
mm@helios:~$ blokkal: &mode=postevent&usejournal=orvio&event=%D1%82%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D0%BE%D0%B5%20%D1%81%D0%BE%D0%BE%D0%B1%D1%89%D0%B5%D0%BD%D0%B8%D0%B5&lineendings=unix&security=private&year=2007&mon=6&day=12&min=9&hour=9&prop_current_music=Mumm-Ra%20-%20These%20Things%20Move%20In%20Threes&prop_opt_backdated=1
</raw The stuff in the event variable is the interesting part.
(Reply) (Parent) (Thread)