def get_users_all_stats(domains, datespan, interval, user_type_mobile=None, require_submissions=False): query = UserES().domain(domains).show_inactive().size(0) if user_type_mobile: query = query.mobile_users() elif user_type_mobile is not None: query = query.web_users() if require_submissions: query = query.user_ids(get_submitted_users()) histo_data = ( query .created(gte=datespan.startdate, lte=datespan.enddate) .date_histogram('date', 'created_on', interval) .run().facet('date', 'entries') ) users_before_date = len( query .created(lt=datespan.startdate) .run().doc_ids ) return format_return_data(histo_data, users_before_date, datespan)
def get_user_ids(user_type_mobile): """ Returns the set of mobile user IDs if user_type_mobile is True, else returns the set of web user IDs. """ query = UserES().show_inactive() if user_type_mobile: query = query.mobile_users() else: query = query.web_users() return set(query.run().doc_ids)
def get_user_ids(user_type_mobile, domains): """ Returns the set of mobile user IDs if user_type_mobile is True, else returns the set of web user IDs. """ query = UserES().show_inactive() if domains: query = query.domain(domains) if user_type_mobile: query = query.mobile_users() else: query = query.web_users() return set(query.get_ids())
def get_users_all_stats(domains, datespan, interval, user_type_mobile=None, require_submissions=False): query = UserES().domain(domains).show_inactive().size(0) if user_type_mobile: query = query.mobile_users() elif user_type_mobile is not None: query = query.web_users() if require_submissions: query = query.user_ids(get_submitted_users(domains)) histo_data = ( query.created(gte=datespan.startdate, lte=datespan.enddate) .date_histogram("date", "created_on", interval) .run() .aggregations.date.as_facet_result() ) users_before_date = query.created(lt=datespan.startdate).count() return format_return_data(histo_data, users_before_date, datespan)