fix logrotate functionality
[logparse.git] / logparse / formatting.py
index c7b7c30388a025aa612623ec4a9f5bab59903ff9..ab6266efc5233840d3e1369b21c03ff3aa5adec9 100644 (file)
@@ -265,9 +265,11 @@ class Data:
         Truncate self.items to a specified value and state how many items are hidden.
         """
         if (len(self.items) > limit):
-            more = str(len(self.items) - limit)
+            more = len(self.items) - limit
+            if more == 1:
+                return 0
             self.items = self.items[:limit]
-            self.items.append("+ {0} more".format(more))
+            self.items.append("+ {0} more".format(str(more)))
 
     def orderbyfreq(self):
         """
@@ -323,7 +325,7 @@ class Table(object):
 
     def draw_plain(self):
         output = tabulate(self._gen_list(), self.headers, tablefmt="fancy_grid" if self.borders else "plain", colalign=tuple(self._align_cols))
-        return output
+        return output + "\n"*2
 
 
 class Table0(object):
@@ -587,14 +589,20 @@ def backticks(l):
     return ["`" + x + "`" for x in l]
 
 
-def plural(noun, quantity):
+def plural(noun, quantity, print_quantity=True):
     """
     Return "1 noun" or "n nouns"
     """
-    if (quantity == 1):
-        return(str(quantity) + " " + noun)
+    if print_quantity:
+        if (quantity == 1):
+            return(str(quantity) + " " + noun)
+        else:
+            return(str(quantity) + " " + noun + "s")
     else:
-        return(str(quantity) + " " + noun + "s")
+        if (quantity == 1):
+            return noun
+        else:
+            return noun + "s"
 
 
 def parsesize(num, suffix='B'):