From 838b7e330c68cbffd4ef7415d007bdfc42783fdd Mon Sep 17 00:00:00 2001
From: Simon Will <will@cl.uni-heidelberg.de>
Date: Mon, 1 Oct 2018 00:40:18 +0200
Subject: [PATCH] Change meter choice algorithm

---
 allzweckmesser/meters.py | 2 ++
 allzweckmesser/scan.py   | 6 ++++--
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/allzweckmesser/meters.py b/allzweckmesser/meters.py
index 26785cd..926f931 100644
--- a/allzweckmesser/meters.py
+++ b/allzweckmesser/meters.py
@@ -133,6 +133,8 @@ ALL_METERS = {
     ),
 }
 
+ALL_METER_NAMES = list(ALL_METERS.keys())
+
 
 def get_reading_meter_combinations(readings, meters=ALL_METERS):
     reading_meter_rmfeatures = [
diff --git a/allzweckmesser/scan.py b/allzweckmesser/scan.py
index 845f8f4..7305793 100755
--- a/allzweckmesser/scan.py
+++ b/allzweckmesser/scan.py
@@ -8,13 +8,15 @@ from typing import List
 
 from .config import RANKING_MODEL_PATH
 from .features import combine_features
-from .meters import ALL_METERS, get_reading_meter_combinations
+from .meters import ALL_METERS, ALL_METER_NAMES, get_reading_meter_combinations
 from .model import Verse
 from .scanner import Scanner
 
 
-def scan(plain_verses: List[str], meters=ALL_METERS, **options) -> List[Verse]:
+def scan(plain_verses: List[str], meters=ALL_METER_NAMES,
+         **options) -> List[Verse]:
     """Scan Latin verses."""
+    meters = [ALL_METERS[m] for m in meters if m in ALL_METERS]
     scanner = Scanner()
     scanned_verses = scanner.scan_verses(plain_verses)
     model = joblib.load(RANKING_MODEL_PATH)
-- 
GitLab