/**
  * Validate if all the files ready:
  * 1. Yes: add BulkUpload job
  * 2. No: set status to Waiting
  * @param DropFolder $folder
  * @param DropFolderFile $file
  */
 private function onXmlDropFolderFileStatusChangedToPending(DropFolder $folder, DropFolderFile $file)
 {
     KalturaLog::debug('in onXmlDropFolderFileStatusChangedToPending file id [' . $file->getId() . '] folder id [' . $folder->getId() . ']');
     $relatedFiles = array();
     try {
         $xmlFileHandler = kDropFolderXmlFileHandler::getHandlerInstance($folder->getType());
         $xmlFileHandler->handlePendingDropFolderFile($folder, $file);
     } catch (Exception $e) {
         KalturaLog::err("Error in  onXmlDropFolderFileStatusChangedToPending -" . $e->getMessage());
         if ($e->getCode() == DropFolderXmlBulkUploadPlugin::getErrorCodeCoreValue(DropFolderXmlBulkUploadErrorCode::ERROR_ADDING_BULK_UPLOAD)) {
             foreach ($relatedFiles as $relatedFile) {
                 $this->setFileError($relatedFile, DropFolderFileStatus::ERROR_HANDLING, $e->getCode(), $e->getMessage());
             }
         } else {
             $this->setFileError($file, DropFolderFileStatus::ERROR_HANDLING, $e->getCode(), $e->getMessage());
         }
     }
 }
Exemplo n.º 2
0
 private function setParsedSlugFlavor(DropFolder $folder, DropFolderFile $file)
 {
     $parsedSlug = null;
     $parsedFlavor = null;
     $parsedUserId = null;
     $isMatch = $this->parseRegex($folder->getFileHandlerConfig(), $file->getNameForParsing(), $parsedSlug, $parsedFlavor, $parsedUserId);
     if ($isMatch) {
         $file->setParsedSlug($parsedSlug);
         $file->setParsedFlavor($parsedFlavor);
         $file->setParsedUserId($parsedUserId);
         $file->save();
         return $file;
     } else {
         return null;
     }
 }
 protected function setFileToProcessing(DropFolderFile $leadDropFolderFile)
 {
     $leadDropFolderFile->setLeadDropFolderFileId($leadDropFolderFile->getId());
     $leadDropFolderFile->setStatus(DropFolderFileStatus::PROCESSING);
     $leadDropFolderFile->save();
 }
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      DropFolderFile $value A DropFolderFile object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(DropFolderFile $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }
Exemplo n.º 5
0
 public function setParsedSlug($v)
 {
     $v .= '_' . $this->getRecordingId();
     parent::setParsedSlug($v);
 }
 /**
  * Add bulk upload job
  * @param DropFolder $folder
  * @param DropFolderFile $leadDropFolderFile
  * @throws Exception
  */
 private function addXMLBulkUploadJob(DropFolder $folder, DropFolderFile $leadDropFolderFile)
 {
     KalturaLog::debug('Adding BulkUpload job');
     try {
         $coreBulkUploadType = DropFolderXmlBulkUploadPlugin::getBulkUploadTypeCoreValue(DropFolderXmlBulkUploadType::DROP_FOLDER_XML);
         $objectId = $leadDropFolderFile->getId();
         $objectType = DropFolderXmlBulkUploadPlugin::getBatchJobObjectTypeCoreValue(DropFolderBatchJobObjectType::DROP_FOLDER_FILE);
         $partner = PartnerPeer::retrieveByPK($folder->getPartnerId());
         $data = KalturaPluginManager::loadObject('kBulkUploadJobData', $coreBulkUploadType);
         $data->setUploadedBy(kDropFolderXmlEventsConsumer::UPLOADED_BY);
         $data->setFileName($leadDropFolderFile->getFileName());
         $objectData = new kBulkUploadEntryData();
         KalturaLog::debug('conversion profile id: ' . $folder->getConversionProfileId());
         $objectData->setConversionProfileId($folder->getConversionProfileId());
         $data->setObjectData($objectData);
         $job = kJobsManager::addBulkUploadJob($partner, $data, $coreBulkUploadType, $objectId, $objectType);
         return $job;
     } catch (Exception $e) {
         KalturaLog::err("Error adding BulkUpload job -" . $e->getMessage());
         throw new Exception(DropFolderXmlBulkUploadPlugin::ERROR_ADDING_BULK_UPLOAD_MESSAGE, DropFolderXmlBulkUploadPlugin::getErrorCodeCoreValue(DropFolderXmlBulkUploadErrorCode::ERROR_ADDING_BULK_UPLOAD));
     }
 }
 private function setFileError(DropFolderFile $file, $status, $errorCode, $errorDescription)
 {
     KalturaLog::err('Error with file [' . $file->getId() . '] -' . $errorDescription);
     $file->setStatus($status);
     $file->setErrorCode($errorCode);
     $file->setErrorDescription($errorDescription);
     $file->save();
 }
Exemplo n.º 8
0
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      DropFolderFile $value A DropFolderFile object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(DropFolderFile $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         if (isset(self::$instances[$key]) || count(self::$instances) < kConf::get('max_num_instances_in_pool')) {
             self::$instances[$key] = $obj;
             kMemoryManager::registerPeer('DropFolderFilePeer');
         }
     }
 }
 public function setData(DropFolder $folder, DropFolderFile $dropFolderFileForObject, $dropFolderFileIds)
 {
     $this->dropFolderId = $folder->getId();
     $this->setConversionProfileId($folder->getConversionProfileId());
     $this->setParsedSlug($dropFolderFileForObject->getParsedSlug());
     $this->setContentMatchPolicy($folder->getFileHandlerConfig()->getContentMatchPolicy());
     $this->setDropFolderFileIds($dropFolderFileIds);
     if ($dropFolderFileForObject->getParsedUserId()) {
         $this->setParsedUserId($dropFolderFileForObject->getParsedUserId());
     }
 }