Beispiel #1
0
from obsei.sink.zendesk_sink import ZendeskCredInfo
from obsei.source.appstore_scrapper import AppStoreScrapperSource
from obsei.source.base_source import BaseSource
from obsei.source.email_source import EmailSource
from obsei.source.playstore_reviews import PlayStoreSource
from obsei.source.playstore_scrapper import PlayStoreScrapperSource
from obsei.source.reddit_scrapper import RedditScrapperSource
from obsei.source.reddit_source import RedditSource
from obsei.source.twitter_source import TwitterSource

logger = logging.getLogger(__name__)

source_map: Dict[str, BaseSource] = {
    "Twitter": TwitterSource(),
    "PlayStore": PlayStoreSource(),
    "PlayStoreScrapper": PlayStoreScrapperSource(),
    "AppStoreScrapper": AppStoreScrapperSource(),
    "RedditScrapper": RedditScrapperSource(),
    "Reddit": RedditSource(),
    "Email": EmailSource()
}

sink_map: Dict[str, BaseSink] = {
    "Http": HttpSink(),
    "Jira": JiraSink(),
    "DailyGet": DailyGetSink(),
    "Elasticsearch": ElasticSearchSink(),
    "Zendesk": ZendeskCredInfo(),
    "Slack": SlackSink(),
    "Logging": LoggerSink()
}
Beispiel #2
0
import logging
import sys
from datetime import datetime, timedelta

import pytz

from obsei.analyzer.base_analyzer import AnalyzerRequest
from obsei.analyzer.classification_analyzer import ClassificationAnalyzerConfig, ZeroShotClassificationAnalyzer
from obsei.analyzer.translation_analyzer import TranslationAnalyzer
from obsei.misc.utils import DATETIME_STRING_PATTERN
from obsei.source.playstore_scrapper import PlayStoreScrapperConfig, PlayStoreScrapperSource


logger = logging.getLogger(__name__)
logging.basicConfig(stream=sys.stdout, level=logging.INFO)
source = PlayStoreScrapperSource()


def source_fetch():
    since_time = datetime.utcnow().astimezone(pytz.utc) + timedelta(days=-1)
    source_config = PlayStoreScrapperConfig(
        countries=["us"],
        package_name="com.color.apps.hindikeyboard.hindi.language",
        lookup_period=since_time.strftime(DATETIME_STRING_PATTERN),  # todo should be optional
        max_count=5
    )
    return source.lookup(source_config)


def translate_text(text_list):
    translate_analyzer = TranslationAnalyzer(
from obsei.source.playstore_scrapper import (
    PlayStoreScrapperConfig,
    PlayStoreScrapperSource,
)

logger = logging.getLogger(__name__)
logging.basicConfig(stream=sys.stdout, level=logging.INFO)

since_time = datetime.utcnow().astimezone(pytz.utc) + timedelta(days=-4)
source_config = PlayStoreScrapperConfig(
    countries=["us"],
    package_name="com.apcoaconnect",
    lookup_period=since_time.strftime(DATETIME_STRING_PATTERN),
)

source = PlayStoreScrapperSource()

text_analyzer = ZeroShotClassificationAnalyzer(
    model_name_or_path="joeddav/bart-large-mnli-yahoo-answers", device="auto")

source_response_list = source.lookup(source_config)
for idx, source_response in enumerate(source_response_list):
    logger.info(f"source_response#'{idx}'='{source_response.__dict__}'")

analyzer_response_list = text_analyzer.analyze_input(
    source_response_list=source_response_list,
    analyzer_config=ClassificationAnalyzerConfig(labels=[
        "no parking", "registration issue", "app issue", "payment issue"
    ], ),
)
for idx, an_response in enumerate(analyzer_response_list):