view plugins/test.pl @ 9531:06fe6ed7f63a

[gaim-migrate @ 10358] "How do you update your po files ("make update-po" or ./update.pl)? update.pl has some advantages. But update.pl has also a small bug. In rare cases (double msgid's etc.) update.pl kills your po-file. This can happen, if msgmerge fails and if you have an old gettext version. The problem is here: po/update.pl:149: ... $d="mv $LANG.po $LANG.po.old && msgmerge $LANG.po.old $PACKAGE.pot -o +$LANG.po"; ... If msgmerge fails, the file $LANG.po will be overwritten. "make update-po" has not this problem, because it uses a temporary file: ... if $(MSGMERGE) $$lang.po $(PACKAGE).pot -o $$lang.new.po; then \ mv -f $$lang.new.po $$lang.po; \ else \ echo "msgmerge for $$cat failed!"; \ rm -f $$lang.new.po; \ fi; \ ... I patched po/update.pl. Now it uses a temporary file. Also, update2.pl lists files in po/POTFILES.in which have no i18n strings as a warning." -- Bjoern Voigt committer: Tailor Script <tailor@pidgin.im>
author Luke Schierer <lschiere@pidgin.im>
date Wed, 14 Jul 2004 20:14:48 +0000
parents b1ea29d1293e
children
line wrap: on
line source

#!/usr/bin/perl -w

use Gaim;

%PLUGIN_INFO = (
	perl_api_version => 2,
	name             => 'Test Perl Plugin',
	version          => '1.0',
	summary          => 'Provides as a test base for the perl plugin.',
	description      => 'Provides as a test base for the perl plugin.',
	author           => 'Christian Hammond <chipx86@gnupdate.org>',
	url              => 'http://gaim.sf.net/',

	load             => "plugin_load",
	unload           => "plugin_unload"
);

sub account_away_cb {
	Gaim::debug_info("perl test plugin", "In account_away_cb\n");

	my ($account, $state, $message, $data) = @_;

	Gaim::debug_info("perl test plugin", "Account " .
	                 $account->get_username() . " went away.\n");
	Gaim::debug_info("perl test plugin", $data . "\n");
}

sub plugin_init {
	return %PLUGIN_INFO;
}

sub plugin_load {
	Gaim::debug_info("perl test plugin", "plugin_load\n");
	my $plugin = shift;

	Gaim::debug_info("perl test plugin", "Listing accounts.\n");
	foreach $account (Gaim::accounts()) {
		Gaim::debug_info("perl test plugin", $account->get_username() . "\n");
	}

	Gaim::debug_info("perl test plugin", "Listing buddy list.\n");
	foreach $group (Gaim::BuddyList::groups()) {
		Gaim::debug_info("perl test plugin",
		                 $group->get_name() . ":\n");

		foreach $buddy ($group->buddies()) {
			Gaim::debug_info("perl test plugin",
			                 "  " . $buddy->get_name() . "\n");
		}
	}

	Gaim::signal_connect(Gaim::Accounts::handle, "account-away",
	                     $plugin, \&account_away_cb, "test");
}

sub plugin_unload {
	my $plugin = shift;
}