Esempio n. 1
0
 /**
  * @param String $env Name of the environment, f.i. 'development' or 'production'.
  */
 public function distribute($env, $assetList, $assetCount)
 {
     $this->_validateEnvironment($env);
     $ini = new Garp_Config_Ini(APPLICATION_PATH . '/configs/application.ini', $env);
     if ($ini->cdn->readonly) {
         throw new Garp_File_Exception(Garp_File::EXCEPTION_CDN_READONLY);
     }
     if (!$assetCount || $ini->cdn->type !== 's3') {
         return;
     }
     Garp_Cli::lineOut(ucfirst($env));
     $progressBar = Garp_Cli_Ui_ProgressBar::getInstance();
     $progressBar->init($assetCount);
     $firstFilename = basename($assetList[0]);
     $fileOrFiles = $this->_printFileOrFiles($assetCount);
     $progressBar->display("Processing {$firstFilename}. {$assetCount} {$fileOrFiles} left.");
     $s3 = new Garp_File_Storage_S3($ini->cdn, dirname(current($assetList)), true);
     foreach ($assetList as $i => $asset) {
         $s3->setPath(dirname($asset));
         $fileData = file_get_contents($this->_baseDir . $asset);
         $filename = basename($asset);
         if ($s3->store($filename, $fileData, true, false)) {
             $progressBar->advance();
             $fileOrFiles = $this->_printFileOrFiles($assetCount - $progressBar->getProgress());
             $progressBar->display("Processing {$filename}. %d {$fileOrFiles} left.");
         } else {
             $progressBar->displayError("Could not upload {$asset} to {$env}.");
         }
     }
     if ($progressBar->getProgress() === $assetCount) {
         $progressBar->display("√ Done");
     }
     echo "\n\n";
 }
Esempio n. 2
0
 public function testGetList()
 {
     if (!$this->_isS3Configured()) {
         $this->assertTrue(true, "S3 is not configured");
         return;
     }
     $cdnConfig = Zend_Registry::get('config')->cdn;
     //if (!($cdnConfig = $this->_findFirstS3Config())) {
     //return;
     //}
     $s3 = new Garp_File_Storage_S3($cdnConfig, $cdnConfig->path->upload->image);
     $list = $s3->getList();
     $this->assertTrue((bool) count($list));
 }