<Don-t-take-me-seriously>

Mr Youness "KaKaRoTo" Alaoui has just reinvented the wheel! Yes, ladies 
and gentlemen, this is a new, reloaded version of the wheel, very energy 
efficient, it has nearly 0 friction with its axis, AND, it can even climb 
stairs!

</Don-t-take-me-seriously>

I should get back to work now .... (i *DID* close that tag, didn't i?)

On Thu, 14 Dec 2006, Youness Alaoui wrote:

> no, I checked, don't worry, and there is none, all of the libraries available 
> seem to be using an html version 
> (gmail.com/mail?ui=html) and parsing that html code, mine uses a special type 
> of data, fully binary.. 
> (gmail.com/mail?ui=pb)very bandwidth efficient (when no email, only 3 bytes 
> transferred), etc...
> I read part of the code of the gmail agent API but that didn't help as it's 
> two completely different methods.
> don't worry, I'm not stupid! :) (well.. sometimes :p)
> 
> KaKaRoTo
> 
> 
> On Thu, Dec 14, 2006 at 10:26:56AM +0100, Karel Demeyer wrote:
> > I think this whole protocol is already reverse-engeneerd, or mayeb
> > google even publishes it ?  THe last might not be true .. but you could
> > find a whole lotta information with ... google, no ?
> > 
> > e.g.:
> > http://www.johnvey.com/features/gmailapi/ ?
> > 
> > Karel.
> > 
> > 
> > Op donderdag 14-12-2006 om 01:46 uur [tijdzone -0500], schreef Youness
> > Alaoui:
> > > Hello,
> > > I updated this wiki page with more accurate information about 
> > > the GData (I named it like that :D) format : 
> > > http://www.amsn-project.net/wiki/index.php/Gmail
> > > If someone is ready to take on the challenge of finding out how the 
> > > timestamp is written, please do so, it 
> > > would be nice to have that information ready for when I finish my 
> > > exams... It's really easy, I just don't have 
> > > much time for it right now...
> > > Also, I'd like to know how you'd like me to implement the 'tell me' 
> > > functionality of the plugin... should I show 
> > > a popup window with that information (like the official google notifier), 
> > > or should I rather show a window with 
> > > a listbox of all new emails and the user clicks on the email to see more 
> > > information...
> > > I would go with the notify (more userfriendly) but I'm afraid I won't be 
> > > able to give the full functionality to 
> > > the users (like seeing who initiated a conversation, what the labels are, 
> > > attachments, etc... ) easily...
> > > I will also need to have a up/down buttons on the notify window so a user 
> > > can view the mail info one by one.. 
> > > Any suggestions ? someone wants to implement the notify winodw ? Tom 
> > > perhaps? I know you love to play with 
> > > canvas (and I have near zero knowledge of how canvas work...)
> > > 
> > > Thanks,
> > > KaKaRoTo
> > > 
> > > ----- Forwarded message from [EMAIL PROTECTED] -----
> > > 
> > > From: [EMAIL PROTECTED]
> > > To: [EMAIL PROTECTED]
> > > Subject: [Amsn-commits] SF.net SVN: amsn: [7657]
> > >   trunk/amsn-extras/plugins/gnotify
> > > 
> > > Revision: 7657
> > >           http://svn.sourceforge.net/amsn/?rev=7657&view=rev
> > > Author:   kakaroto
> > > Date:     2006-12-13 22:39:46 -0800 (Wed, 13 Dec 2006)
> > > 
> > > Log Message:
> > > -----------
> > > Updated with some comments and taking into account the 'new' and 
> > > 'initiator' keys of an unread mail author information.
> > > Also fixed the timestamp parsing which is two separate keys with values 
> > > instead of a single 16 bytes header.
> > > http://www.amsn-project.net/wiki/index.php/Gmail
> > > 
> > > Modified Paths:
> > > --------------
> > >     trunk/amsn-extras/plugins/gnotify/gnotify.tcl
> > > 
> > > Property Changed:
> > > ----------------
> > >     trunk/amsn-extras/plugins/gnotify/
> > > 
> > > 
> > > Property changes on: trunk/amsn-extras/plugins/gnotify
> > > ___________________________________________________________________
> > > Name: svn:ignore
> > >    + *
> > > 
> > > 
> > > Modified: trunk/amsn-extras/plugins/gnotify/gnotify.tcl
> > > ===================================================================
> > > --- trunk/amsn-extras/plugins/gnotify/gnotify.tcl 2006-12-13 21:17:15 UTC 
> > > (rev 7656)
> > > +++ trunk/amsn-extras/plugins/gnotify/gnotify.tcl 2006-12-14 06:39:46 UTC 
> > > (rev 7657)
> > > @@ -7,6 +7,8 @@
> > >  ###################################################################
> > >  
> > > 
> > > +# For more information on the format and protocol read this article :
> > > +# http://www.amsn-project.net/wiki/index.php/Gmail
> > >  namespace eval ::gnotify {
> > >   variable config
> > >   variable configlist
> > > @@ -404,13 +406,14 @@
> > >                                           puts "$att "
> > >                                   }
> > >                           }
> > > -                 #       if {[llength $mail(tags)] > 0 } {
> > > -                 #               puts -nonewline "tags : "
> > > -                 #               foreach tag $mail(tags) {
> > > -                 #                       puts -nonewline "$tag, "
> > > -                 #               }
> > > -                 #       }
> > > +                         if {[llength $mail(tags)] > 0 } {
> > > +                                 puts -nonewline "tags : "
> > > +                                 foreach tag $mail(tags) {
> > > +                                         puts -nonewline "$tag, "
> > > +                                 }
> > > +                         }
> > >                           puts ""
> > > +                         #puts "Timestamp : $mail(timestamp)"
> > >                   }
> > >           }
> > >   }
> > > @@ -634,28 +637,37 @@
> > >  
> > >           set start $data(offset)
> > >           set end [expr {$start + $size}]
> > > -         set info(author) [list email "" nick ""]
> > > +         set info(author) [list errors 0 email "" nick ""]
> > > +         set info(new) 0
> > > +         set info(initiator) 0
> > >           set info(errors) 0
> > >  
> > >           while {$data(offset) < $end } {
> > >                   set key [ReadKey data]
> > >                   switch -- $key {
> > >                           10 {
> > > +                                 # 0x0A Author info
> > >                                   set size [ReadSize data]
> > >                                   set offset $data(offset)
> > >                                   set info(author) [GetMailAuthor2 data 
> > > $size]
> > >                                   set data(offset) [expr {$offset + 
> > > $size}]       
> > >                           }
> > > -                         16 {
> > > -                                 # unknown
> > > -                                 GetMultiByte $var
> > > +                         16 {    
> > > +                                 # 0x10 Has unread mail
> > > +                                 # This key specifies whether an email 
> > > of this author in the thread is unread
> > > +                                 if { [GetMultiByte $var] == 1} {
> > > +                                         set info(new) 1
> > > +                                 } 
> > >                           }
> > >                           24 {
> > > -                                 # unknown
> > > -                                 GetMultiByte $var
> > > +                                 # 0x18 Thread Initiator
> > > +                                 # This key specifies whether this user 
> > > is the one who started the thread
> > > +                                 if { [GetMultiByte $var] == 1} {
> > > +                                         set info(initiator) 1
> > > +                                 } 
> > >                           } 
> > >                           default {
> > > -                                 puts "Unknown author key : $key"
> > > +                                 puts "Unknown author ($info(author)) 
> > > key : $key"
> > >                                   incr info(errors)
> > >                           }
> > >                   }
> > > @@ -678,11 +690,13 @@
> > >                   set key [ReadKey data]
> > >                   switch -- $key {
> > >                           10 {
> > > +                                 # 0x0A Email
> > >                                   set size [ReadSize data]
> > >                                   set email [DecodeString [GetBytes data 
> > > $size]]
> > >                                   set info(email) $email
> > >                           }
> > >                           18 {
> > > +                                 # 0x12 Name
> > >                                   set size [ReadSize data]
> > >                                   set nick [DecodeString [GetBytes data 
> > > $size]]
> > >                                   set info(nick) $nick
> > > @@ -702,9 +716,9 @@
> > >  
> > >           set start $data(offset)
> > >           set end [expr {$start + $size}]
> > > -         set timestamp_size [GetMultiByte $var]
> > >  
> > > -         set info(timestamp) [GetBytes data $timestamp_size]
> > > +         set info(timestamp) ""
> > > +         set info(timestamp2) ""
> > >           set info(attachments) [list]
> > >           set info(tags) [list]
> > >           set info(authors) [list]
> > > @@ -713,41 +727,59 @@
> > >           set info(threads) 1
> > >           set info(errors) 0
> > >  
> > > +
> > > +
> > >           while {$data(offset) < $end } {
> > >                   set key [ReadKey data]
> > >                   switch -- $key {
> > > +                         16 {
> > > +                                 # 0x10 unknown / timestamp
> > > +                                 #puts "Unknown mail key 16 has value : 
> > > [GetMultiByte $var]"
> > > +                                 set info(timestamp)  [GetMultiByte $var]
> > > +                         } 
> > > +                         24 {
> > > +                                 # 0x18 unknown / timestamp
> > > +                                 #puts "Unknown mail key 24 has value : 
> > > [GetMultiByte $var]"
> > > +                                 set info(timestamp2)  [GetMultiByte 
> > > $var]
> > > +                         }
> > >                           130 {
> > > +                                 # 0x82 Tag
> > >                                   set size [ReadSize data]
> > >                                   set tag [GetBytes data $size]
> > >                                   lappend info(tags) $tag
> > >                           }
> > >                           146 {
> > > -                                 # from
> > > +                                 # 0x92 from
> > >                                   set size [ReadSize data]
> > >                                   set offset $data(offset)
> > >                                   lappend info(authors) [GetMailAuthor 
> > > data $size]
> > >                                   set data(offset) [expr {$offset + 
> > > $size}]
> > >                           }
> > >                           152 {
> > > -                                 # unknown
> > > +                                 # 0x98 unknown
> > > +                                 #puts "Unknown mail key 152 has value : 
> > > [GetMultiByte $var]"
> > >                                   GetMultiByte $var
> > >                           }
> > >                           162 {
> > > +                                 # 0xA2 Subject
> > >                                   set size [ReadSize data]
> > >                                   set subject [DecodeString [GetBytes 
> > > data $size]]
> > >                                   set info(subject) $subject
> > >                           }
> > >                           170 {
> > > +                                 # 0xAA Body preview
> > >                                   set size [ReadSize data]
> > >                                   set body [DecodeString [GetBytes data 
> > > $size]]
> > >                                   set info(body) $body
> > >                           }
> > >                           178 {
> > > +                                 # 0xB2 Attachment
> > >                                   set size [ReadSize data]
> > >                                   set attachment [DecodeString [GetBytes 
> > > data $size]]
> > >                                   lappend info(attachments) $attachment
> > >                           }
> > >                           184 {
> > > +                                 # 0xB8 Number of threads
> > >                                   set info(threads) [GetMultiByte data]
> > >                           }
> > >                           default {
> > > @@ -760,6 +792,8 @@
> > >  
> > >   }
> > >  
> > > + # For more information on the format and protocol read this article :
> > > + # http://www.amsn-project.net/wiki/index.php/Gmail
> > >   proc parseGData { data_bin } {
> > >           set data(bin) $data_bin
> > >           set data(len) [string length $data_bin]
> > > @@ -774,12 +808,14 @@
> > >                   set key [ReadKey data]
> > >                   switch -- $key {
> > >                           10 {
> > > +                                 # 0x0A New mail Key
> > >                                   set size [ReadSize data]
> > >                                   set offset $data(offset)
> > >                                   lappend info(mails) [GetNewMail data 
> > > $size]
> > >                                   set data(offset) [expr {$offset + 
> > > $size}]
> > >                           }
> > >                           136 {
> > > +                                 # 0x88 Number of mails Key
> > >                                   set info(nb_mails) [GetMultiByte data]
> > >                           }
> > >                           default {
> > > 
> > > 
> > > This was sent by the SourceForge.net collaborative development platform, 
> > > the world's largest Open Source development site.
> > > 
> > > -------------------------------------------------------------------------
> > > Take Surveys. Earn Cash. Influence the Future of IT
> > > Join SourceForge.net's Techsay panel and you'll get the chance to share 
> > > your
> > > opinions on IT & business topics through brief surveys - and earn cash
> > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > _______________________________________________
> > > Amsn-commits mailing list
> > > [EMAIL PROTECTED]
> > > https://lists.sourceforge.net/lists/listinfo/amsn-commits
> > > 
> > > ----- End forwarded message -----
> > > 
> > > -------------------------------------------------------------------------
> > > Take Surveys. Earn Cash. Influence the Future of IT
> > > Join SourceForge.net's Techsay panel and you'll get the chance to share 
> > > your
> > > opinions on IT & business topics through brief surveys - and earn cash
> > > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > > _______________________________________________
> > > Amsn-devel mailing list
> > > Amsn-devel@lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/amsn-devel
> > 
> > 
> > -------------------------------------------------------------------------
> > Take Surveys. Earn Cash. Influence the Future of IT
> > Join SourceForge.net's Techsay panel and you'll get the chance to share your
> > opinions on IT & business topics through brief surveys - and earn cash
> > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> > _______________________________________________
> > Amsn-devel mailing list
> > Amsn-devel@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/amsn-devel
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys - and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> Amsn-devel mailing list
> Amsn-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amsn-devel
> 


---

"Where is the life that we have lost in living?
 Where is the wisdom that we have lost in knowledge?
 Where is the knowledge that we have lost in information?"

OEO;


-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Amsn-devel mailing list
Amsn-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amsn-devel

Reply via email to