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() }
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):