X-Git-Url: http://git.vrable.net/?p=cumulus.git;a=blobdiff_plain;f=python%2Fcumulus%2F__init__.py;h=0e39d37006b88479824de84de4f4cf134d383d39;hp=8dc4c9875e0f77ef95232f866f37a28e7ae9949e;hb=567bd6a883eaa54d10ca61d0b6083da09bf48085;hpb=a5f66616b1ec0c38328ad5131bf1c889ccc43659 diff --git a/python/cumulus/__init__.py b/python/cumulus/__init__.py index 8dc4c98..0e39d37 100644 --- a/python/cumulus/__init__.py +++ b/python/cumulus/__init__.py @@ -26,19 +26,29 @@ various parts of a Cumulus archive: - reading and maintaining the local object database """ +from __future__ import division, print_function, unicode_literals import hashlib import itertools import os import re import sqlite3 +import sys import tarfile import tempfile -import _thread +try: + import _thread +except ImportError: + import thread as _thread import cumulus.store import cumulus.store.file +if sys.version < '3': + StringTypes = (str, unicode) +else: + StringTypes = (str,) + # The largest supported snapshot format that can be understood. FORMAT_VERSION = (0, 11) # Cumulus Snapshot v0.11 @@ -264,7 +274,7 @@ class BackendWrapper(object): store may either be a Store object or URL. """ - if type(backend) in (str, str): + if type(backend) in StringTypes: if backend.find(":") >= 0: self._backend = cumulus.store.open(backend) else: @@ -295,7 +305,7 @@ class BackendWrapper(object): def prefetch_generic(self): """Calls scan on directories to prefetch file metadata.""" directories = set() - for typeinfo in list(SEARCH_PATHS.values()): + for typeinfo in SEARCH_PATHS.values(): directories.update(typeinfo.directories()) for d in directories: print("Prefetch", d) @@ -566,7 +576,7 @@ class MetadataItem: @staticmethod def decode_device(s): """Decode a device major/minor number.""" - (major, minor) = list(map(MetadataItem.decode_int, s.split("/"))) + (major, minor) = map(MetadataItem.decode_int, s.split("/")) return (major, minor) class Items: pass @@ -578,7 +588,7 @@ class MetadataItem: self.object_store = object_store self.keys = [] self.items = self.Items() - for (k, v) in list(fields.items()): + for (k, v) in fields.items(): if k in self.field_types: decoder = self.field_types[k] setattr(self.items, k, decoder(v))