public function importEventsFromSource(PhabricatorUser $viewer, PhabricatorCalendarImport $import, $should_queue)
 {
     $uri_key = PhabricatorCalendarImportICSURITransaction::PARAMKEY_URI;
     $uri = $import->getParameter($uri_key);
     PhabricatorSystemActionEngine::willTakeAction(array($viewer->getPHID()), new PhabricatorFilesOutboundRequestAction(), 1);
     $file = PhabricatorFile::newFromFileDownload($uri, array('viewPolicy' => PhabricatorPolicies::POLICY_NOONE, 'authorPHID' => $import->getAuthorPHID(), 'canCDN' => true));
     $import->newLogMessage(PhabricatorCalendarImportFetchLogType::LOGTYPE, array('file.phid' => $file->getPHID()));
     $data = $file->loadFileData();
     if ($should_queue && $this->shouldQueueDataImport($data)) {
         return $this->queueDataImport($import, $data);
     }
     return $this->importICSData($viewer, $import, $data);
 }
 public function importEventsFromSource(PhabricatorUser $viewer, PhabricatorCalendarImport $import, $should_queue)
 {
     $phid_key = PhabricatorCalendarImportICSFileTransaction::PARAMKEY_FILE;
     $file_phid = $import->getParameter($phid_key);
     $file = id(new PhabricatorFileQuery())->setViewer($viewer)->withPHIDs(array($file_phid))->executeOne();
     if (!$file) {
         throw new Exception(pht('Unable to load file ("%s") for import.', $file_phid));
     }
     $data = $file->loadFileData();
     if ($should_queue && $this->shouldQueueDataImport($data)) {
         return $this->queueDataImport($import, $data);
     }
     return $this->importICSData($viewer, $import, $data);
 }