+# Cumulus: Efficient Filesystem Backup to the Cloud
+# Copyright (C) 2008 The Cumulus Developers
+# See the AUTHORS file for a list of contributors.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License along
+# with this program; if not, write to the Free Software Foundation, Inc.,
+# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
"""Advanced metadata iterator for Cumulus snapshots.
Allow fast random access to Cumulus metadata logs. This requires that the
of the filesystem, in sorted order.
"""
+from __future__ import division, print_function, unicode_literals
+
import cumulus
class Metadata:
lines = self._load(ref)[n:]
try:
- return cumulus.parse(lines, lambda l: len(l) == 0).next()
+ return next(cumulus.parse(lines, lambda l: len(l) == 0))
except StopIteration:
return {}
metadata = Metadata(store, root)
ptr = metadata.search(['home', 'mvrable', 'docs'])
- print ptr
- print metadata._read(ptr)
+ print(ptr)
+ print(metadata._read(ptr))
store.cleanup()