diff --git a/import2ledger/hooks/add_entity.py b/import2ledger/hooks/add_entity.py index a4d6a855d8d030d033e1fba8bda590b37da28b17..000f9668422e2cf2e7e8713d724d56886906aa25 100644 --- a/import2ledger/hooks/add_entity.py +++ b/import2ledger/hooks/add_entity.py @@ -43,12 +43,16 @@ class AddEntityHook: def _str2entity(self, s, trim_re, name_shifts): parts = list(self._entity_parts(s, trim_re)) - if not parts: - return '' - for _ in range(name_shifts): - parts.insert(0, parts.pop()) - if parts[-1].lower() in self.NAME_PREFIXES: - parts.insert(0, parts.pop()) + if name_shifts > 0: + pivot = -name_shifts - 1 + try: + while parts[pivot].lower() in self.NAME_PREFIXES: + pivot -= 1 + except IndexError: + pass + else: + pivot += 1 + parts = parts[pivot:] + parts[:pivot] return '-'.join(parts) def _name2entity(self, name, name_shifts):