/**
 * @param VideoFeedIngester $feedIngester
 * @param string $provider
 * @return string
 */
function getContentIngestedVideosByCategory($feedIngester, $provider)
{
    $content = "\n\nProvider: " . strtoupper($provider) . "\n";
    foreach ($feedIngester->getResultIngestedVideos() as $category => $msgs) {
        $content .= "\nCategory: {$category}\n";
        if (!empty($msgs)) {
            $content .= implode('', $msgs);
            $content .= "\n";
        }
    }
    return $content;
}
/**
 * Map metadata
 * @global array $languageNames
 * @global array $countryNames
 * @global array $categories
 * @global boolean $iva
 * @param VideoFeedIngester $ingester
 * @param array $data
 * @return array $data
 */
function mapMetadata($ingester, $data)
{
    global $languageNames, $countryNames, $categories, $iva;
    // default page categories
    if (empty($data['pagecategories'])) {
        $pageCategories = array();
    } else {
        $pageCategories = array_map('trim', explode(',', $data['pagecategories']));
        $pageCategories = $ingester->getUniqueArray($pageCategories);
    }
    // get name
    $keywords = array();
    if (empty($data['name']) && !empty($data['keywords'])) {
        foreach (explode(',', $data['keywords']) as $keyword) {
            $keyword = getStdName($keyword);
            if (empty($keyword) || strtolower($keyword) == 'the') {
                continue;
            }
            $keywords[] = $keyword;
            // remove page categories from keywords (for ooyala, iva)
            if (!empty($data['series'])) {
                $categories[] = $data['series'];
            }
            if (!empty($data['provider'])) {
                $categories[] = $data['provider'];
            }
            foreach ($categories as $category) {
                if (strcasecmp($keyword, $category) == 0) {
                    array_pop($keywords);
                    if (!in_array($category, $pageCategories)) {
                        $pageCategories[] = $category;
                    }
                    break;
                }
            }
        }
        // use series if keywords is empty
        if (empty($keywords) && !empty($data['series'])) {
            $keywords[] = $data['series'];
        }
        if (!empty($keywords) && count($keywords) < 5) {
            $data['name'] = implode(', ', $keywords);
            $keywords = array();
        }
    }
    // get keywords
    if (!empty($data['tags'])) {
        $tags = array();
        foreach (explode(',', $data['tags']) as $tag) {
            $tags[] = getStdName($tag);
        }
        $keywords = array_merge($keywords, $tags);
        $data['tags'] = null;
    }
    if (!empty($keywords)) {
        $keywords = $ingester->getUniqueArray($keywords);
        $data['keywords'] = implode(', ', $keywords);
    } else {
        $data['keywords'] = null;
    }
    // get page categories
    if (!empty($pageCategories)) {
        $data['pagecategories'] = implode(', ', $ingester->getUniqueArray($pageCategories));
    }
    // get rating
    if (!empty($data['trailerrating'])) {
        $data['industryrating'] = $data['trailerrating'];
        $data['trailerrating'] = null;
    }
    // get age_required
    if (empty($data['age_required']) && !empty($data['agegate']) && is_numeric($data['agegate'])) {
        if ($data['agegate'] > 1) {
            $data['age_required'] = $data['agegate'];
        } else {
            if (!empty($data['industryrating'])) {
                $data['age_required'] = $ingester->getAgeRequired($data['industryrating']);
            } else {
                $data['age_required'] = 18;
                // default value for age required
            }
        }
    }
    if (array_key_exists('age_required', $data) && $data['age_required'] < 1) {
        $data['age_required'] = null;
    }
    // get age gate
    if (!empty($data['age_required'])) {
        $data['agegate'] = 1;
    } else {
        if (array_key_exists('agegate', $data)) {
            $data['agegate'] = null;
        }
    }
    // get hd
    if (!empty($data['hd']) && (strtolower($data['hd']) == 'yes' || $data['hd'] == 1)) {
        $data['hd'] = 1;
    } else {
        if (array_key_exists('hd', $data)) {
            $data['hd'] = null;
        }
    }
    // get language
    if (!empty($data['lang']) && !empty($languageNames) && array_key_exists($data['lang'], $languageNames)) {
        $data['lang'] = $languageNames[$data['lang']];
    }
    // get subtitle
    if (!empty($data['subtitle']) && !empty($languageNames) && array_key_exists($data['subtitle'], $languageNames)) {
        $data['subtitle'] = $languageNames[$data['subtitle']];
    }
    // get country code
    if (!empty($data['targetcountry']) && !empty($countryNames) && array_key_exists($data['targetcountry'], $countryNames)) {
        $data['targetcountry'] = $countryNames[$data['targetcountry']];
    }
    // get category and type
    $data['category'] = $ingester->getCategory($data['category']);
    if (!empty($data['category']) && empty($data['type'])) {
        $data['type'] = $ingester->getType($data['category']);
    }
    if (empty($data['pagecategories'])) {
        $data['pagecategories'] = '';
    } else {
        $meta = $data;
        $meta['language'] = $meta['lang'];
        $pageCat = array_map('trim', explode(',', $data['pagecategories']));
        $pageCat = $ingester->generateCategories($meta, $pageCat);
        $data['pagecategories'] = implode(', ', $pageCat);
    }
    return $data;
}
Example #3
0
/**
 * generate metadata for screenplay
 * @param VideoFeedIngester $ingester
 * @param array $data
 * @param string $errorMsg
 * @return array $metadata
 */
function generateMetadataScreenplay($ingester, $data, &$errorMsg)
{
    if (!empty($data['stdBitrateCode'])) {
        return $ingester->generateMetadata($data, $errorMsg);
    }
    // set fake value
    $data['stdBitrateCode'] = 1;
    $metadata = $ingester->generateMetadata($data, $errorMsg);
    // remove fake value
    $metadata['stdBitrateCode'] = '';
    return $metadata;
}
if (empty($provider)) {
	$providersVideoFeed = VideoFeedIngester::$PROVIDERS_DEFAULT;
}
elseif (array_search($provider, VideoFeedIngester::$PROVIDERS) !== false) {
	$providersVideoFeed = array( $provider );
}
else {
	die("unknown provider $provider. aborting.\n");
}

// BEGIN MAIN

foreach ($providersVideoFeed as $provider) {
	print("Starting import for provider $provider...\n");

	$feedIngester = VideoFeedIngester::getInstance($provider); /* @var $feedIngester VideoFeedIngester */
	$feedIngester->reupload = $reupload;

	// get WikiFactory data
	$ingestionData = $feedIngester->getWikiIngestionData();
	if (empty($ingestionData)) {
		die("No ingestion data found in wikicities. Aborting.");
	}


	// open file
	$file = '';
	$startDate = $endDate = '';
	switch ($provider) {
		case VideoFeedIngester::PROVIDER_SCREENPLAY:
			$startDate = date('m/d/y', $startDateTS);
 /**
  * generate metadata
  * @return array
  */
 public function generateMetadata()
 {
     $metadata = parent::generateMetadata();
     $metadata['videoUrl'] = $this->getVideoData('videoUrl');
     return $metadata;
 }
$update = isset($options['update']) ? $options['update'] : '';
$from = isset($options['from']) ? $options['from'] : '';
$to = isset($options['to']) ? $options['to'] : '';
$limit = empty($options['limit']) ? 50000 : $options['limit'];
$isList = isset($options['list']);
$videoWiki = isset($options['videoWiki']);
$update1716 = isset($options['update1716']);
$assetUrl = isset($options['assetUrls']);
if (!is_numeric($ageRequired)) {
    die("Invalid age.\n");
}
if (!empty($update) && (!isset($options['from']) || !isset($options['to']))) {
    die("--from and --to options are required.\n");
}
if (!empty($assetUrl)) {
    $ingester = VideoFeedIngester::getInstance('iva');
}
$apiPageSize = 100;
if (!empty($limit) && $limit < $apiPageSize) {
    $apiPageSize = $limit;
}
$nextPage = '';
$page = 1;
$total = 0;
$failed = 0;
$skipped = 0;
$failedWiki = 0;
$skippedWiki = 0;
// set condition to get age gated videos
if (!empty($ageRequired)) {
    $extra[] = "labels INCLUDES 'Age gated'";
 /**
  * generate metadata
  * @return array
  */
 public function generateMetadata()
 {
     $metadata = parent::generateMetadata();
     $metadata['startDate'] = $this->getVideoData('startData');
     $metadata['source'] = $this->getVideoData('source');
     $metadata['sourceId'] = $this->getVideoData('sourceId');
     $metadata['distributor'] = $this->getVideoData('distributor');
     $metadata['pageCategories'] = $this->getVideoData('pageCategories');
     return $metadata;
 }