[DRE-commits] [scripts] 01/01: find-inactive-contributors: add fullname to output
zeha at debian.org
zeha at debian.org
Fri Jul 1 18:19:17 UTC 2016
This is an automated email from the git hooks/post-receive script.
zeha pushed a commit to branch master
in repository scripts.
commit 253b887ed2023153934f9d0513a9c24573955feb
Author: Christian Hofstaedtler <christian at hofstaedtler.name>
Date: Fri Jul 1 20:19:13 2016 +0200
find-inactive-contributors: add fullname to output
Also switch to CSV module for printing, and deal with encoding issues.
---
find-inactive-contributors | 31 +++++++++++++++++++++----------
1 file changed, 21 insertions(+), 10 deletions(-)
diff --git a/find-inactive-contributors b/find-inactive-contributors
index 799bbd4..26398cc 100755
--- a/find-inactive-contributors
+++ b/find-inactive-contributors
@@ -13,6 +13,7 @@
require 'json'
require 'etc'
require 'time'
+require 'csv'
DATAFILE = 'find-inactive-contributors.data'
TIME_ZERO = Time.at(0)
@@ -36,8 +37,11 @@ def build_uid_map
uid_map = Hash.new
all_users = Etc.getgrnam(GROUP).mem
all_users.each do |username|
- u = Etc.getpwnam(username).uid
- uid_map[u] = username
+ u = Etc.getpwnam(username)
+ uid_map[u.uid] = {
+ 'username' => username,
+ 'gecos' => u.gecos.force_encoding('utf-8'),
+ }
end
uid_map
end
@@ -51,7 +55,7 @@ def build_data
#repos = [repos[0]] # limit work for now
repos.each do |r| walk_git(r, data[:newest]) end
puts "newest => #{data[:newest].inspect}"
- File.write(DATAFILE, JSON.generate(data))
+ File.write(DATAFILE, JSON.generate(data).encode('utf-8'))
puts "#{DATAFILE} has been written, run 'find-inactive-contributors info' for results."
end
@@ -64,21 +68,28 @@ def print_info
:users => data_json["users"],
:newest => data_json["newest"],
}
- puts "email;last_contribution_date"
contribs = []
- data[:users].each do |uid, username|
+ data[:users].each do |uid, userdata|
+ username = userdata['username']
+ gecos = userdata['geocs']
contrib_date = data[:newest][uid]
- if contrib_date.nil? or contrib_date == TIME_ZERO then
- puts "#{username}@users.alioth.debian.org;never"
+ if contrib_date.nil? then
+ contrib_date = TIME_ZERO
else
- contribs << [Time.parse(contrib_date), username]
+ contrib_date = Time.parse(contrib_date)
end
+ contribs << [contrib_date, userdata]
end
contribs.sort_by! { |c| c[0] }
cutoff = (Date.today - DAYS_INACTIVE).to_time
- contribs.each do |contrib_date, username|
+ puts ["gecos", "username", "email", "last_contribution_date"].to_csv
+ contribs.each do |contrib_date, userdata|
if contrib_date < cutoff then
- puts "#{username}@users.alioth.debian.org;#{contrib_date}"
+ contrib_date_text = contrib_date.to_s
+ contrib_date_text = 'never' if contrib_date == TIME_ZERO
+ puts [userdata['gecos'], userdata['username'],
+ "#{userdata['username']}@users.alioth.debian.org",
+ contrib_date_text].to_csv
end
end
end
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-ruby-extras/scripts.git
More information about the Pkg-ruby-extras-commits
mailing list