get_one_or_create, production_session, ) from core.util import ( fast_query_count, LanguageCodes, ) from scripts import ( DirectoryImportScript, OPDSImportScript, ) from feedbooks import FeedbooksOPDSImporter from unglueit import UnglueItImporter _db = production_session() try: # Create Collections generated by directory import. directory_import = DirectoryImportScript(_db=_db) for data_source_name in [DataSource.PLYMPTON, DataSource.ELIB]: directory_import.create_collection(data_source_name) # Create Collections generated by OPDS import with importer classes. opds_importers = { FeedbooksOPDSImporter : DataSource.FEEDBOOKS, UnglueItImporter : DataSource.UNGLUE_IT, } for importer_class, data_source_name in opds_importers.items(): OPDSImportScript(importer_class, data_source_name, _db=_db)
sys.path.append(os.path.abspath(package_dir)) from api.config import Configuration from core.model import ( get_one_or_create, production_session, DataSource, Library, Collection, ) # We're going directly against the configuration object, rather than # using shortcuts like OverdriveAPI.from_environment, because this # script may be running against a branch where the implementation of # those shortcuts goes against the database. _db = production_session() def copy_library_registry_information(_db, library): config = Configuration.integration("Adobe Vendor ID") if not config: print u"No Adobe Vendor ID configuration, not setting short name or secret." return library.short_name = config.get("library_short_name") library.library_registry_short_name = config.get("library_short_name") library.library_registry_shared_secret = config.get("authdata_secret") def convert_overdrive(_db, library): config = Configuration.integration('Overdrive') if not config:
#!/usr/bin/env python """Adds InCommon SAML federation metadata to `samlfederations` table.""" import os import sys from contextlib2 import closing bin_dir = os.path.split(__file__)[0] package_dir = os.path.join(bin_dir, "..") sys.path.append(os.path.abspath(package_dir)) from api.saml.metadata.federations import incommon from api.saml.metadata.federations.model import SAMLFederation from core.model import production_session with closing(production_session()) as db: incommon_federation = (db.query(SAMLFederation).filter( SAMLFederation.type == incommon.FEDERATION_TYPE).one_or_none()) if not incommon_federation: incommon_federation = SAMLFederation( incommon.FEDERATION_TYPE, incommon.IDP_METADATA_SERVICE_URL, incommon.CERTIFICATE, ) db.add(incommon_federation) db.commit()