예제 #1
0
파일: base.py 프로젝트: jamilatta/opac_proc
    def __init__(self, transform_model_uuid):
        """
        - transform_model_uuid:
            uuid do modelo do TransformModel que queremos carregar
        """
        self._db = get_db_connection()
        register_connections()
        if not transform_model_uuid:
            raise ValueError(u'transform_model_uuid inválido!')
        elif not self.transform_model_class:
            raise ValueError(u'subclasse deve definir atributo: transform_model_class!')
        elif not self.opac_model_class:
            raise ValueError(u'subclasse deve definir atributo: opac_model_class!')
        elif not self.load_model_class:
            raise ValueError(u'subclasse deve definir atributo: load_model_class!')

        self.transform_model_name = str(self.transform_model_class)
        self.opac_model_name = str(self.opac_model_class)
        self.load_model_name = str(self.load_model_class)

        self._uuid = transform_model_uuid
        self._uuid_str = str(transform_model_uuid).replace("-", "")

        self.get_transform_model_instance(query_dict={'uuid': self._uuid})

        # buscamos uma instância na base opac com o mesmo UUID
        self.get_opac_model_instance(query_dict={'_id': self._uuid_str})

        # Load model instance: to track process times by uuid
        self.get_load_model_instance(query_dict={'uuid': self._uuid})

        self.metadata['uuid'] = self._uuid
예제 #2
0
파일: jobs.py 프로젝트: scieloorg/opac_proc
def task_delete_selected_collections(selected_uuids):
    """
        Task para apagar Coleções Carregadas.
        @param:
        - selected_uuids: lista de UUIDs dos documentos a serem removidos

        Se a lista `selected_uuids` for maior a SLICE_SIZE
            A lista será fatiada em listas de tamanho: SLICE_SIZE
        Se a lista `selected_uuids` for < a SLICE_SIZE
            Será feito uma delete direto no queryset
    """

    stage = 'load'
    model = 'collection'
    model_class = LoadCollection
    get_db_connection()
    r_queues = RQueues()
    SLICE_SIZE = 1000

    if len(selected_uuids) > SLICE_SIZE:
        list_of_list_of_uuids = list(chunks(selected_uuids, SLICE_SIZE))
        for list_of_uuids in list_of_list_of_uuids:
            uuid_as_string_list = [str(uuid) for uuid in list_of_uuids]
            r_queues.enqueue(stage, model, task_delete_selected_collections, uuid_as_string_list)
    else:
        # removemos o conjunto de documentos do LoadCollection indicados pelos uuids
        documents_to_delete = model_class.objects.filter(uuid__in=selected_uuids)
        documents_to_delete.delete()

        # convertemos os uuid para _id e filtramos esses documentos no OPAC
        register_connections()
        opac_pks = [str(uuid).replace('-', '') for uuid in selected_uuids]
        with switch_db(opac_models.Collection, OPAC_WEBAPP_DB_NAME) as opac_model:
            selected_opac_records = opac_model.objects.filter(pk__in=opac_pks)
            selected_opac_records.delete()
예제 #3
0
 def get_document_by_id(self, object_id):
     """
     metodo que retorna o documento procurando pelo object_id.
     """
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         return self.model_class.objects.get(id=object_id)
예제 #4
0
 def get_document_by_id(self, object_id):
     """
     metodo que retorna o documento procurando pelo object_id.
     """
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         return self.model_class.objects.get(id=object_id)
예제 #5
0
 def do_delete_all(self):
     register_connections()
     with switch_db(self.model_class, OPAC_WEBAPP_DB_NAME):
         try:
             self.model_class.objects.delete()
         except Exception as e:
             traceback_str = traceback.format_exc()
             self._trigger_messages(is_error=True, exception_obj=e, traceback_str=traceback_str)
         else:
             self._trigger_messages()
예제 #6
0
파일: jobs.py 프로젝트: scieloorg/opac_proc
def task_delete_all_articles():
    # removemos todos os documentos do modelo Load Article (opac-proc)
    get_db_connection()
    all_records = LoadArticle.objects.all()
    all_records.delete()

    # removemos todos os documentos do modelo Article (opac)
    register_connections()
    with switch_db(opac_models.Article, OPAC_WEBAPP_DB_NAME) as opac_model:
        all_opac_records = opac_model.objects.all()
        all_opac_records.delete()
예제 #7
0
파일: jobs.py 프로젝트: scieloorg/opac_proc
def task_delete_all_news():
    get_db_connection()
    # removemos todos os documentos do modelo Load News (opac-proc)
    all_records = LoadNews.objects.all()
    all_records.delete()

    # removemos todos os documentos do modelo News (opac)
    register_connections()
    with switch_db(opac_models.News, OPAC_WEBAPP_DB_NAME) as opac_model:
        all_opac_records = opac_model.objects.all()
        all_opac_records.delete()
예제 #8
0
 def do_delete_selected(self, ids):
     register_connections()
     with switch_db(self.model_class, OPAC_WEBAPP_DB_NAME):
         # super(OpacBaseListView, self).do_delete_selected(ids)
         try:
             self.model_class.objects.filter(pk__in=ids).delete()
         except Exception as e:
             traceback_str = traceback.format_exc()
             self._trigger_messages(is_error=True, exception_obj=e, traceback_str=traceback_str, items_count=len(ids))
         else:
             self._trigger_messages(items_count=len(ids))
예제 #9
0
파일: jobs.py 프로젝트: scieloorg/opac_proc
def task_delete_all_news():
    get_db_connection()
    # removemos todos os documentos do modelo Load News (opac-proc)
    all_records = LoadNews.objects.all()
    all_records.delete()

    # removemos todos os documentos do modelo News (opac)
    register_connections()
    with switch_db(opac_models.News, OPAC_WEBAPP_DB_NAME) as opac_model:
        all_opac_records = opac_model.objects.all()
        all_opac_records.delete()
예제 #10
0
파일: jobs.py 프로젝트: scieloorg/opac_proc
def task_delete_all_press_releases():
    # removemos todos os documentos do modelo Load PressRelease (opac-proc)
    get_db_connection()
    all_records = LoadPressRelease.objects.all()
    all_records.delete()

    # removemos todos os documentos do modelo PressRelease (opac)
    register_connections()
    with switch_db(opac_models.PressRelease, OPAC_WEBAPP_DB_NAME) as opac_model:
        all_opac_records = opac_model.objects.all()
        all_opac_records.delete()
예제 #11
0
파일: jobs.py 프로젝트: scieloorg/opac_proc
def task_delete_all_journals():
    # removemos todos os documentos do modelo Load Journal (opac-proc)
    get_db_connection()
    all_records = LoadJournal.objects.all()
    all_records.delete()

    # removemos todos os documentos do modelo Journal (opac)
    register_connections()
    with switch_db(opac_models.Journal, OPAC_WEBAPP_DB_NAME) as opac_model:
        all_opac_records = opac_model.objects.all()
        all_opac_records.delete()
예제 #12
0
    def get_objects(self):
        if self.model_class is None:
            raise ValueError("model class not defined")
        else:
            filters = self.get_filters()

        register_connections()
        with switch_db(self.model_class, OPAC_WEBAPP_DB_NAME):
            if self.list_filters and filters:
                return self.model_class.objects.filter(**filters)
            else:
                return self.model_class.objects()
예제 #13
0
    def get_objects(self):
        if self.model_class is None:
            raise ValueError("model class not defined")
        else:
            filters = self.get_filters()

        register_connections()
        with switch_db(self.model_class, OPAC_WEBAPP_DB_NAME):
            if self.list_filters and filters:
                return self.model_class.objects.filter(**filters)
            else:
                return self.model_class.objects()
예제 #14
0
 def do_delete_all(self):
     register_connections()
     with switch_db(self.model_class, OPAC_WEBAPP_DB_NAME):
         try:
             self.model_class.objects.delete()
         except Exception as e:
             traceback_str = traceback.format_exc()
             self._trigger_messages(is_error=True,
                                    exception_obj=e,
                                    traceback_str=traceback_str)
         else:
             self._trigger_messages()
예제 #15
0
 def do_delete_selected(self, ids):
     register_connections()
     with switch_db(self.model_class, OPAC_WEBAPP_DB_NAME):
         # super(OpacBaseListView, self).do_delete_selected(ids)
         try:
             self.model_class.objects.filter(pk__in=ids).delete()
         except Exception as e:
             traceback_str = traceback.format_exc()
             self._trigger_messages(is_error=True,
                                    exception_obj=e,
                                    traceback_str=traceback_str,
                                    items_count=len(ids))
         else:
             self._trigger_messages(items_count=len(ids))
예제 #16
0
def timeline_index():
    register_connections()

    sync_events = events_models.SyncEventModel.objects.all()

    collection_events = sync_events.filter(model_name='collection')
    journal_events = sync_events.filter(model_name='journal')
    issue_events = sync_events.filter(model_name='issue')
    article_events = sync_events.filter(model_name='article')
    news_events = sync_events.filter(model_name='news')
    press_release_events = sync_events.filter(model_name='press_release')

    context = {
        'all_events': sync_events,
        'collection_events': collection_events,
        'journal_events': journal_events,
        'issue_events': issue_events,
        'article_events': article_events,
        'news_events': news_events,
        'press_release_events': press_release_events,
    }
    return render_template("timeline_index.html", **context)
예제 #17
0
파일: jobs.py 프로젝트: scieloorg/opac_proc
def task_delete_selected_collections(selected_uuids):
    """
        Task para apagar Coleções Carregadas.
        @param:
        - selected_uuids: lista de UUIDs dos documentos a serem removidos

        Se a lista `selected_uuids` for maior a SLICE_SIZE
            A lista será fatiada em listas de tamanho: SLICE_SIZE
        Se a lista `selected_uuids` for < a SLICE_SIZE
            Será feito uma delete direto no queryset
    """

    stage = 'load'
    model = 'collection'
    model_class = LoadCollection
    get_db_connection()
    r_queues = RQueues()
    SLICE_SIZE = 1000

    if len(selected_uuids) > SLICE_SIZE:
        list_of_list_of_uuids = list(chunks(selected_uuids, SLICE_SIZE))
        for list_of_uuids in list_of_list_of_uuids:
            uuid_as_string_list = [str(uuid) for uuid in list_of_uuids]
            r_queues.enqueue(stage, model, task_delete_selected_collections,
                             uuid_as_string_list)
    else:
        # removemos o conjunto de documentos do LoadCollection indicados pelos uuids
        documents_to_delete = model_class.objects.filter(
            uuid__in=selected_uuids)
        documents_to_delete.delete()

        # convertemos os uuid para _id e filtramos esses documentos no OPAC
        register_connections()
        opac_pks = [str(uuid).replace('-', '') for uuid in selected_uuids]
        with switch_db(opac_models.Collection,
                       OPAC_WEBAPP_DB_NAME) as opac_model:
            selected_opac_records = opac_model.objects.filter(pk__in=opac_pks)
            selected_opac_records.delete()
예제 #18
0
 def do_delete_selected(self, ids):
     register_connections()
     with switch_db(self.model_class, OPAC_WEBAPP_DB_NAME):
         super(OpacBaseListView, self).do_delete_selected(ids)
예제 #19
0
 def do_delete_all(self):
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         super(ExtractLogListView, self).do_delete_all()
예제 #20
0
 def do_delete_selected(self, ids):
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         super(LoadLogListView, self).do_delete_selected(ids)
예제 #21
0
 def do_delete_all(self):
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         super(TransformLogListView, self).do_delete_all()
예제 #22
0
 def get_objects(self):
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         objects = super(LoadLogListView, self).get_objects()
         return objects.order_by('-time')
예제 #23
0
 def do_delete_selected(self, ids):
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         super(LoadLogListView, self).do_delete_selected(ids)
예제 #24
0
 def get_objects(self):
     register_connections()
     with switch_db(self.model_class, OPAC_PROC_LOGS_DB_NAME):
         objects = super(LoadLogListView, self).get_objects()
         return objects.order_by('-time')
예제 #25
0
파일: home.py 프로젝트: jfunez/opac_proc
def home():
    register_connections()
    opac_webapp_db_name = get_opac_webapp_db_name()

    # identifiers:
    ids_collection_count = identifiers_models.CollectionIdModel.objects.all().count()
    ids_journal_count = identifiers_models.JournalIdModel.objects.all().count()
    ids_issue_count = identifiers_models.IssueIdModel.objects.all().count()
    ids_article_count = identifiers_models.ArticleIdModel.objects.all().count()
    ids_press_release_count = identifiers_models.PressReleaseIdModel.objects.all().count()
    ids_news_count = identifiers_models.NewsIdModel.objects.all().count()

    # extract counts
    extract_collection_count = models.ExtractCollection.objects.all().count()
    extract_journal_count = models.ExtractJournal.objects.all().count()
    extract_issue_count = models.ExtractIssue.objects.all().count()
    extract_article_count = models.ExtractArticle.objects.all().count()
    extract_press_release_count = models.ExtractPressRelease.objects.all().count()
    extract_news_count = models.ExtractNews.objects.all().count()

    # transform counts
    transform_collection_count = models.TransformCollection.objects.all().count()
    transform_journal_count = models.TransformJournal.objects.all().count()
    transform_issue_count = models.TransformIssue.objects.all().count()
    transform_article_count = models.TransformArticle.objects.all().count()
    transform_press_release_count = models.TransformPressRelease.objects.all().count()
    transform_news_count = models.TransformNews.objects.all().count()

    # load counts
    load_collection_count = models.LoadCollection.objects.all().count()
    load_journal_count = models.LoadJournal.objects.all().count()
    load_issue_count = models.LoadIssue.objects.all().count()
    load_article_count = models.LoadArticle.objects.all().count()
    load_press_release_count = models.LoadPressRelease.objects.all().count()
    load_news_count = models.LoadNews.objects.all().count()

    # OPAC counts
    with switch_db(OpacCollection, opac_webapp_db_name):
        opac_collection_count = OpacCollection.objects.all().count()

    with switch_db(OpacJournal, opac_webapp_db_name):
        opac_journal_count = OpacJournal.objects.all().count()

    with switch_db(OpacIssue, opac_webapp_db_name):
        opac_issue_count = OpacIssue.objects.all().count()

    with switch_db(OpacArticle, opac_webapp_db_name):
        opac_article_count = OpacArticle.objects.all().count()

    with switch_db(OpacPressRelease, opac_webapp_db_name):
        opac_pressrelease_count = OpacPressRelease.objects.all().count()

    with switch_db(OpacSponsor, opac_webapp_db_name):
        opac_sponsor_count = OpacSponsor.objects.all().count()

    with switch_db(OpacPages, opac_webapp_db_name):
        opac_page_count = OpacPages.objects.all().count()

    with switch_db(OpacNews, opac_webapp_db_name):
        opac_news_count = OpacNews.objects.all().count()

    # diff models - extract
    diff_ex_add_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='extract', action='add', done_at=None).count()
    diff_ex_upd_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='extract', action='update', done_at=None).count()
    diff_ex_del_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='extract', action='delete', done_at=None).count()

    diff_ex_add_journal_count = diff_models.JournalDiffModel.objects.filter(stage='extract', action='add', done_at=None).count()
    diff_ex_upd_journal_count = diff_models.JournalDiffModel.objects.filter(stage='extract', action='update', done_at=None).count()
    diff_ex_del_journal_count = diff_models.JournalDiffModel.objects.filter(stage='extract', action='delete', done_at=None).count()

    diff_ex_add_issue_count = diff_models.IssueDiffModel.objects.filter(stage='extract', action='add', done_at=None).count()
    diff_ex_upd_issue_count = diff_models.IssueDiffModel.objects.filter(stage='extract', action='update', done_at=None).count()
    diff_ex_del_issue_count = diff_models.IssueDiffModel.objects.filter(stage='extract', action='delete', done_at=None).count()

    diff_ex_add_article_count = diff_models.ArticleDiffModel.objects.filter(stage='extract', action='add', done_at=None).count()
    diff_ex_upd_article_count = diff_models.ArticleDiffModel.objects.filter(stage='extract', action='update', done_at=None).count()
    diff_ex_del_article_count = diff_models.ArticleDiffModel.objects.filter(stage='extract', action='delete', done_at=None).count()

    diff_ex_add_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='extract', action='add', done_at=None).count()
    diff_ex_upd_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='extract', action='update', done_at=None).count()
    diff_ex_del_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='extract', action='delete', done_at=None).count()

    diff_ex_add_news_count = diff_models.NewsDiffModel.objects.filter(stage='extract', action='add', done_at=None).count()
    diff_ex_upd_news_count = diff_models.NewsDiffModel.objects.filter(stage='extract', action='update', done_at=None).count()
    diff_ex_del_news_count = diff_models.NewsDiffModel.objects.filter(stage='extract', action='delete', done_at=None).count()

    # diff models - transform
    diff_tr_add_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='transform', action='add', done_at=None).count()
    diff_tr_upd_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='transform', action='update', done_at=None).count()
    diff_tr_del_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='transform', action='delete', done_at=None).count()

    diff_tr_add_journal_count = diff_models.JournalDiffModel.objects.filter(stage='transform', action='add', done_at=None).count()
    diff_tr_upd_journal_count = diff_models.JournalDiffModel.objects.filter(stage='transform', action='update', done_at=None).count()
    diff_tr_del_journal_count = diff_models.JournalDiffModel.objects.filter(stage='transform', action='delete', done_at=None).count()

    diff_tr_add_issue_count = diff_models.IssueDiffModel.objects.filter(stage='transform', action='add', done_at=None).count()
    diff_tr_upd_issue_count = diff_models.IssueDiffModel.objects.filter(stage='transform', action='update', done_at=None).count()
    diff_tr_del_issue_count = diff_models.IssueDiffModel.objects.filter(stage='transform', action='delete', done_at=None).count()

    diff_tr_add_article_count = diff_models.ArticleDiffModel.objects.filter(stage='transform', action='add', done_at=None).count()
    diff_tr_upd_article_count = diff_models.ArticleDiffModel.objects.filter(stage='transform', action='update', done_at=None).count()
    diff_tr_del_article_count = diff_models.ArticleDiffModel.objects.filter(stage='transform', action='delete', done_at=None).count()

    diff_tr_add_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='transform', action='add', done_at=None).count()
    diff_tr_upd_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='transform', action='update', done_at=None).count()
    diff_tr_del_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='transform', action='delete', done_at=None).count()

    diff_tr_add_news_count = diff_models.NewsDiffModel.objects.filter(stage='transform', action='add', done_at=None).count()
    diff_tr_upd_news_count = diff_models.NewsDiffModel.objects.filter(stage='transform', action='update', done_at=None).count()
    diff_tr_del_news_count = diff_models.NewsDiffModel.objects.filter(stage='transform', action='delete', done_at=None).count()

    # diff models - load
    diff_lo_add_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='load', action='add', done_at=None).count()
    diff_lo_upd_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='load', action='update', done_at=None).count()
    diff_lo_del_collection_count = diff_models.CollectionDiffModel.objects.filter(stage='load', action='delete', done_at=None).count()

    diff_lo_add_journal_count = diff_models.JournalDiffModel.objects.filter(stage='load', action='add', done_at=None).count()
    diff_lo_upd_journal_count = diff_models.JournalDiffModel.objects.filter(stage='load', action='update', done_at=None).count()
    diff_lo_del_journal_count = diff_models.JournalDiffModel.objects.filter(stage='load', action='delete', done_at=None).count()

    diff_lo_add_issue_count = diff_models.IssueDiffModel.objects.filter(stage='load', action='add', done_at=None).count()
    diff_lo_upd_issue_count = diff_models.IssueDiffModel.objects.filter(stage='load', action='update', done_at=None).count()
    diff_lo_del_issue_count = diff_models.IssueDiffModel.objects.filter(stage='load', action='delete', done_at=None).count()

    diff_lo_add_article_count = diff_models.ArticleDiffModel.objects.filter(stage='load', action='add', done_at=None).count()
    diff_lo_upd_article_count = diff_models.ArticleDiffModel.objects.filter(stage='load', action='update', done_at=None).count()
    diff_lo_del_article_count = diff_models.ArticleDiffModel.objects.filter(stage='load', action='delete', done_at=None).count()

    diff_lo_add_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='load', action='add', done_at=None).count()
    diff_lo_upd_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='load', action='update', done_at=None).count()
    diff_lo_del_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(stage='load', action='delete', done_at=None).count()

    diff_lo_add_news_count = diff_models.NewsDiffModel.objects.filter(stage='load', action='add', done_at=None).count()
    diff_lo_upd_news_count = diff_models.NewsDiffModel.objects.filter(stage='load', action='update', done_at=None).count()
    diff_lo_del_news_count = diff_models.NewsDiffModel.objects.filter(stage='load', action='delete', done_at=None).count()

    latest_msg = models.Message.objects.filter(unread=True).order_by('-created_at')[:5]

    context = {
        # identifiers
        'ids_collection_count': ids_collection_count,
        'ids_journal_count': ids_journal_count,
        'ids_issue_count': ids_issue_count,
        'ids_article_count': ids_article_count,
        'ids_press_release_count': ids_press_release_count,
        'ids_news_count': ids_news_count,

        # extract
        'extract_collection_count': extract_collection_count,
        'extract_journal_count': extract_journal_count,
        'extract_issue_count': extract_issue_count,
        'extract_article_count': extract_article_count,
        'extract_press_release_count': extract_press_release_count,
        'extract_news_count': extract_news_count,

        # tranform
        'transform_collection_count': transform_collection_count,
        'transform_journal_count': transform_journal_count,
        'transform_issue_count': transform_issue_count,
        'transform_article_count': transform_article_count,
        'transform_press_release_count': transform_press_release_count,
        'transform_news_count': transform_news_count,

        # load
        'load_collection_count': load_collection_count,
        'load_journal_count': load_journal_count,
        'load_issue_count': load_issue_count,
        'load_article_count': load_article_count,
        'load_press_release_count': load_press_release_count,
        'load_news_count': load_news_count,

        # opac
        'opac_collection_count': opac_collection_count,
        'opac_journal_count': opac_journal_count,
        'opac_issue_count': opac_issue_count,
        'opac_article_count': opac_article_count,
        'opac_pressrelease_count': opac_pressrelease_count,
        'opac_news_count': opac_news_count,

        # opac outros modelos
        'opac_sponsor_count': opac_sponsor_count,
        'opac_page_count': opac_page_count,

        # diff ex:
        'diff_ex_add_collection_count': diff_ex_add_collection_count,
        'diff_ex_upd_collection_count': diff_ex_upd_collection_count,
        'diff_ex_del_collection_count': diff_ex_del_collection_count,
        'diff_ex_add_journal_count': diff_ex_add_journal_count,
        'diff_ex_upd_journal_count': diff_ex_upd_journal_count,
        'diff_ex_del_journal_count': diff_ex_del_journal_count,
        'diff_ex_add_issue_count': diff_ex_add_issue_count,
        'diff_ex_upd_issue_count': diff_ex_upd_issue_count,
        'diff_ex_del_issue_count': diff_ex_del_issue_count,
        'diff_ex_add_article_count': diff_ex_add_article_count,
        'diff_ex_upd_article_count': diff_ex_upd_article_count,
        'diff_ex_del_article_count': diff_ex_del_article_count,
        'diff_ex_add_press_release_count': diff_ex_add_press_release_count,
        'diff_ex_upd_press_release_count': diff_ex_upd_press_release_count,
        'diff_ex_del_press_release_count': diff_ex_del_press_release_count,
        'diff_ex_add_news_count': diff_ex_add_news_count,
        'diff_ex_upd_news_count': diff_ex_upd_news_count,
        'diff_ex_del_news_count': diff_ex_del_news_count,
        # diff tr:
        'diff_tr_add_collection_count': diff_tr_add_collection_count,
        'diff_tr_upd_collection_count': diff_tr_upd_collection_count,
        'diff_tr_del_collection_count': diff_tr_del_collection_count,
        'diff_tr_add_journal_count': diff_tr_add_journal_count,
        'diff_tr_upd_journal_count': diff_tr_upd_journal_count,
        'diff_tr_del_journal_count': diff_tr_del_journal_count,
        'diff_tr_add_issue_count': diff_tr_add_issue_count,
        'diff_tr_upd_issue_count': diff_tr_upd_issue_count,
        'diff_tr_del_issue_count': diff_tr_del_issue_count,
        'diff_tr_add_article_count': diff_tr_add_article_count,
        'diff_tr_upd_article_count': diff_tr_upd_article_count,
        'diff_tr_del_article_count': diff_tr_del_article_count,
        'diff_tr_add_press_release_count': diff_tr_add_press_release_count,
        'diff_tr_upd_press_release_count': diff_tr_upd_press_release_count,
        'diff_tr_del_press_release_count': diff_tr_del_press_release_count,
        'diff_tr_add_news_count': diff_tr_add_news_count,
        'diff_tr_upd_news_count': diff_tr_upd_news_count,
        'diff_tr_del_news_count': diff_tr_del_news_count,
        # diff lo:
        'diff_lo_add_collection_count': diff_lo_add_collection_count,
        'diff_lo_upd_collection_count': diff_lo_upd_collection_count,
        'diff_lo_del_collection_count': diff_lo_del_collection_count,
        'diff_lo_add_journal_count': diff_lo_add_journal_count,
        'diff_lo_upd_journal_count': diff_lo_upd_journal_count,
        'diff_lo_del_journal_count': diff_lo_del_journal_count,
        'diff_lo_add_issue_count': diff_lo_add_issue_count,
        'diff_lo_upd_issue_count': diff_lo_upd_issue_count,
        'diff_lo_del_issue_count': diff_lo_del_issue_count,
        'diff_lo_add_article_count': diff_lo_add_article_count,
        'diff_lo_upd_article_count': diff_lo_upd_article_count,
        'diff_lo_del_article_count': diff_lo_del_article_count,
        'diff_lo_add_press_release_count': diff_lo_add_press_release_count,
        'diff_lo_upd_press_release_count': diff_lo_upd_press_release_count,
        'diff_lo_del_press_release_count': diff_lo_del_press_release_count,
        'diff_lo_add_news_count': diff_lo_add_news_count,
        'diff_lo_upd_news_count': diff_lo_upd_news_count,
        'diff_lo_del_news_count': diff_lo_del_news_count,

        'latest_msg': latest_msg
    }
    return render_template("home.html", **context)
예제 #26
0
파일: home.py 프로젝트: jamilatta/opac_proc
def home():
    register_connections()
    opac_webapp_db_name = get_opac_webapp_db_name()

    # extract counts
    extract_collection_count = models.ExtractCollection.objects.all().count()
    extract_journal_count = models.ExtractJournal.objects.all().count()
    extract_issue_count = models.ExtractIssue.objects.all().count()
    extract_article_count = models.ExtractArticle.objects.all().count()
    extract_press_release_count = models.ExtractPressRelease.objects.all().count()
    extract_news_count = models.ExtractNews.objects.all().count()

    # transform counts
    transform_collection_count = models.TransformCollection.objects.all().count()
    transform_journal_count = models.TransformJournal.objects.all().count()
    transform_issue_count = models.TransformIssue.objects.all().count()
    transform_article_count = models.TransformArticle.objects.all().count()
    transform_press_release_count = models.TransformPressRelease.objects.all().count()
    transform_news_count = models.TransformNews.objects.all().count()

    # load counts
    load_collection_count = models.LoadCollection.objects.all().count()
    load_journal_count = models.LoadJournal.objects.all().count()
    load_issue_count = models.LoadIssue.objects.all().count()
    load_article_count = models.LoadArticle.objects.all().count()
    load_press_release_count = models.LoadPressRelease.objects.all().count()
    load_news_count = models.LoadNews.objects.all().count()

    # OPAC counts
    with switch_db(OpacCollection, opac_webapp_db_name):
        opac_collection_count = OpacCollection.objects.all().count()

    with switch_db(OpacJournal, opac_webapp_db_name):
        opac_journal_count = OpacJournal.objects.all().count()

    with switch_db(OpacIssue, opac_webapp_db_name):
        opac_issue_count = OpacIssue.objects.all().count()

    with switch_db(OpacArticle, opac_webapp_db_name):
        opac_article_count = OpacArticle.objects.all().count()

    with switch_db(OpacPressRelease, opac_webapp_db_name):
        opac_pressrelease_count = OpacPressRelease.objects.all().count()

    with switch_db(OpacSponsor, opac_webapp_db_name):
        opac_sponsor_count = OpacSponsor.objects.all().count()

    with switch_db(OpacPages, opac_webapp_db_name):
        opac_page_count = OpacPages.objects.all().count()

    with switch_db(OpacNews, opac_webapp_db_name):
        opac_news_count = OpacNews.objects.all().count()

    latest_msg = models.Message.objects.filter(unread=True).order_by('-created_at')[:5]

    context = {
        # extract
        'extract_collection_count': extract_collection_count,
        'extract_journal_count': extract_journal_count,
        'extract_issue_count': extract_issue_count,
        'extract_article_count': extract_article_count,
        'extract_press_release_count': extract_press_release_count,
        'extract_news_count': extract_news_count,

        # tranform
        'transform_collection_count': transform_collection_count,
        'transform_journal_count': transform_journal_count,
        'transform_issue_count': transform_issue_count,
        'transform_article_count': transform_article_count,
        'transform_press_release_count': transform_press_release_count,
        'transform_news_count': transform_news_count,

        # load
        'load_collection_count': load_collection_count,
        'load_journal_count': load_journal_count,
        'load_issue_count': load_issue_count,
        'load_article_count': load_article_count,
        'load_press_release_count': load_press_release_count,
        'load_news_count': load_news_count,

        # opac
        'opac_collection_count': opac_collection_count,
        'opac_journal_count': opac_journal_count,
        'opac_issue_count': opac_issue_count,
        'opac_article_count': opac_article_count,
        'opac_pressrelease_count': opac_pressrelease_count,
        'opac_news_count': opac_news_count,

        # opac outros modelos
        'opac_sponsor_count': opac_sponsor_count,
        'opac_page_count': opac_page_count,

        'latest_msg': latest_msg
    }
    return render_template("home.html", **context)
예제 #27
0
def home():
    register_connections()
    opac_webapp_db_name = get_opac_webapp_db_name()

    # identifiers:
    ids_collection_count = identifiers_models.CollectionIdModel.objects.all(
    ).count()
    ids_journal_count = identifiers_models.JournalIdModel.objects.all().count()
    ids_issue_count = identifiers_models.IssueIdModel.objects.all().count()
    ids_article_count = identifiers_models.ArticleIdModel.objects.all().count()
    ids_press_release_count = identifiers_models.PressReleaseIdModel.objects.all(
    ).count()
    ids_news_count = identifiers_models.NewsIdModel.objects.all().count()

    # extract counts
    extract_collection_count = models.ExtractCollection.objects.all().count()
    extract_journal_count = models.ExtractJournal.objects.all().count()
    extract_issue_count = models.ExtractIssue.objects.all().count()
    extract_article_count = models.ExtractArticle.objects.all().count()
    extract_press_release_count = models.ExtractPressRelease.objects.all(
    ).count()
    extract_news_count = models.ExtractNews.objects.all().count()

    # transform counts
    transform_collection_count = models.TransformCollection.objects.all(
    ).count()
    transform_journal_count = models.TransformJournal.objects.all().count()
    transform_issue_count = models.TransformIssue.objects.all().count()
    transform_article_count = models.TransformArticle.objects.all().count()
    transform_press_release_count = models.TransformPressRelease.objects.all(
    ).count()
    transform_news_count = models.TransformNews.objects.all().count()

    # load counts
    load_collection_count = models.LoadCollection.objects.all().count()
    load_journal_count = models.LoadJournal.objects.all().count()
    load_issue_count = models.LoadIssue.objects.all().count()
    load_article_count = models.LoadArticle.objects.all().count()
    load_press_release_count = models.LoadPressRelease.objects.all().count()
    load_news_count = models.LoadNews.objects.all().count()

    # OPAC counts
    with switch_db(OpacCollection, opac_webapp_db_name):
        opac_collection_count = OpacCollection.objects.all().count()

    with switch_db(OpacJournal, opac_webapp_db_name):
        opac_journal_count = OpacJournal.objects.all().count()

    with switch_db(OpacIssue, opac_webapp_db_name):
        opac_issue_count = OpacIssue.objects.all().count()

    with switch_db(OpacArticle, opac_webapp_db_name):
        opac_article_count = OpacArticle.objects.all().count()

    with switch_db(OpacPressRelease, opac_webapp_db_name):
        opac_pressrelease_count = OpacPressRelease.objects.all().count()

    with switch_db(OpacSponsor, opac_webapp_db_name):
        opac_sponsor_count = OpacSponsor.objects.all().count()

    with switch_db(OpacPages, opac_webapp_db_name):
        opac_page_count = OpacPages.objects.all().count()

    with switch_db(OpacNews, opac_webapp_db_name):
        opac_news_count = OpacNews.objects.all().count()

    # diff models - extract
    diff_ex_add_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='extract', action='add', done_at=None).count()
    diff_ex_upd_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='extract', action='update', done_at=None).count()
    diff_ex_del_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='extract', action='delete', done_at=None).count()

    diff_ex_add_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='extract', action='add', done_at=None).count()
    diff_ex_upd_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='extract', action='update', done_at=None).count()
    diff_ex_del_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='extract', action='delete', done_at=None).count()

    diff_ex_add_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='extract', action='add', done_at=None).count()
    diff_ex_upd_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='extract', action='update', done_at=None).count()
    diff_ex_del_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='extract', action='delete', done_at=None).count()

    diff_ex_add_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='extract', action='add', done_at=None).count()
    diff_ex_upd_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='extract', action='update', done_at=None).count()
    diff_ex_del_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='extract', action='delete', done_at=None).count()

    diff_ex_add_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='extract', action='add', done_at=None).count()
    diff_ex_upd_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='extract', action='update', done_at=None).count()
    diff_ex_del_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='extract', action='delete', done_at=None).count()

    diff_ex_add_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='extract', action='add', done_at=None).count()
    diff_ex_upd_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='extract', action='update', done_at=None).count()
    diff_ex_del_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='extract', action='delete', done_at=None).count()

    # diff models - transform
    diff_tr_add_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='transform', action='add', done_at=None).count()
    diff_tr_upd_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='transform', action='update', done_at=None).count()
    diff_tr_del_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='transform', action='delete', done_at=None).count()

    diff_tr_add_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='transform', action='add', done_at=None).count()
    diff_tr_upd_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='transform', action='update', done_at=None).count()
    diff_tr_del_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='transform', action='delete', done_at=None).count()

    diff_tr_add_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='transform', action='add', done_at=None).count()
    diff_tr_upd_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='transform', action='update', done_at=None).count()
    diff_tr_del_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='transform', action='delete', done_at=None).count()

    diff_tr_add_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='transform', action='add', done_at=None).count()
    diff_tr_upd_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='transform', action='update', done_at=None).count()
    diff_tr_del_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='transform', action='delete', done_at=None).count()

    diff_tr_add_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='transform', action='add', done_at=None).count()
    diff_tr_upd_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='transform', action='update', done_at=None).count()
    diff_tr_del_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='transform', action='delete', done_at=None).count()

    diff_tr_add_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='transform', action='add', done_at=None).count()
    diff_tr_upd_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='transform', action='update', done_at=None).count()
    diff_tr_del_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='transform', action='delete', done_at=None).count()

    # diff models - load
    diff_lo_add_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='load', action='add', done_at=None).count()
    diff_lo_upd_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='load', action='update', done_at=None).count()
    diff_lo_del_collection_count = diff_models.CollectionDiffModel.objects.filter(
        stage='load', action='delete', done_at=None).count()

    diff_lo_add_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='load', action='add', done_at=None).count()
    diff_lo_upd_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='load', action='update', done_at=None).count()
    diff_lo_del_journal_count = diff_models.JournalDiffModel.objects.filter(
        stage='load', action='delete', done_at=None).count()

    diff_lo_add_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='load', action='add', done_at=None).count()
    diff_lo_upd_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='load', action='update', done_at=None).count()
    diff_lo_del_issue_count = diff_models.IssueDiffModel.objects.filter(
        stage='load', action='delete', done_at=None).count()

    diff_lo_add_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='load', action='add', done_at=None).count()
    diff_lo_upd_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='load', action='update', done_at=None).count()
    diff_lo_del_article_count = diff_models.ArticleDiffModel.objects.filter(
        stage='load', action='delete', done_at=None).count()

    diff_lo_add_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='load', action='add', done_at=None).count()
    diff_lo_upd_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='load', action='update', done_at=None).count()
    diff_lo_del_press_release_count = diff_models.PressReleaseDiffModel.objects.filter(
        stage='load', action='delete', done_at=None).count()

    diff_lo_add_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='load', action='add', done_at=None).count()
    diff_lo_upd_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='load', action='update', done_at=None).count()
    diff_lo_del_news_count = diff_models.NewsDiffModel.objects.filter(
        stage='load', action='delete', done_at=None).count()

    latest_msg = models.Message.objects.filter(
        unread=True).order_by('-created_at')[:5]

    context = {
        # identifiers
        'ids_collection_count': ids_collection_count,
        'ids_journal_count': ids_journal_count,
        'ids_issue_count': ids_issue_count,
        'ids_article_count': ids_article_count,
        'ids_press_release_count': ids_press_release_count,
        'ids_news_count': ids_news_count,

        # extract
        'extract_collection_count': extract_collection_count,
        'extract_journal_count': extract_journal_count,
        'extract_issue_count': extract_issue_count,
        'extract_article_count': extract_article_count,
        'extract_press_release_count': extract_press_release_count,
        'extract_news_count': extract_news_count,

        # tranform
        'transform_collection_count': transform_collection_count,
        'transform_journal_count': transform_journal_count,
        'transform_issue_count': transform_issue_count,
        'transform_article_count': transform_article_count,
        'transform_press_release_count': transform_press_release_count,
        'transform_news_count': transform_news_count,

        # load
        'load_collection_count': load_collection_count,
        'load_journal_count': load_journal_count,
        'load_issue_count': load_issue_count,
        'load_article_count': load_article_count,
        'load_press_release_count': load_press_release_count,
        'load_news_count': load_news_count,

        # opac
        'opac_collection_count': opac_collection_count,
        'opac_journal_count': opac_journal_count,
        'opac_issue_count': opac_issue_count,
        'opac_article_count': opac_article_count,
        'opac_pressrelease_count': opac_pressrelease_count,
        'opac_news_count': opac_news_count,

        # opac outros modelos
        'opac_sponsor_count': opac_sponsor_count,
        'opac_page_count': opac_page_count,

        # diff ex:
        'diff_ex_add_collection_count': diff_ex_add_collection_count,
        'diff_ex_upd_collection_count': diff_ex_upd_collection_count,
        'diff_ex_del_collection_count': diff_ex_del_collection_count,
        'diff_ex_add_journal_count': diff_ex_add_journal_count,
        'diff_ex_upd_journal_count': diff_ex_upd_journal_count,
        'diff_ex_del_journal_count': diff_ex_del_journal_count,
        'diff_ex_add_issue_count': diff_ex_add_issue_count,
        'diff_ex_upd_issue_count': diff_ex_upd_issue_count,
        'diff_ex_del_issue_count': diff_ex_del_issue_count,
        'diff_ex_add_article_count': diff_ex_add_article_count,
        'diff_ex_upd_article_count': diff_ex_upd_article_count,
        'diff_ex_del_article_count': diff_ex_del_article_count,
        'diff_ex_add_press_release_count': diff_ex_add_press_release_count,
        'diff_ex_upd_press_release_count': diff_ex_upd_press_release_count,
        'diff_ex_del_press_release_count': diff_ex_del_press_release_count,
        'diff_ex_add_news_count': diff_ex_add_news_count,
        'diff_ex_upd_news_count': diff_ex_upd_news_count,
        'diff_ex_del_news_count': diff_ex_del_news_count,
        # diff tr:
        'diff_tr_add_collection_count': diff_tr_add_collection_count,
        'diff_tr_upd_collection_count': diff_tr_upd_collection_count,
        'diff_tr_del_collection_count': diff_tr_del_collection_count,
        'diff_tr_add_journal_count': diff_tr_add_journal_count,
        'diff_tr_upd_journal_count': diff_tr_upd_journal_count,
        'diff_tr_del_journal_count': diff_tr_del_journal_count,
        'diff_tr_add_issue_count': diff_tr_add_issue_count,
        'diff_tr_upd_issue_count': diff_tr_upd_issue_count,
        'diff_tr_del_issue_count': diff_tr_del_issue_count,
        'diff_tr_add_article_count': diff_tr_add_article_count,
        'diff_tr_upd_article_count': diff_tr_upd_article_count,
        'diff_tr_del_article_count': diff_tr_del_article_count,
        'diff_tr_add_press_release_count': diff_tr_add_press_release_count,
        'diff_tr_upd_press_release_count': diff_tr_upd_press_release_count,
        'diff_tr_del_press_release_count': diff_tr_del_press_release_count,
        'diff_tr_add_news_count': diff_tr_add_news_count,
        'diff_tr_upd_news_count': diff_tr_upd_news_count,
        'diff_tr_del_news_count': diff_tr_del_news_count,
        # diff lo:
        'diff_lo_add_collection_count': diff_lo_add_collection_count,
        'diff_lo_upd_collection_count': diff_lo_upd_collection_count,
        'diff_lo_del_collection_count': diff_lo_del_collection_count,
        'diff_lo_add_journal_count': diff_lo_add_journal_count,
        'diff_lo_upd_journal_count': diff_lo_upd_journal_count,
        'diff_lo_del_journal_count': diff_lo_del_journal_count,
        'diff_lo_add_issue_count': diff_lo_add_issue_count,
        'diff_lo_upd_issue_count': diff_lo_upd_issue_count,
        'diff_lo_del_issue_count': diff_lo_del_issue_count,
        'diff_lo_add_article_count': diff_lo_add_article_count,
        'diff_lo_upd_article_count': diff_lo_upd_article_count,
        'diff_lo_del_article_count': diff_lo_del_article_count,
        'diff_lo_add_press_release_count': diff_lo_add_press_release_count,
        'diff_lo_upd_press_release_count': diff_lo_upd_press_release_count,
        'diff_lo_del_press_release_count': diff_lo_del_press_release_count,
        'diff_lo_add_news_count': diff_lo_add_news_count,
        'diff_lo_upd_news_count': diff_lo_upd_news_count,
        'diff_lo_del_news_count': diff_lo_del_news_count,
        'latest_msg': latest_msg
    }
    return render_template("home.html", **context)