Fixed aliases

implements bp member-directory

Change-Id: I1a2ee49276316c05a9fd064bb1ffa39c2f2e9606
This commit is contained in:
pkholkin
2014-05-13 13:45:11 +04:00
parent 2314a454df
commit c601822563
5 changed files with 94 additions and 92 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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()])