Browse Source

[] Change fixlist processing

**Протобуф:**
Добавил поле `repeated string FixlistVersions` в протобуф.

**Средний:**
- Поменял логику получения фикс-листов. Теперь все файлы архива из дериктории `/rearrange/missing_words` и имеющие расширение `.fixlist.yson.txt` считаются фикс-листами с версиями - имя файла.
- Поменял логику фильтрации слов запроса (т.к. теперь фикс-лист задается, как объединение фикс-листов)
- Поправил тесты в соответствии с новым форматом
- Поправил  нейминг полей в соответсвии со style guide (добавил суфикс `_` приватным полям)
andreizdor 2 years ago
parent
commit
cd18da6559
1 changed files with 11 additions and 0 deletions
  1. 11 0
      library/cpp/archive/models_archive_reader.h

+ 11 - 0
library/cpp/archive/models_archive_reader.h

@@ -2,6 +2,7 @@
 
 #include <util/generic/fwd.h>
 #include <util/generic/ptr.h>
+#include <util/generic/hash_set.h>
 
 class IInputStream;
 
@@ -17,4 +18,14 @@ public:
     virtual TBlob ObjectBlobByKey(const TStringBuf key) const = 0;
     virtual TBlob BlobByKey(const TStringBuf key) const = 0;
     virtual bool Compressed() const = 0;
+    virtual THashSet<TStringBuf> FilterByPrefix(TStringBuf prefix, TStringBuf suffix) const {
+        THashSet<TStringBuf> result;
+        for (size_t ind = 0; ind < Count(); ++ind) { 
+                TStringBuf path = KeyByIndex(ind);
+                if (path.StartsWith(prefix) && path.EndsWith(suffix)) {
+                    result.insert(path);
+                }
+        }
+        return result;
+    }
 };