refactoring

pull/6/head
deadc0de6 6 years ago
parent 531541fea4
commit 4cce16ff64

@ -23,18 +23,14 @@ class Walker:
self.debug = debug
def index(self, path, name, parent):
return self._index(path, name, parent)
'''index a directory and store in tree'''
if not parent:
parent = noder.dir_node(name, path, parent)
def reindex(self, path, parent, top):
'''reindex a directory and store in tree'''
cnt = 0
for (root, dirs, files) in os.walk(path):
for f in files:
sub = os.path.join(root, f)
if not self._need_reindex(top, sub):
self._debug('ignore {}'.format(sub))
continue
self._debug('re-index {}'.format(sub))
self._log(f)
self.noder.file_node(os.path.basename(f), sub,
parent, path)
@ -42,26 +38,23 @@ class Walker:
for d in dirs:
base = os.path.basename(d)
sub = os.path.join(root, d)
if not self._need_reindex(top, sub):
self._debug('ignore {}'.format(sub))
continue
self._debug('re-index {}'.format(sub))
dummy = self.noder.dir_node(base, sub, parent, path)
cnt2 = self.reindex(sub, dummy, top)
_, cnt2 = self.index(sub, base, dummy)
cnt += cnt2
break
self._log(None)
return cnt
def _index(self, path, name, parent):
'''index a directory and store in tree'''
if not parent:
parent = noder.dir_node(name, path, parent)
return parent, cnt
def reindex(self, path, parent, top):
'''reindex a directory and store in tree'''
cnt = 0
for (root, dirs, files) in os.walk(path):
for f in files:
sub = os.path.join(root, f)
if not self._need_reindex(top, sub):
self._debug('ignore {}'.format(sub))
continue
self._debug('re-index {}'.format(sub))
self._log(f)
self.noder.file_node(os.path.basename(f), sub,
parent, path)
@ -69,12 +62,16 @@ class Walker:
for d in dirs:
base = os.path.basename(d)
sub = os.path.join(root, d)
if not self._need_reindex(top, sub):
self._debug('ignore {}'.format(sub))
continue
self._debug('re-index {}'.format(sub))
dummy = self.noder.dir_node(base, sub, parent, path)
_, cnt2 = self._index(sub, base, dummy)
cnt2 = self.reindex(sub, dummy, top)
cnt += cnt2
break
self._log(None)
return parent, cnt
return cnt
def _need_reindex(self, top, path):
'''test if node needs re-indexing'''

Loading…
Cancel
Save