List Handler

I (John Bailey) created this plugin when I, quite frankly, got tired of hearing Pidgin users complain of not being able to export/import buddy lists. After a couple weeks' work and a lot of help from both Gary and the API documentation, I pounded out the first incarnation of this plugin, bltimporter, whose sole purpose was to import AIM's .blt saved buddy list format. I later added a complimentary plugin called bltexporter to export buddy lists in AIM's .blt format. Next, because I kept the blt handling AIM/ICQ-specific, I added XML capabilities to the plugins using libpurple's internal xmlnode API. Both of these plugins were part of the Plugin Pack prior to its 1.0beta1 release. At this point, it became clear to me that maintaining the plugins separately was stupid. I then began work on List Handler, which combined all the features and functionality of both bltimporter and bltexporter, as well as adding the ability to copy the entire buddy list from one Pidgin account to another of the same protocol. This comprised the full functionality of List Handler, which was then added to the Plugin Pack officially, still prior to the 1.0beta1 release. I removed the bltimporter and bltexporter plugins from the Plugin Pack in favor of List Handler at that time.

List Handler has the following features:

  • Importing of AIM-style .blt saved buddy lists to an AIM account that exists in Pidgin.
  • Exporting of AIM-style .blt saved buddy lists from an AIM account that exists in Pidgin.
  • Exporting of an XML saved buddy list from any account in Pidgin.
  • Importing of an XML saved buddy list to any account in Pidgin that is of the same protocol as the account the list was exported from.
  • Exporting of an XML saved list of aliases from any account in Pidgin.
  • Importing of an XML saved list of aliases to any account in Pidgin.
  • Copying of a single account's entire buddy list to another account. Both accounts must exist within Pidgin, but only the destination account must be online.
  • Importing and exporting features import/export notes associated with buddies.

What do these features mean? It's fairly simple actually. The Windows AIM client, at least, has menu options for "Save Buddy List" and "Load Buddy List". The AIM .blt file handling duplicates this functionality for AIM accounts within Pidgin. The XML handling options implements a protocol-agnostic method to do the same thing.

Where the .blt handling is limited to AIM accounts (which use the OSCAR protocol), the XML handling has only two limitations – the account you wish to export from must exist within Pidgin and must have been online at least once, and the account you wish to import to must exist within Pidgin, be of the same protocol as the account the list was exported from, and be online when you import. For example, you have a Yahoo! account whose login name is abc123. You export an XML buddy list. Now it can be imported to any Yahoo! account, including abc123 (although importing to the same account is not recommended).

The copying of an account's buddy list is relatively simple. If you want to copy the buddy list from the AIM account abc1234 to the new screenname cba4321:

  • Create both accounts in Pidgin (if they don't already exist).
  • Sign in both (once your buddy list appears for abc1234, you can sign that account off if you want to).
  • Select the Copy option from List Handler's plugin actions menu.
  • You are then presented with a list of all AIM accounts to choose from. Select the destination account (in this example, cba4321).

The same would be true of ICQ, MSN, Yahoo!, etc. Note, however, that if the protocol notifies buddies that you've added them or requires authorization to do so (or in the case of ICQ where a specific user can require authorization), the copy operation will result in notification and/or authorization requests to those buddies. Also, if the account whose buddy list you want to copy already exists in Pidgin and has ever been signed on, the on-disk buddy list cache will be copied if the account is offline at the time of the copy.

Author(s)rekkanoryo
First Released 1.0beta1
Directorylisthandler
Platforms Any
Dependencies None



Pages linking to listhandler:



Last Modified by jbailey, 4 months ago