Skip to content

Commit

Permalink
webapp: show project repository link (#1787)
Browse files Browse the repository at this point in the history
Signed-off-by: David Korczynski <david@adalogics.com>
  • Loading branch information
DavidKorczynski authored Oct 19, 2024
1 parent 40ba3c4 commit b93caf0
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 3 deletions.
4 changes: 3 additions & 1 deletion tools/web-fuzzing-introspection/app/webapp/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,9 @@ def load_db() -> None:
fuzzer_count=project_timestamp['fuzzer-count'],
introspector_url=project_timestamp.get('introspector_url',
None),
project_url=project_timestamp.get('project_url', None)))
project_url=project_timestamp.get('project_url', None),
project_repository=project_timestamp.get(
'project_repository', None)))
# If we're caching, then remove the timestamp file.
if 'G_ANALYTICS_TAG' in os.environ:
os.remove(project_timestamps_file)
Expand Down
4 changes: 3 additions & 1 deletion tools/web-fuzzing-introspection/app/webapp/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,8 @@ def __init__(self,
introspector_data: Optional[Dict[str, Any]],
fuzzer_count: int,
introspector_url: Optional[str] = None,
project_url: Optional[str] = None):
project_url: Optional[str] = None,
project_repository: Optional[str] = None):
self.project_name = project_name
# date in the format Y-m-d
self.date = date
Expand All @@ -91,6 +92,7 @@ def __init__(self,
self.fuzzer_count = fuzzer_count
self.introspector_url = introspector_url
self.project_url = project_url
self.project_repository = project_repository

def has_introspector(self) -> bool:
return self.introspector_data != None
Expand Down
10 changes: 9 additions & 1 deletion tools/web-fuzzing-introspection/app/webapp/routes.py
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,7 @@ def project_profile():
latest_fuzz_introspector_report = None
latest_introspector_datestr = ""
project_url = ''
project_repo = ''
for ps in project_statistics:
if ps.project_name == project.name:
real_stats.append(ps)
Expand All @@ -429,6 +430,8 @@ def project_profile():
latest_introspector_datestr = datestr
if ps.project_url:
project_url = ps.project_url
if ps.project_repository:
project_repo = ps.project_repository
if not project_url:
project_url = f'https://github.com/google/oss-fuzz/tree/master/projects/{project.name}'

Expand Down Expand Up @@ -470,7 +473,8 @@ def project_profile():
project_url=project_url,
page_main_url=page_texts.get_page_main_url(),
page_main_name=page_texts.get_page_name(),
base_cov_url=page_texts.get_default_coverage_base())
base_cov_url=page_texts.get_default_coverage_base(),
project_repo=project_repo)

# Either this is a wrong project or we only have a build status for it
all_build_status = data_storage.get_build_status()
Expand All @@ -493,6 +497,7 @@ def project_profile():
latest_coverage_report = None
latest_fuzz_introspector_report = None
latest_introspector_datestr = ""
project_repo = ''
for ps in project_statistics:
if ps.project_name == project.name:
real_stats.append(ps)
Expand All @@ -508,6 +513,8 @@ def project_profile():
latest_fuzz_introspector_report = get_introspector_url(
project.name, datestr)
latest_introspector_datestr = datestr
if ps.project_repository:
project_repo = ps.project_repository

if datestr and len(real_stats) > 0:
latest_coverage_report = get_coverage_report_url(
Expand All @@ -529,6 +536,7 @@ def project_profile():
project_url=project_url,
latest_statistics=latest_statistics,
latest_introspector_datestr=latest_introspector_datestr,
project_repo=project_repo,
page_main_name=page_texts.get_page_name(),
page_main_url=page_texts.get_page_main_url(),
page_base_title=page_texts.get_page_base_title(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,12 @@ <h2>Project: <a href="{{project_url}}"> {{ project.name }}</a></h2>
<td>{{page_main_name}} project</td>
<td><a href="{{project_url}}">link</a></td>
</tr>
{% if project_repo %}
<tr>
<td>Project repository</td>
<td><a href="{{project_repo}}">link</a></td>
</tr>
{% endif %}
<tr>
<td>Build status: Fuzzers</td>
<td>
Expand Down

0 comments on commit b93caf0

Please sign in to comment.