From 70974c578414eb70ec53f799b7176d7232e3f3df Mon Sep 17 00:00:00 2001
From: Marc Foley <m.foley.88@gmail.com>
Date: Mon, 14 Jun 2021 10:07:08 +0100
Subject: [PATCH] make designer dirs ascii

---
 Lib/gftools/utils.py        | 5 +++++
 bin/gftools-add-designer.py | 5 ++++-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/Lib/gftools/utils.py b/Lib/gftools/utils.py
index 6a4ed06be..a29f06375 100644
--- a/Lib/gftools/utils.py
+++ b/Lib/gftools/utils.py
@@ -36,6 +36,7 @@
     from configparser import ConfigParser
 else:
     from ConfigParser import ConfigParser
+import unicodedata as uni
 
 # =====================================
 # HELPER FUNCTIONS
@@ -504,3 +505,7 @@ def read_proto(fp, schema):
         data = text_format.Parse(f.read(), schema)
     return data
 
+
+def strip_accents(string):
+    """Remove accents from a string e.g 'àce' --> 'ace'"""
+    return "".join([uni.normalize("NFD", x)[0] for x in string])
\ No newline at end of file
diff --git a/bin/gftools-add-designer.py b/bin/gftools-add-designer.py
index 6823029fd..60934a77a 100755
--- a/bin/gftools-add-designer.py
+++ b/bin/gftools-add-designer.py
@@ -34,6 +34,7 @@
 from gftools.designers_pb2 import DesignerInfoProto
 from google.protobuf import text_format
 from pandas.core.base import PandasObject
+from gftools.utils import strip_accents
 
 
 def process_image(fp):
@@ -96,7 +97,9 @@ def make_designer(
     bio=None,
     urls=None,
 ):
-    designer_dir_name = name.lower().replace(" ", "").replace("-", "")
+    designer_dir_name = strip_accents(
+        name.lower().replace(" ", "").replace("-", "")
+    )
     designer_dir = os.path.join(designer_directory, designer_dir_name)
     if not os.path.isdir(designer_dir):
         print(f"{name} isn't in catalog. Creating new dir {designer_dir}")