Commit 4352b6d3 authored by Dimitri Podborski's avatar Dimitri Podborski
Browse files

improve search by namespace a bit

parent 12eff491
...@@ -52,7 +52,7 @@ The CSV file must have a header row with the folowing entries: ...@@ -52,7 +52,7 @@ The CSV file must have a header row with the folowing entries:
- `Number` - MPEG document number e.g. m12345 - `Number` - MPEG document number e.g. m12345
- To determine which GitLab project needs to be used make sure that your CSV file has either: - To determine which GitLab project needs to be used make sure that your CSV file has either:
- `Project URL` - a full URL to your GitLab project - `Project URL` - a full URL to your GitLab project (**recommended**)
- or `Sub Group` and `Project Name` - two last elements of the Project URL. (non-case-sensitive) - or `Sub Group` and `Project Name` - two last elements of the Project URL. (non-case-sensitive)
e.g.: http://mpegx.int-evry.fr/software/MPEG/Systems/PCC-SYS/V-PCC → `Sub Group = PCC-SYS` and `Project Name = V-PCC`. e.g.: http://mpegx.int-evry.fr/software/MPEG/Systems/PCC-SYS/V-PCC → `Sub Group = PCC-SYS` and `Project Name = V-PCC`.
e.g.: http://mpegx.int-evry.fr/software/MPEG/Systems/FileFormat/isobmff → `Sub Group = FileFormat` and `Project Name = ISOBMFF` e.g.: http://mpegx.int-evry.fr/software/MPEG/Systems/FileFormat/isobmff → `Sub Group = FileFormat` and `Project Name = ISOBMFF`
......
...@@ -157,7 +157,7 @@ def find_document(documents, document_number): ...@@ -157,7 +157,7 @@ def find_document(documents, document_number):
return doc return doc
return None return None
def find_project(projects, url_or_path): def find_project(projects, url_or_path, path_root = 'MPEG/'):
''' '''
Search for gitlab project based on URL or path_with_namespace. Search for gitlab project based on URL or path_with_namespace.
''' '''
...@@ -167,7 +167,8 @@ def find_project(projects, url_or_path): ...@@ -167,7 +167,8 @@ def find_project(projects, url_or_path):
for project in projects: for project in projects:
if striped_url_or_path == project['url']: if striped_url_or_path == project['url']:
return project return project
if striped_url_or_path.lower() in project['path_with_namespace'].lower(): path_ns = project['path_with_namespace'].lower()
if striped_url_or_path.lower() in path_ns and path_ns.startswith(path_root.lower()):
return project return project
return None return None
......
...@@ -61,7 +61,7 @@ def print_infos(docs, project_url_or_path, gitlab_projects, input_docs): ...@@ -61,7 +61,7 @@ def print_infos(docs, project_url_or_path, gitlab_projects, input_docs):
print(' Last version: version', last_doc['version'], 'from', last_doc['timestamp']) print(' Last version: version', last_doc['version'], 'from', last_doc['timestamp'])
if project_url_or_path: if project_url_or_path:
print('GitLab metadata') print('GitLab metadata')
project = helpers.find_project(gitlab_projects, project_url_or_path) project = helpers.find_project(gitlab_projects, project_url_or_path, 'MPEG/Systems')
if not project: if not project:
print(' Could not find a GitLab project with', project_url_or_path) print(' Could not find a GitLab project with', project_url_or_path)
else: else:
...@@ -234,7 +234,7 @@ def parse_csv(csv_file, projects, docs): ...@@ -234,7 +234,7 @@ def parse_csv(csv_file, projects, docs):
if project_url_or_path is None and subgroup_idx is not None and project_name_idx is not None: if project_url_or_path is None and subgroup_idx is not None and project_name_idx is not None:
if len(row[subgroup_idx]) > 0 and len(row[project_name_idx]) > 0: if len(row[subgroup_idx]) > 0 and len(row[project_name_idx]) > 0:
project_url_or_path = row[subgroup_idx] + '/' + row[project_name_idx] project_url_or_path = row[subgroup_idx] + '/' + row[project_name_idx]
project = helpers.find_project(projects, project_url_or_path) project = helpers.find_project(projects, project_url_or_path, 'MPEG/Systems')
doc = helpers.find_document(docs, row[doc_number_idx]) doc = helpers.find_document(docs, row[doc_number_idx])
if not project: if not project:
print('WARNING: No project on GitLab for:', row) print('WARNING: No project on GitLab for:', row)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment