int main (int /*argc*/, char */*argv*/ [])
{
    // we should init capd logger to debug ConfigFileReader 
    // INIT_CAPD_LOGGER;
     
    // We construct ini reader   
    capd::auxil::ConfigFileReader reader;
    
    // We preapare stream of data (a file, memory etc) and parse it using reader
    std::istringstream file(fileContents);
    file >> reader;

    std::string command;
    reader.getValue("command", command);

    std::string sourceDir, destinationDir;
    reader.getValue("source.directory", sourceDir);
    reader.getValue("destination.directory", destinationDir);

    int numberOfFiles = reader.get<int>("source.size", 10);      // or
                                                                 //reader.getValue("source.size",numberOfFiles); 
    reader.getValue("source.number of files", numberOfFiles);    // it will not change the value because this key does not exist

    std::vector<std::string>  fileNames(numberOfFiles);          
    reader.getValues("source.files", fileNames.begin(), fileNames.end());

    std::cout << command << " from '" << sourceDir << "' to '" << destinationDir << "'\n files :";
    for(int i=0; i<numberOfFiles; ++i)
      std::cout << "\n - " << fileNames[i];
    std::cout << "\n--\n";
	return 0;
} /* main */
Exemple #2
0
    void HeatMapSaver::saveHeatMaps(const std::vector<Array<float>>& heatMaps, const std::string& fileName) const
    {
        try
        {
            // Record cv::mat
            if (!heatMaps.empty())
            {
                // File path (no extension)
                const auto fileNameNoExtension = getNextFileName(fileName) + "_heatmaps";

                // Get names for each heatMap
                std::vector<std::string> fileNames(heatMaps.size());
                for (auto i = 0; i < fileNames.size(); i++)
                    fileNames[i] = {fileNameNoExtension + (i != 0 ? "_" + std::to_string(i) : "") + "." + mImageFormat};

                // heatMaps -> cvOutputDatas
                std::vector<cv::Mat> cvOutputDatas(heatMaps.size());
                for (auto i = 0; i < cvOutputDatas.size(); i++)
                    unrollArrayToUCharCvMat(cvOutputDatas[i], heatMaps[i]);

                // Save each heatMap
                for (auto i = 0; i < cvOutputDatas.size(); i++)
                    saveImage(cvOutputDatas[i], fileNames[i]);
            }
        }
        catch (const std::exception& e)
        {
            error(e.what(), __LINE__, __FUNCTION__, __FILE__);
        }
    }
Exemple #3
0
QList<HistoryItem> HistoryEngine::loadHistoryMessage(const TreeModelItem &item, int n, const QDateTime &date_last)
{
  int num=0;
  QVector<HistoryItem> vector(n);
  QDir dir = accountDir(item);
  QStringList files = fileNames(item);
  if (files.size()<1)
    return QList<HistoryItem>();
  for (int month=files.size()==1?1:2;month>0;month--)
  {
    QFile file(dir.filePath(files[files.size()-month]));
    if (file.open(QIODevice::ReadOnly))
    {
      QDataStream in(&file);
      HistoryItem history;
      while (!file.atEnd())
      {
        in >> history.m_time >> history.m_type >> history.m_in >> history.m_message;
        if (history.m_time < date_last)
        {
          vector[num%n] = history;
          num++;
        }
      }
    }
  }
void runDiffractiveTTreeAnalysis(){
   gROOT->ProcessLine(".L diffractiveTTreeAnalysis.C+");

   //run_range_t runRange = Data900GeV;
   //run_range_t runRange = Data2360GeV;
   //run_range_t runRange = Data7TeV;
   run_range_t runRange = Data8TeV;

   std::vector<std::string> fileNames(0);
   //setFileNamesMinimumBias(fileNames);
   //setFileNamesMinimumBiasRun132605(fileNames);
   //setFileNamesMinimumBiasRun135528(fileNames);
   //setFileNamesZeroBiasRun135528(fileNames);
   setFileNamesMinimumBiasVeryLowPU2012(fileNames);
 
   std::string outDir = "root/8TeV/Data/VeryLowPU2012/diffractiveAnalysis-v3";
   bool verbose = false;

   std::vector<std::string> selections;
   /*selections.push_back("eventSelectionBPTX");
   selections.push_back("eventSelectionL1Tech4");
   selections.push_back("eventSelectionL1Tech4BeamHaloVeto");
   selections.push_back("eventSelectionL1Tech4BscOr");
   selections.push_back("eventSelectionL1Tech4HLTBscMinBiasOR");*/
   /*selections.push_back("eventSelectionBscMinBiasOR");
   selections.push_back("eventSelectionBscMinBiasOREtaMaxFilter");
   selections.push_back("eventSelectionBscMinBiasOREtaMinFilter");
   selections.push_back("eventSelectionBscMinBiasOREtaMinFilterCastorVeto");
   selections.push_back("eventSelectionBscMinBiasOREtaMinFilterCastorTag");*/
   /*selections.push_back("eventSelectionMinBias");
   selections.push_back("eventSelectionMinBiasEtaMaxFilter");
   selections.push_back("eventSelectionMinBiasEtaMinFilter");*/
   selections.push_back("eventSelectionMinBiasNoVertex");
   selections.push_back("eventSelectionMinBiasEtaMaxFilterNoVertex");
   selections.push_back("eventSelectionMinBiasEtaMinFilterNoVertex");

   for(size_t k = 0; k < selections.size(); ++k){
      //std::string treeName = "minimumBiasTTreeAnalysis_" + selections[k] + "/data";
      std::string treeName = "diffractiveAnalysisTTree_" + selections[k] + "/ProcessedTree";
      std::string histosFileName = outDir + "/";
      histosFileName += getHistosFileName(runRange,selections[k]);
 
      TChain* chain = new TChain(treeName.c_str()); 
      for(size_t ifile = 0; ifile < fileNames.size(); ++ifile) chain->Add(fileNames[ifile].c_str());

      //minimumBiasTTreeAnalysis(fileName,treeName,histosFileName,false,false,-1,-1,-1,verbose);
      //minimumBiasTTreeAnalysis(chain,histosFileName,false,false,-1,-1,-1,verbose);
      diffractiveTTreeAnalysis(chain,histosFileName,false,false,-1,-1,-1,verbose);

      //std::cout << fileName << "  " << treeName << "  " << histosFileName << std::endl;
   }
}
bool FileTransferRequestHandler::getDirectorySize(const TCHAR *pathname, UINT64 *dirSize)
{
  UINT64 currentDirSize = 0;
  UINT32 filesCount = 0;
  UINT32 dataSize = 0;

  File folder(pathname);

  //
  // Get files count
  //

  if (!folder.list(NULL, &filesCount)) {
    return false;
  }

  if (filesCount != 0) {
    std::vector<StringStorage> fileNames(filesCount);

    //
    // Get file names
    //

    folder.list(&fileNames.front(), NULL);

    for (UINT32 i = 0; i < filesCount; i++) {
      File subfile(pathname, fileNames[i].getString());
      if (subfile.isDirectory()) {

        UINT64 subDirSize = 0;
        StringStorage subDirPath;

        subfile.getPath(&subDirPath);

        if (getDirectorySize(subDirPath.getString(), &subDirSize)) {
          currentDirSize += subDirSize;
        }  // if it got sub directory size
      } else {
        currentDirSize += subfile.length();
      } // if subfile is normal file
    } // for every subfile in file list
  }
  *dirSize = currentDirSize;

  return true;
}
Exemple #6
0
// see bsa.h
bool BSA::open()
{
	QMutexLocker lock( & bsaMutex );
	
	try
	{
		if ( ! bsa.open( QIODevice::ReadOnly ) )
			throw QString( "file open" );
		
		quint32 magic, version;
		
		bsa.read( (char*) &magic, sizeof( magic ) );
		
		if ( magic == OB_BSAHEADER_FILEID )
		{
			bsa.read( (char*) &version, sizeof( version ) );
			
			if ( version != OB_BSAHEADER_VERSION && version != F3_BSAHEADER_VERSION )
				throw QString( "file version" );
			
			OBBSAHeader header;
			
			if ( bsa.read( (char *) & header, sizeof( header ) ) != sizeof( header ) )
				throw QString( "header size" );
			
			//qWarning() << bsaName << header;
			
			if ( ( header.ArchiveFlags & OB_BSAARCHIVE_PATHNAMES ) == 0 || ( header.ArchiveFlags & OB_BSAARCHIVE_FILENAMES ) == 0 )
				throw QString( "header flags" );
			
			compressToggle = header.ArchiveFlags & OB_BSAARCHIVE_COMPRESSFILES;
			
			if (version == F3_BSAHEADER_VERSION) {
				namePrefix = header.ArchiveFlags & F3_BSAARCHIVE_PREFIXFULLFILENAMES;
			} else {
				namePrefix = false;
			}
			
			if ( ! bsa.seek( header.FolderRecordOffset + header.FolderNameLength + header.FolderCount * ( 1 + sizeof( OBBSAFolderInfo ) ) + header.FileCount * sizeof( OBBSAFileInfo ) ) )
				throw QString( "file name seek" );
			
			QByteArray fileNames( header.FileNameLength, char(0) );
			if ( bsa.read( fileNames.data(), header.FileNameLength ) != header.FileNameLength )
				throw QString( "file name read" );
			quint32 fileNameIndex = 0;
			
			// qDebug() << file.pos() - header.FileNameLength << fileNames;
			
			if ( ! bsa.seek( header.FolderRecordOffset ) )
				throw QString( "folder info seek" );
			
			QVector<OBBSAFolderInfo> folderInfos( header.FolderCount );
			if ( bsa.read( (char *) folderInfos.data(), header.FolderCount * sizeof( OBBSAFolderInfo ) ) != header.FolderCount * sizeof( OBBSAFolderInfo ) )
				throw QString( "folder info read" );
			
			quint32 totalFileCount = 0;
			
			foreach ( OBBSAFolderInfo folderInfo, folderInfos )
			{
				// useless?
				/*
				qDebug() << __LINE__ << "position" << bsa.pos() << "offset" << folderInfo.offset;
				if ( folderInfo.offset < header.FileNameLength || ! bsa.seek( folderInfo.offset - header.FileNameLength ) )
					throw QString( "folder content seek" );
				*/
				
				
				QString folderName;
				if ( ! BSAReadSizedString( bsa, folderName ) || folderName.isEmpty() )
				{
					//qDebug() << "folderName" << folderName;
					throw QString( "folder name read" );
				}
				
				// qDebug() << folderName;
				
				BSAFolder * folder = insertFolder( folderName );
				
				quint32 fcnt = folderInfo.fileCount;
				totalFileCount += fcnt;
				QVector<OBBSAFileInfo> fileInfos( fcnt );
				if ( bsa.read( (char *) fileInfos.data(), fcnt * sizeof( OBBSAFileInfo ) ) != fcnt * sizeof( OBBSAFileInfo ) )
					throw QString( "file info read" );
				
				foreach ( OBBSAFileInfo fileInfo, fileInfos )
				{
					if ( fileNameIndex >= header.FileNameLength )
						throw QString( "file name size" );
					
					QString fileName = ( fileNames.data() + fileNameIndex );
					fileNameIndex += fileName.length() + 1;
					
					insertFile( folder, fileName, fileInfo.sizeFlags, fileInfo.offset );
				}
			}
			
			if ( totalFileCount != header.FileCount )
				throw QString( "file count" );
		}