added
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
#! /usr/bin/env python3
|
||||
from pprint import pprint
|
||||
|
||||
import sys
|
||||
import utilities
|
||||
from argv import argv_value
|
||||
|
||||
|
||||
@@ -41,6 +42,7 @@ def build_userlist(lines) -> "List of user dicts":
|
||||
result.append(parse_passwd_lines(line))
|
||||
return result
|
||||
|
||||
|
||||
def print_userlist_sorted_by_username(userlist):
|
||||
#ruft für jedes Element key(elem) also e im Lambda-Ausdruck ist ein Element der Liste user dict
|
||||
for user in sorted(userlist, key=lambda e: e['username'].lower()):
|
||||
@@ -52,7 +54,31 @@ def print_userlist_sorted_by_username(userlist):
|
||||
user['home'],
|
||||
user['shell']
|
||||
))
|
||||
|
||||
def print_to_file(userlist):
|
||||
userlen = max(map(lambda u: len(u['username']), userlist))
|
||||
try:
|
||||
with open('/etc/userlist.txt', 'w') as outfile:
|
||||
for user in userlist:
|
||||
print("{uid:5} {username:{width}} {realname}".format(
|
||||
width=userlen, **user),
|
||||
file=outfile)
|
||||
except ImportError:
|
||||
pass
|
||||
# Wird vom Mdule utilities gesteuert
|
||||
# except OSError as e:
|
||||
# print("Kann Datei nicht schreiben", e, file=sys.stderr)
|
||||
else:
|
||||
print("Wird ausgefuehrt wenn keine Execption ausgeloest wird.")
|
||||
finally:
|
||||
print("Wird immer durchlaufen, unabhaengig von ausgeloesten Exceptions")
|
||||
|
||||
|
||||
#with open('/tmp/userlist.txt', 'w') as outfile:
|
||||
# for user in userlist:
|
||||
# print("{uid:5} {username:{width}} {realname}".format(
|
||||
# width=userlen, **user),
|
||||
# file=outfile)
|
||||
|
||||
def print_userlist_sorted_by_uid(userlist):
|
||||
userlen = max(map(lambda u: len(u['username']), userlist))
|
||||
for user in sorted(userlist, key=lambda e: e['uid']):
|
||||
@@ -61,6 +87,7 @@ def print_userlist_sorted_by_uid(userlist):
|
||||
def main():
|
||||
output_functions = {
|
||||
'pprint': pprint,
|
||||
'logger': print_to_file,
|
||||
'username': print_userlist_sorted_by_username,
|
||||
'uid': print_userlist_sorted_by_uid,
|
||||
|
||||
@@ -69,7 +96,8 @@ def main():
|
||||
outfunc = output_functions[argv_value('-o', default='uid')]
|
||||
lines = read_file("/etc/passwd")
|
||||
userlist = build_userlist(lines)
|
||||
|
||||
outfunc(userlist)
|
||||
|
||||
|
||||
main()
|
||||
utilities.hide_exception(main)
|
||||
Reference in New Issue
Block a user