#!/usr/bin/ruby -w require 'gpgme' alt=Hash.new(nil) ctx = GPGME::GpgmeCtx.new ctx.keylist_mode=GPGME::GPGME_KEYLIST_MODE_LOCAL ctx.each_keys(ARGV[0]) do |k| i = 0 while k[GPGME::GPGME_ATTR_KEYID, i] do if k[GPGME::GPGME_ATTR_EMAIL, i] =~ /@altlinux/ then key = k[GPGME::GPGME_ATTR_EMAIL, i].gsub(/@.*$/, '').downcase alt[key] = k[GPGME::GPGME_ATTR_NAME, i] end i += 1 end end alt.keys.sort.each do |id| puts "alias\talt-#{id}\t\"#{alt[id]}\"\t<#{id}@altlinux.ru>" end