Jakub Filak 2164d6
From 301fe7c65ba4431833ad8a9df7a4366eda889682 Mon Sep 17 00:00:00 2001
Jakub Filak 2164d6
From: Jakub Filak <jfilak@redhat.com>
Jakub Filak 2164d6
Date: Fri, 31 Oct 2014 23:00:10 +0100
Jakub Filak 2164d6
Subject: [PATCH] a-a-g-machine-id: omit trailing new-line for one-liners only
Jakub Filak 2164d6
Jakub Filak 2164d6
Signed-off-by: Jakub Filak <jfilak@redhat.com>
Jakub Filak 2164d6
---
Jakub Filak 2164d6
 src/plugins/abrt-action-generate-machine-id | 21 +++++++++------------
Jakub Filak 2164d6
 1 file changed, 9 insertions(+), 12 deletions(-)
Jakub Filak 2164d6
Jakub Filak 2164d6
diff --git a/src/plugins/abrt-action-generate-machine-id b/src/plugins/abrt-action-generate-machine-id
Jakub Filak 2164d6
index b2de822..6f43258 100644
Jakub Filak 2164d6
--- a/src/plugins/abrt-action-generate-machine-id
Jakub Filak 2164d6
+++ b/src/plugins/abrt-action-generate-machine-id
Jakub Filak 2164d6
@@ -118,9 +118,9 @@ def generate_machine_id(generators):
Jakub Filak 2164d6
 def print_result(ids, outfile, prefixed):
Jakub Filak 2164d6
     """Writes a dictionary of machine ids to a file
Jakub Filak 2164d6
 
Jakub Filak 2164d6
-    Each dictionary entry is written on a single line and the last line does
Jakub Filak 2164d6
-    not have new line character. The new line character is omitted as it is a
Jakub Filak 2164d6
-    common approach in ABRT.
Jakub Filak 2164d6
+    Each dictionary entry is written on a single line. The function does not
Jakub Filak 2164d6
+    print trailing new-line if the dictionary contains only one item as it is
Jakub Filak 2164d6
+    common format of one-liners placed in a dump directory.
Jakub Filak 2164d6
 
Jakub Filak 2164d6
     Keyword arguments:
Jakub Filak 2164d6
     ids -- a dictionary [generator name: machine ids]
Jakub Filak 2164d6
@@ -130,15 +130,10 @@ def print_result(ids, outfile, prefixed):
Jakub Filak 2164d6
 
Jakub Filak 2164d6
     fmt = '{0}={1}' if prefixed else '{1}'
Jakub Filak 2164d6
 
Jakub Filak 2164d6
-    items_iter = ids.iteritems()
Jakub Filak 2164d6
-    try:
Jakub Filak 2164d6
-        sd, mid = items_iter.next()
Jakub Filak 2164d6
-        outfile.write(fmt.format(sd, mid))
Jakub Filak 2164d6
-    except StopIteration:
Jakub Filak 2164d6
-        return
Jakub Filak 2164d6
+    if len(ids) > 1:
Jakub Filak 2164d6
+        fmt += '\n'
Jakub Filak 2164d6
 
Jakub Filak 2164d6
-    fmt = '\n' + fmt
Jakub Filak 2164d6
-    for sd, mid in items_iter:
Jakub Filak 2164d6
+    for sd, mid in ids.iteritems():
Jakub Filak 2164d6
         outfile.write(fmt.format(sd,mid))
Jakub Filak 2164d6
 
Jakub Filak 2164d6
 
Jakub Filak 2164d6
@@ -193,6 +188,8 @@ if __name__ == '__main__':
Jakub Filak 2164d6
             sys.exit(1)
Jakub Filak 2164d6
     else:
Jakub Filak 2164d6
         print_result(machineids, sys.stdout, not ARGS['noprefix'])
Jakub Filak 2164d6
-        sys.stdout.write('\n')
Jakub Filak 2164d6
+        # print_results() omits new-line for one-liners
Jakub Filak 2164d6
+        if len(machineids) == 1:
Jakub Filak 2164d6
+            sys.stdout.write('\n')
Jakub Filak 2164d6
 
Jakub Filak 2164d6
     sys.exit(len(requested_generators) - len(machineids.keys()))
Jakub Filak 2164d6
-- 
Jakub Filak 2164d6
2.1.0
Jakub Filak 2164d6