Ejemplo n.º 1
0
def test_viewer_demographics_5():
    report = rt.ViewerDemographics()
    assert report.name == "Viewer demographics"
    d = ["ageGroup", "gender"]
    f = {}
    m = ["viewerPercentage"]
    s = ["viewerPercentage"]
    report.validate(d, f, m, s)
Ejemplo n.º 2
0
def test_viewer_demographics_4():
    report = rt.ViewerDemographics()
    assert report.name == "Viewer demographics"
    d = ["ageGroup"]
    f = {"subContinent": "014"}
    m = ["viewerPercentage"]
    s = ["viewerPercentage"]
    report.validate(d, f, m, s)
Ejemplo n.º 3
0
def test_viewer_demographics_3():
    report = rt.ViewerDemographics()
    assert report.name == "Viewer demographics"
    d = ["gender"]
    f = {"continent": "002"}
    m = ["viewerPercentage"]
    s = ["viewerPercentage"]
    report.validate(d, f, m, s)
Ejemplo n.º 4
0
def test_viewer_demographics_1():
    report = rt.ViewerDemographics()
    assert report.name == "Viewer demographics"
    d = ["ageGroup", "liveOrOnDemand"]
    f = {"country": "US", "video": "fn849bng984b", "liveOrOnDemand": "LIVE"}
    m = ["viewerPercentage"]
    s = ["viewerPercentage"]
    report.validate(d, f, m, s)
Ejemplo n.º 5
0
def test_viewer_demographics_2():
    report = rt.ViewerDemographics()
    assert report.name == "Viewer demographics"
    d = ["ageGroup", "gender", "liveOrOnDemand", "subscribedStatus"]
    f = {
        "province": "US-OH",
        "group": "fn849bng984b",
        "liveOrOnDemand": "LIVE",
        "subscribedStatus": "SUBSCRIBED",
    }
    m = ["viewerPercentage"]
    s = ["viewerPercentage"]
    report.validate(d, f, m, s)
Ejemplo n.º 6
0
    def determine_report_type(self) -> ReportType:
        curated = self.filters.get("isCurated", "0") == "1"

        if "adType" in self.dimensions:
            return rt.AdPerformance()

        if "sharingService" in self.dimensions:
            return rt.EngagementAndContentSharing()

        if "elapsedVideoTimeRatio" in self.dimensions:
            return rt.AudienceRetention()

        if "playlist" in self.dimensions:
            return rt.TopPlaylists()

        if "insightPlaybackLocationType" in self.dimensions:
            if curated:
                return rt.PlaybackLocationPlaylist()
            return rt.PlaybackLocation()

        if "insightPlaybackLocationDetail" in self.dimensions:
            if curated:
                return rt.PlaybackLocationDetailPlaylist()
            return rt.PlaybackLocationDetail()

        if "insightTrafficSourceType" in self.dimensions:
            if curated:
                return rt.TrafficSourcePlaylist()
            return rt.TrafficSource()

        if "insightTrafficSourceDetail" in self.dimensions:
            if curated:
                return rt.TrafficSourceDetailPlaylist()
            return rt.TrafficSourceDetail()

        if "ageGroup" in self.dimensions or "gender" in self.dimensions:
            if curated:
                return rt.ViewerDemographicsPlaylist()
            return rt.ViewerDemographics()

        if "deviceType" in self.dimensions:
            if "operatingSystem" in self.dimensions:
                if curated:
                    return rt.DeviceTypeAndOperatingSystemPlaylist()
                return rt.DeviceTypeAndOperatingSystem()
            if curated:
                return rt.DeviceTypePlaylist()
            return rt.DeviceType()

        if "operatingSystem" in self.dimensions:
            if curated:
                return rt.OperatingSystemPlaylist()
            return rt.OperatingSystem()

        if "video" in self.dimensions:
            if "province" in self.filters:
                return rt.TopVideosUS()
            if "subscribedStatus" not in self.filters:
                return rt.TopVideosRegional()
            if "province" not in self.filters and "youtubeProduct" not in self.filters:
                return rt.TopVideosSubscribed()
            if "averageViewPercentage" in self.metrics:
                return rt.TopVideosYouTubeProduct()
            return rt.TopVideosPlaybackDetail()

        if "country" in self.dimensions:
            if "liveOrOnDemand" in self.dimensions or "liveOrOnDemand" in self.filters:
                return rt.PlaybackDetailsLiveGeographyBased()
            if curated:
                return rt.GeographyBasedActivityPlaylist()
            if ("subscribedStatus" in self.dimensions
                    or "subscribedStatus" in self.filters
                    or "youtubeProduct" in self.dimensions
                    or "youtubeProduct" in self.filters):
                return rt.PlaybackDetailsViewPercentageGeographyBased()
            return rt.GeographyBasedActivity()

        if "province" in self.dimensions:
            if "liveOrOnDemand" in self.dimensions or "liveOrOnDemand" in self.filters:
                return rt.PlaybackDetailsLiveGeographyBasedUS()
            if curated:
                return rt.GeographyBasedActivityUSPlaylist()
            if ("subscribedStatus" in self.dimensions
                    or "subscribedStatus" in self.filters
                    or "youtubeProduct" in self.dimensions
                    or "youtubeProduct" in self.filters):
                return rt.PlaybackDetailsViewPercentageGeographyBasedUS()
            return rt.GeographyBasedActivityUS()

        if "youtubeProduct" in self.dimensions or "youtubeProduct" in self.filters:
            if "liveOrOnDemand" in self.dimensions or "liveOrOnDemand" in self.filters:
                return rt.PlaybackDetailsLiveTimeBased()
            return rt.PlaybackDetailsViewPercentageTimeBased()

        if "liveOrOnDemand" in self.dimensions or "liveOrOnDemand" in self.filters:
            return rt.PlaybackDetailsLiveTimeBased()

        if "subscribedStatus" in self.dimensions:
            if "province" in self.filters:
                return rt.PlaybackDetailsSubscribedStatusUS()
            return rt.PlaybackDetailsSubscribedStatus()

        if "day" in self.dimensions or "month" in self.dimensions:
            if curated:
                return rt.TimeBasedActivityPlaylist()
            if "province" in self.filters:
                return rt.TimeBasedActivityUS()
            return rt.TimeBasedActivity()

        if curated:
            return rt.BasicUserActivityPlaylist()
        if "province" in self.filters:
            return rt.BasicUserActivityUS()
        return rt.BasicUserActivity()