From 397114cdb702b4e5e147aa14ce27f1a0b1ca6603 Mon Sep 17 00:00:00 2001 From: Christophe Vandeplas Date: Sun, 6 Feb 2022 18:39:16 +0100 Subject: [PATCH] fix: [tool] update gen_website_communities script --- tools/gen_website_communities.py | 22 ++++++++++++---------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/tools/gen_website_communities.py b/tools/gen_website_communities.py index 8ccd09e69..cd9808409 100755 --- a/tools/gen_website_communities.py +++ b/tools/gen_website_communities.py @@ -19,6 +19,9 @@ permalink: /communities/ toc: true --- + + + MISP is an open source software and it is also a large community of MISP users creating, maintaining and operating communities of users or organizations sharing information about threats or cyber security indicators worldwide. The MISP project doesn't maintain an exhaustive list of all communities relying on MISP especially that some communities use MISP internally or privately. ## Known Existing and Public MISP Communities @@ -47,9 +50,9 @@ MISP URL location is [https://www.circl.lu/doc/misp/feed-osint](https://www.circ ### Botvrij.eu OSINT feed -[Botvrij.eu](http://www.botvrij.eu/) provides a MISP OSINT feed out of public report. +[Botvrij.eu](https://www.botvrij.eu/) provides a MISP OSINT feed out of public report. -MISP URL location is [http://www.botvrij.eu/data/feed-osint](http://www.botvrij.eu/data/feed-osint). +MISP URL location is [https://www.botvrij.eu/data/feed-osint](https://www.botvrij.eu/data/feed-osint). ''' @@ -60,17 +63,18 @@ with open(code_communities_filename, 'r') as f_in: entries = json.load(f_in) + with open(website_communities_filename, 'w') as f_out: f_out.write(communities_header) - for entry in entries: + for entry in sorted(entries, key=lambda kv: kv['name']): f_out.write(f'### {entry["name"]}') f_out.write(vetted_image if entry.get('misp_project_vetted') else '\n') if entry.get('logo'): f_out.write(f'![Logo]({entry["logo"]} "{{class=\'community_logo\'}}")\n') if entry.get('url'): f_out.write(f'- Website: {entry["url"]}\n') - if entry.get('type'): - f_out.write(f'- Type: {entry["type"]}\n') + # if entry.get('type'): + # f_out.write(f'- Type: {entry["type"]}\n') if entry.get('sector'): f_out.write(f'- Sector: {entry["sector"]}\n') if entry.get('scope'): @@ -78,12 +82,10 @@ with open(website_communities_filename, 'w') as f_out: if entry.get('nationality'): f_out.write(f'- Nationality: {entry["nationality"]}\n') if entry.get('description'): - f_out.write(f'- Description: {entry["description"]}\n') - if entry.get('org'): - f_out.write(f'- Managed by: {entry["org"]}\n') - if entry.get('email'): + f_out.write(f'\n\n{entry["description"]}\n') + if entry.get('email') and entry.get('email') != 'undefined': f_out.write(f'- Contact: {entry["email"]}') - if entry.get('pgp_key'): + if entry.get('pgp_key') and entry.get('pgp_key') != 'undefined': f_out.write('\n
GPG key\n\n```') f_out.write(entry['pgp_key']) f_out.write('```\n
\n')