Example #1
0
        try:
            data_str = json.dumps(data)
        except ValueError as e:
            logger.error('Invalid JSON data: %s' % data_str)
            raise access_stats_thrift.ValueError(str(e))

        return data_str

    def document(self, code, collection):

        try:
            data = self._stats.document(code, collection)
        except ValueError as err:
            logger.error('Server Error: %s' % data_str)
            raise access_stats_thrift.ServerError(
                'Fail to retrieve data from server: %s' % err.message)
        except access_stats_thrift.ServerError as e:
            logger.exception(e)
            raise access_stats_thrift.ServerError('Unknow Server Error')
        except Exception as e:
            logger.exception(e)
            raise access_stats_thrift.ServerError('Unknow Server Error')

        result = json.dumps(data)

        return result


main = thriftpywrap.ConsoleApp(access_stats_thrift.AccessStats, Dispatcher)
Example #2
0
            logger.exception(e)
            raise citedby_thrift.ServerError(
                'Server Error: controller.query_by_pid(%s, %s)' %
                (query, metaonly))

    def citedby_doi(self, query, metaonly):
        try:
            return json.dumps(
                self._controller.query_by_doi(query, metaonly=metaonly))
        except Exception as e:
            logger.exception(e)
            raise citedby_thrift.ServerError(
                'Server Error: controller.query_by_doi(%s, %s)' %
                (query, metaonly))

    def citedby_meta(self, title, author_surname, year, metaonly):
        try:
            return json.dumps(
                self._controller.query_by_meta(title,
                                               author_surname,
                                               year,
                                               metaonly=metaonly))
        except Exception as e:
            logger.exception(e)
            raise citedby_thrift.ServerError(
                'Server Error: controller.citedbymeta(%s, %s, %s, %s)' %
                (title, author_surname, year, metaonly))


main = thriftpywrap.ConsoleApp(citedby_thrift.Citedby, Dispatcher)
Example #3
0
        return False

    def exists_article(self, code, collection):
        try:
            return self._databroker.exists_article(code, collection)
        except:
            raise articlemeta_thrift.ServerError(
                'Server error: DataBroker.exists_article')

        return False

    def exists_issue(self, code, collection):
        try:
            return self._databroker.exists_issue(code, collection)
        except:
            raise articlemeta_thrift.ServerError(
                'Server error: DataBroker.exists_issue')

        return False

    def exists_journal(self, code, collection):
        try:
            return self._databroker.exists_journal(code, collection)
        except:
            raise articlemeta_thrift.ServerError(
                'Server error: DataBroker.exists_journal')

        return False

main = thriftpywrap.ConsoleApp(articlemeta_thrift.ArticleMeta, Dispatcher)
                                              count=item['doc_count'])
                for item in data['aff_countries']['buckets']
            ]
        except:
            raise publication_stats_thrift.ServerError(
                'Fail to retrieve data from server')

        return result

    def document_types(self, filters=None):

        data = self._stats_dispatcher('article',
                                      aggs=['document_type'],
                                      filters=filters)

        try:
            result = [
                publication_stats_thrift.aggs(key=item['key'],
                                              count=item['doc_count'])
                for item in data['document_type']['buckets']
            ]
        except:
            raise publication_stats_thrift.ServerError(
                'Fail to retrieve data from server')

        return result


main = thriftpywrap.ConsoleApp(publication_stats_thrift.PublicationStats,
                               Dispatcher)