1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import logging
- from lakesuperior import env
- from lakesuperior.config_parser import parse_config
- from lakesuperior.migrator import Migrator
- from lakesuperior.store.ldp_nr.default_layout import DefaultLayout as FileLayout
- __doc__ = """
- Admin API.
- This module contains maintenance utilities and stats.
- """
- logger = logging.getLogger(__name__)
- def stats():
- """
- Get repository statistics.
- :rtype: dict
- :return: Store statistics, resource statistics.
- """
- import lakesuperior.env_setup
- with env.app_globals.rdf_store.txn_ctx():
- repo_stats = {'rsrc_stats': env.app_globals.rdfly.count_rsrc()}
- repo_stats['store_stats'] = env.app_globals.rdf_store.stats()
- return repo_stats
- def migrate(src, dest, start_pts=None, list_file=None, **kwargs):
- """
- Migrate an LDP repository to a new Lakesuperior instance.
- See :py:meth:`Migrator.__init__`.
- """
- if start_pts:
- if not isinstance(
- start_pts, list) and not isinstance(start_pts, tuple):
- start_pts = (start_pts,)
- elif not list_file:
- start_pts = ('/',)
- return Migrator(src, dest, **kwargs).migrate(start_pts, list_file)
- def integrity_check():
- """
- Check integrity of the data set.
- At the moment this is limited to referential integrity. Other checks can
- be added and triggered by different argument flags.
- """
- with env.app_globals.rdfly.store.txn_ctx():
- return set(env.app_globals.rdfly.find_refint_violations())
|