Exemplo n.º 1
0
        private static void UpdateMetada(string[] files, string keywordsFile, IProgress <UpdateMetadataProgressEntry> progressReport)
        {
            if (files == null || keywordsFile == null)
            {
                return;
            }

            Dictionary <string, InputMetataDataRecord> inputMetataDataRecords = InputMetataDataReader.Read(keywordsFile)
                                                                                .ToDictionary(r => r.FileName, r => r);

            for (int i = 0; i < files.Length; i++)
            {
                string f    = files[i];
                string name = Path.GetFileNameWithoutExtension(f);

                ImageMetadataUpdateResult updateResult = new ImageMetadataUpdateResult {
                    Success = true
                };
                if (inputMetataDataRecords.ContainsKey(name))
                {
                    InputMetataDataRecord inputMetataDataRecord = inputMetataDataRecords[name];
                    updateResult = ImageMetadataUpdater.Update(f,
                                                               inputMetataDataRecord.Title,
                                                               inputMetataDataRecord.Keywords);
                }

                UpdateMetadataProgressEntry progressEntry = new UpdateMetadataProgressEntry
                {
                    FileIndex    = i,
                    File         = f,
                    UpdateResult = updateResult
                };
                progressReport.Report(progressEntry);
            }
        }
Exemplo n.º 2
0
        public void LogUpdateMetadataProgressEntry(UpdateMetadataProgressEntry v)
        {
            string fileName = Path.GetFileName(v.File);

            if (v.UpdateResult.Success)
            {
                LogInfo($"{fileName}: OK");
            }
            else
            {
                LogError($"{fileName}: {v.UpdateResult.Error}");
            }
        }