Autor Wątek: [impKonnekt] Import archiwum Konnekta  (Przeczytany 25623 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Offline Privalov

  • Junior Developer
  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« dnia: Czerwca 30, 2009, 17:19:49 pm »
zhvir edit: temat wydzielony z http://forum.k2t.eu/propozycje-oraz-info-o-nowych-wersjach/import-archiwum-z-konnekta/45/

Privalov edit: żeby nie trzeba było przekopywać całego wątku w poszukiwaniu linku do wtyczki, oto i on:
http://flatassembler.net/other/impKonnekt.zip
______________________________________________

Jako, że aiv dostarczył niezłej analizy plików *.dtb, stwierdziłem, że lepiej będzie importować archiwum bezpośrednio stamtąd, zamiast męczyć się z XML-ami. Zrobiłem więc do tego celu mały programik konwertujący - dla moich celów wystarczył, więc może i innym też się przyda. Program do ściągnięcia pod poniższym linkiem, ale ostrzegam, że używać go można jedynie na własną odpowiedzialność. ;)

Używam biblioteki SQLite, by zapisywać bezpośrednio do bazy danych WTW2. Ponieważ cała ta baza zawarta jest w jednym pliku (database.sq3), można sobie ten plik gdzieś skopiować, dokonać konwersji i - jeśli wygląda na to, że się udało - wrzucić go z powrotem do katalogu WTW (oczywiście uprzednio robiąc sobie kopię zapasową oryginału).

Wielu danych z plików *.dtb nie wykorzystuję, a w szczególności nie zrobiłem żadnej obsługi historii konferencji, bo takowych nie mam w historii. Jeśli by komuś to jednak było potrzebne, to dajcie znać, jak się przenosi i dlaczego źle. ;) To może poprawię.

I kudos to aiv za roztrzaskanie formatu Konnekta - samemu by się pewnie nie chciało, a to, że znalazłem tu te informacje, było dla mnie wystarczającym impulsem, by zacząć kodować.

A przy okazji tworzenia tego programiku odkryłem przeznaczenie jeszcze jednego pola w plikach *.dtb, które zresztą było dość kluczowe. Mianowicie 4-bajtowa wartość pomiędzy czasem wiadomości a nickiem rozstrzyga, czy dana wiadomość jest początkową wiadomością rozmowy, czy nie. Z jej to właśnie pomocą można rozbić archiwum na poszczególne rozmowy.
« Ostatnia zmiana: Sierpnia 10, 2009, 14:01:33 pm wysłana przez Privalov »

[impKonnekt] Import archiwum Konnekta
« Odpowiedź #1 dnia: Czerwca 30, 2009, 17:48:55 pm »
hmm
przetestowalem Twoj program i jestem wniebowziety :P
w koncu wszystko dziala jak nalezy, kontakty sa przypisane do numerow gg

proponuje przykleic :)


btw. nie dalo by rady zrobic tego programu jako wtyka? odeszla by koniecznosc szukania sciezki do archiwum wtw :)
brak ogonków? alt mi wypadł

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #2 dnia: Czerwca 30, 2009, 18:04:17 pm »
W dzisiejszej nightly (za 5minut) bedzie odpowiednie api ;p Ale nie sprawdzalem czy dziala ;p

aiv

  • Gość
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #3 dnia: Czerwca 30, 2009, 20:22:55 pm »
Ciesze się, że mój research przyniósł już pierwsze efekty.

Kaworu: moją motywacją był niedziałający przycisk "Import z Konnekt". Może jak zrobisz więcej pustych buttonów to znajdzie się więcej developerów :)

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #4 dnia: Czerwca 30, 2009, 20:24:43 pm »
A to by było nawet ciekawe rozwiązanie ;)

Offline zhvir

[impKonnekt] Import archiwum Konnekta
« Odpowiedź #5 dnia: Czerwca 30, 2009, 20:25:58 pm »
+1

komentarz dnia :)
Chciałbym być zawsze niewinny i prawdziwy, chciałbym być zawsze pełen wiary i nadziei...

Offline Privalov

  • Junior Developer
  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #6 dnia: Lipca 01, 2009, 09:06:59 am »
W dzisiejszej nightly (za 5minut) bedzie odpowiednie api ;p Ale nie sprawdzalem czy dziala ;p
Działa bezbłędnie. I po przerobieniu mojego importera na wtyczkę mam tylko jeden problem: działa koszmarnie powoli. Zresztą, w sumie spodziewałem się tego. We własnym programie mogłem podrzucić SQLite PRAGMA synchronous=0, żeby wrzucanie danych do bazy działało sprawnie - a tutaj niewiele mogę na to poradzić. Hmmm, może jednak lepiej pozostać przy zewnętrznym programie?

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #7 dnia: Lipca 01, 2009, 09:38:17 am »
A moze dorzucę jeszcze dwie funkcje. transaction_begin i commit ;)

Offline Privalov

  • Junior Developer
  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #8 dnia: Lipca 01, 2009, 09:40:24 am »
Byłoby nieźle. I nawet jeszcze bezpieczniej na dodatek. ;)

Offline Kaworu

  • Ryszard
  • Szlachta
  • *
  • Twój Koszmar Senny
    • k2t.eu
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #9 dnia: Lipca 01, 2009, 09:50:22 am »
i abort() ;p

Za 20-30 minut będzie;

Offline Privalov

  • Junior Developer
  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #10 dnia: Lipca 01, 2009, 12:17:10 pm »
Wygląda na to, że wszystko działa. Bardzo pierwsza wersja wtyczki w załączniku. Póki co startuje z importem zaraz po włączeniu, bo jeszcze nie wymyśliłem, gdzie ją podpiąć (pewnie najlepiej byłoby móc się podpiąć pod ten przycisk do importu z Konnekta w oknie archiwum).
Wtyczka ma klasę "Inne", bo gdy próbowałem ustawić jej WTW_CLASS_ARCHIVE, to nie chciała się wyświetlić na liście. :>
I na razie tylko wersja 32-bitowa, pod x64 zrobię, jak się przesiądę na jakiś komputer z odpowiednim Windowsem.
« Ostatnia zmiana: Lipca 02, 2009, 10:24:02 am wysłana przez Privalov »

[impKonnekt] Import archiwum Konnekta
« Odpowiedź #11 dnia: Lipca 01, 2009, 12:23:17 pm »
... najlepiej byłoby móc się podpiąć pod ten przycisk do importu z Konnekta w oknie archiwum...
bardzo dobry pomysl

wtyka dziala :)
brak ogonków? alt mi wypadł

aiv

  • Gość
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #12 dnia: Lipca 01, 2009, 12:24:58 pm »
Wtyczka ma klasę "Inne", bo gdy próbowałem ustawić jej WTW_CLASS_ARCHIVE, to nie chciała się wyświetlić na liście. :>
I na razie tylko wersja 32-bitowa, pod x64 zrobię, jak się przesiądę na jakiś komputer z odpowiednim Windowsem.

;[ To ja muszę poczekać aż przysiądziesz bo na obu kompach x64 :(

Offline Quadracik

  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #13 dnia: Lipca 01, 2009, 13:37:31 pm »
@Privalov:
działa prawie idealnie. wysypuje się przy niektórych kontaktach i większości konferencji. gdzieś wcześniej pisałem przy okazji importu XML o usuwaniu znaczków  z wyeksportowanego XML bo parser się na nich wysypuje. Tutaj jest najwidoczniej ten sam problem - mianowicie kontakty które się wysypują w wyeksportowanym XMLu mają w atrybucie ext "kA2AutoMsg=trueNoSound=1" (informacja, że wiadomość była wysłana z autorespondera) a konferencje mają tam jakieś inne dane, np. "Display=Guru".
Jestem prawie pewien, że chodzi własnie o to. Jeśli nie masz możliwości przetestowania, to mogę Ci podesłać przykładowy plik archiwum.

Pozdrawiam,
Adam

Offline Privalov

  • Junior Developer
  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #14 dnia: Lipca 01, 2009, 17:07:17 pm »
Podrzucam nową wersję: na razie brak zmian w funkcjonalości (nie licząc tego, że robię teraz commit dla każdego kontaktu z osobna - jeśli jakiś plik nie importuje się prawidłowo, to robi abort dla tego jednego kontaktu). Za to jest już wersja x64.

Co do podsyłania przykładowych plików archiwum - będę wdzięczny za każdą próbkę pliku, których import nie działa, a NIE są konferencjami (przykładowy plik konferencji już mam, ale ten temat zostawiam sobie na później).
« Ostatnia zmiana: Lipca 02, 2009, 10:24:12 am wysłana przez Privalov »

Offline zimaq

[impKonnekt] Import archiwum Konnekta
« Odpowiedź #15 dnia: Lipca 01, 2009, 21:41:26 pm »
To może póki co po prostu ignore importu rozmów konferencyjnych? Bo skoro są oznaczone tak jak Quadracik napisał, to nie powinno być z tym problemu ;-) (swoją drogą WTW i tak gadu-gadowych konferencji nie obsługuje, chyba, że o czymś nie wiem :P)

Offline Privalov

  • Junior Developer
  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #16 dnia: Lipca 02, 2009, 10:27:00 am »
Kolejna wersja wtyczki do ściągnięcia pod adresem:
http://flatassembler.net/other/impKonnekt.zip
(paczka zawiera również wersję x64)

Poprawiłem głupi błąd, przez który nie chciały się importować wiadomości posiadające dodatkowe atrybuty (dzięki Quadracik za podesłanie przykładowego pliku). Konferencje oraz rozmowy z sieci innych, niż GG/Tlen/XMPP są teraz ignorowane. Nie powinny więc już teraz wyskakiwać żadne błędy podczas importu.


Offline Quadracik

  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #17 dnia: Lipca 02, 2009, 11:50:34 am »
działa wyśmienicie - dzięki

Pozdrawiam,
Adam

Offline zimaq

[impKonnekt] Import archiwum Konnekta
« Odpowiedź #18 dnia: Lipca 02, 2009, 14:58:51 pm »
Dziaaaała, brawo, dziekować ;-)

Offline lukas77

  • Narybek
  • *
[impKonnekt] Import archiwum Konnekta
« Odpowiedź #19 dnia: Lipca 03, 2009, 08:06:10 am »
U mnie import przechodzi bez błędów, plik archiwum wtw rośnie ale po kliknięciu w historię wtw się wysypuje, mogę podesłać przykładowy plik dtb z którym się to dzieje...