Skip to content

Instantly share code, notes, and snippets.

@jborg
Created October 9, 2014 18:55
Show Gist options
  • Save jborg/d33842e3f3095f6a6e69 to your computer and use it in GitHub Desktop.
Save jborg/d33842e3f3095f6a6e69 to your computer and use it in GitHub Desktop.
diff --git a/attic/repository.py b/attic/repository.py
index 8d39323..eed85dc 100644
--- a/attic/repository.py
+++ b/attic/repository.py
@@ -408,12 +408,14 @@ class LoggedIO(object):
self.fds = None # Just to make sure we're disabled
def segment_iterator(self, reverse=False):
- for dirpath, dirs, filenames in os.walk(os.path.join(self.path, 'data')):
- dirs.sort(key=int, reverse=reverse)
- filenames = sorted((filename for filename in filenames if filename.isdigit()), key=int, reverse=reverse)
- for filename in filenames:
- yield int(filename), os.path.join(dirpath, filename)
-
+ data_path = os.path.join(self.path, 'data')
+ dirs = sorted((dir for dir in os.listdir(data_path) if dir.isdigit()), key=int, reverse=reverse)
+ for dir in dirs:
+ filenames = os.listdir(os.path.join(data_path, dir))
+ sorted_filenames = sorted((filename for filename in filenames
+ if filename.isdigit()), key=int, reverse=reverse)
+ for filename in sorted_filenames:
+ yield int(filename), os.path.join(data_path, dir, filename)
def get_latest_segment(self):
for segment, filename in self.segment_iterator(reverse=True):
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment