diff options
author | Michał Górny <mgorny@gentoo.org> | 2018-07-21 22:25:47 +0200 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2018-07-21 22:25:47 +0200 |
commit | a1139dc6f36a6d8db257d2daa353098976da71b0 (patch) | |
tree | 22eef7a13e0325572c27f1e6dc0682a23e8848dd | |
parent | wkd: Remove unnecessary index, dir listings are disabled (diff) | |
download | www-a1139dc6f36a6d8db257d2daa353098976da71b0.tar.gz www-a1139dc6f36a6d8db257d2daa353098976da71b0.tar.bz2 www-a1139dc6f36a6d8db257d2daa353098976da71b0.zip |
Include system users in userinfo-export
-rwxr-xr-x | bin/userinfo-export.rb | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/bin/userinfo-export.rb b/bin/userinfo-export.rb index b06ebc5..2515283 100755 --- a/bin/userinfo-export.rb +++ b/bin/userinfo-export.rb @@ -10,6 +10,7 @@ class GentooLDAP LDAP_HOST = (1..5).map { |x| sprintf('ldap%d.gentoo.org', x) }.join(' ') LDAP_PORT = 389 DEV_BASE = 'ou=devs,dc=gentoo,dc=org' + SYSTEM_BASE = 'ou=system,dc=gentoo,dc=org' SCOPE = LDAP::LDAP_SCOPE_SUBTREE DEV_FILTER = '(objectClass=gentooDev)' @@ldap_host = LDAP_HOST @@ -39,6 +40,16 @@ class GentooLDAP devs end + + def get_system_users + users = {} + + @ldap.search(SYSTEM_BASE, SCOPE, DEV_FILTER) do |entry| + users[entry['uid'].first] = entry.to_hash + end + + users + end end def gpgfp_format(input, nick) @@ -86,6 +97,7 @@ end ldap = GentooLDAP.new devs = ldap.get_devs +services = ldap.get_system_users current_devs = {} retired_devs = {} @@ -98,7 +110,7 @@ devs.each do |dev, data| end end -data = { 'current' => {}, 'retired' => {} } +data = { 'current' => {}, 'retired' => {}, 'system' => {} } current_devs.keys.sort.each do |dev| data['current'][dev] = export(current_devs[dev]) @@ -108,4 +120,8 @@ retired_devs.keys.sort.each do |dev| data['retired'][dev] = export(retired_devs[dev]) end +services.keys.sort.each do |user| + data['system'][user] = export(services[user]) +end + puts data.to_json |