changeset 239:bed05593eb8c

Counting line numbers in the "db_reader" now
author Franz Glasner <hg@dom66.de>
date Sat, 03 Nov 2018 22:58:08 +0100
parents f28cfbaf9b59
children f3a4f1bc87ad
files extensions/timestamps.py
diffstat 1 files changed, 8 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/extensions/timestamps.py	Sat Nov 03 12:55:53 2018 +0100
+++ b/extensions/timestamps.py	Sat Nov 03 22:58:08 2018 +0100
@@ -387,6 +387,7 @@
     c = fp.read(1)
     record = []
     field = []
+    lineno = 1
     merge_block = ''
     while c:
         if c in '\r\n':
@@ -398,8 +399,9 @@
 
             # XXX FIXME: which of the merge blocks to return?
             if not merge_block:
-                yield record
-                
+                yield (lineno, record)
+
+            lineno += 1
             record = []
             field = []
             if c == '\r':
@@ -461,7 +463,7 @@
             else:
                 # hit of merge markers
                 c3 = fp.peek(1)
-                
+
                 if c3 and c3[0] == c:
                     merge_block = c
                     # skip to eol
@@ -498,7 +500,7 @@
 
         # XXX FIXME: which of the merge blocks to return?
         if not merge_block:
-            yield record
+            yield (lineno, record)
 
 
 def db_writer(fp):
@@ -657,9 +659,8 @@
 
         """
         self._init()
-        lineno = datano = 0
-        for record in db_reader(fp):
-            lineno += 1
+        datano = 0
+        for lineno, record in db_reader(fp):
             if len(record) == 2:
                 k, v = record
                 if self._version is None: