Changeset View
Changeset View
Standalone View
Standalone View
swh/storage/storage.py
Show All 14 Lines | |||||
import psycopg2 | import psycopg2 | ||||
import psycopg2.pool | import psycopg2.pool | ||||
from . import converters | from . import converters | ||||
from .common import db_transaction_generator, db_transaction | from .common import db_transaction_generator, db_transaction | ||||
from .db import Db | from .db import Db | ||||
from .exc import StorageDBError | from .exc import StorageDBError | ||||
from .algos import diff | from .algos import diff | ||||
from .journal_writer import get_journal_writer | |||||
from swh.model.hashutil import ALGORITHMS, hash_to_bytes | from swh.model.hashutil import ALGORITHMS, hash_to_bytes | ||||
from swh.objstorage import get_objstorage | from swh.objstorage import get_objstorage | ||||
from swh.objstorage.exc import ObjNotFoundError | from swh.objstorage.exc import ObjNotFoundError | ||||
try: | |||||
from swh.journal.writer import get_journal_writer | |||||
except ImportError: | |||||
get_journal_writer = None | |||||
# Max block size of contents to return | # Max block size of contents to return | ||||
BULK_BLOCK_CONTENT_LEN_MAX = 10000 | BULK_BLOCK_CONTENT_LEN_MAX = 10000 | ||||
EMPTY_SNAPSHOT_ID = hash_to_bytes('1a8893e6a86f444e8be8e7bda6cb34fb1735a00e') | EMPTY_SNAPSHOT_ID = hash_to_bytes('1a8893e6a86f444e8be8e7bda6cb34fb1735a00e') | ||||
"""Identifier for the empty snapshot""" | """Identifier for the empty snapshot""" | ||||
Show All 20 Lines | def __init__(self, db, objstorage, min_pool_conns=1, max_pool_conns=10, | ||||
min_pool_conns, max_pool_conns, db | min_pool_conns, max_pool_conns, db | ||||
) | ) | ||||
self._db = None | self._db = None | ||||
except psycopg2.OperationalError as e: | except psycopg2.OperationalError as e: | ||||
raise StorageDBError(e) | raise StorageDBError(e) | ||||
self.objstorage = get_objstorage(**objstorage) | self.objstorage = get_objstorage(**objstorage) | ||||
if journal_writer: | if journal_writer: | ||||
if get_journal_writer is None: | |||||
raise EnvironmentError( | |||||
'You need the swh.journal package to use the ' | |||||
'journal_writer feature') | |||||
self.journal_writer = get_journal_writer(**journal_writer) | self.journal_writer = get_journal_writer(**journal_writer) | ||||
else: | else: | ||||
self.journal_writer = None | self.journal_writer = None | ||||
def get_db(self): | def get_db(self): | ||||
if self._db: | if self._db: | ||||
return self._db | return self._db | ||||
else: | else: | ||||
▲ Show 20 Lines • Show All 1,837 Lines • Show Last 20 Lines |