Fixed aliases
implements bp member-directory Change-Id: I1a2ee49276316c05a9fd064bb1ffa39c2f2e9606
This commit is contained in:
@@ -124,7 +124,11 @@ def _store_companies(runtime_storage_inst, companies):
|
||||
|
||||
if 'aliases' in company:
|
||||
for alias in company['aliases']:
|
||||
domains_index[alias] = company['company_name']
|
||||
normalized_alias = utils.normalize_company_name(alias)
|
||||
domains_index[normalized_alias] = company['company_name']
|
||||
normalized_company_name = utils.normalize_company_name(
|
||||
company['company_name'])
|
||||
domains_index[normalized_company_name] = company['company_name']
|
||||
|
||||
runtime_storage_inst.set_by_key('companies', domains_index)
|
||||
|
||||
@@ -175,7 +179,7 @@ def _get_changed_member_records(runtime_storage_inst, record_processor_inst):
|
||||
if record['record_type'] == 'member' and 'company_name' in record:
|
||||
company_draft = record['company_draft']
|
||||
company_name = record_processor_inst.domains_index.get(
|
||||
company_draft) or company_draft
|
||||
utils.normalize_company_name(company_draft)) or company_draft
|
||||
|
||||
if company_name != record['company_name']:
|
||||
record['company_name'] = company_name
|
||||
|
@@ -430,7 +430,8 @@ class RecordProcessor(object):
|
||||
record['module'] = 'unknown'
|
||||
company_draft = record['company_draft']
|
||||
|
||||
company_name = self.domains_index.get(company_draft) or company_draft
|
||||
company_name = self.domains_index.get(utils.normalize_company_name(
|
||||
company_draft)) or company_draft
|
||||
|
||||
# author_email is a key to create new user
|
||||
record['author_email'] = user_id
|
||||
|
@@ -189,3 +189,16 @@ def make_module_group(module_group_id, name=None, modules=None, tag='module'):
|
||||
'module_group_name': name or module_group_id,
|
||||
'modules': modules or [module_group_id],
|
||||
'tag': tag}
|
||||
|
||||
BAD_NAME_SUFFIXES = ['Ltd', 'Pvt', 'Inc', 'GmbH', 'AG', 'Corporation', 'Corp',
|
||||
'Company', 'Co', 'Group', 'Srl', 'Limited', 'LLC', 'IT']
|
||||
|
||||
BAD_NAME_SUFFIXES_WITH_STOPS = ['S.p.A.', 's.r.o.', 'L.P.', 'B.V.', 'K.K.',
|
||||
'd.o.o.']
|
||||
|
||||
|
||||
def normalize_company_name(name):
|
||||
regex = '(\\b(' + '|'.join(BAD_NAME_SUFFIXES) + ')\\b)'
|
||||
regex += '|' + '((^|\\s)(' + '|'.join(BAD_NAME_SUFFIXES_WITH_STOPS) + '))'
|
||||
name = re.sub(re.compile(regex, re.IGNORECASE), '', name)
|
||||
return ''.join([c.lower() for c in name if c.isalnum()])
|
||||
|
Reference in New Issue
Block a user