niedziela, listopada 21, 2010

Zaczynamy Sync2GDocs.... ciekawe czy skończymy ;-)

Próbuję sobie na szybko napisać takie małe narzędzie, które będzie mi synchronizowało jakiś katalog na dysku z Google Docs i niby działa, ale nie do końca ;-)

Kradnę sobie swój kod z OpenOffice.org2GoogleDocs i jak na razie po jakichś 2 godzinach [łącznie] pracy nad tym mam coś co pobiera pliki z Google Docs i wrzuca je do katalogu na dysku i w razie plik na dysku się zmieni to wrzuca jego update do Google Docs....... Ale coś się psuje w pobieraniu w dół.
Bardzo dużo czasu to zabiera.... ale nie zawsze, czasem to błysk ciupagi i po zmianie w Google Docs plik jest szybko updatowany na dysku, a czasem zajmuje to bardzo dużo czasu.
Z updatowaniem pliku w Google Docs jest prościej, ale też bywa różnie.

Chociaż na razie wszystko wskazuje na to, że problemy są nawet nie w algorytmie decydującym kto ma lepszą wersję ;-) ale w tym, że programik mając na razie koło 150 linii [nie licząc kodu z OOo2GD] nie updatuje sobie jeszcze swojej listy plików w razie sam go zmieni, ale to się zrobi ;-)

Algorytm jest prosty.
Lokalnie przechowuję ścieżkę do pliku, jego rozmiar [ostatniej znanej wersji], jego datę [lokalną] i datę ostatniej zmiany w Google Docs. Jeżeli data ostatniej zmiany w Google Docs uległa zmianie to pobieram plik z Google Docs, jeśli zmieniła się lokalna data i długość pliku to wrzucam jego zawartość do Google Docs [pewnie wystarczyłoby samą datę brać pod uwagę].
Na razie nie potrafię obsłużyć wrzucania nowych plików, ani zmiany nazwy plików w Google Docs [zmiana lokalnie będzie bardziej niż trudna i chyba nie jestem jej w stanie "złapać"].

Już o takim programiku od dłuższego czasu myślałem, ale jakoś mi się pisać nie chciało ;-) Ale, że Echidna była zbyt ochidna ;-) do pisania to sobie chyba takie coś popełnię. A nóż okaże się przydatne? :-)

Marzyłoby mi się dodanie ciągłej synchronizacji między OpenOffice.org a GoogleDocs, ale do tego musiałbym się naumieć operować edytorem OO.org i w razie potrzeby pobierać też plik bez jego zapisywania na dysk [tzn. dostać dane binarne pliku, ale OO.org powinien ciągle "myśleć", że pliku nie zapisał].


Podobne postybeta
Raport z prac nad ubogą krewną Playtypusa, czyli Kolczatką :-)
"Ochidna" Echidna ;-) czyli jak się mają prace nad RDrive.
Wszystkiemu winne są szybkie komputery ;-)
Ha! Ochidna Echidna potrafi updatować pliki :-)
User Interface... jak ja tego nie lubię...