Commit 0361c5e2 authored by Fulcrand Guilhem's avatar Fulcrand Guilhem Committed by Thomas Boni
Browse files

Resolve "Use Gitlab API to search for user informations instead of soup scraping in builder"

parent 77e05c58
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -18,7 +18,6 @@ from os import listdir
from yaml import full_load
from jinja2 import Environment, FileSystemLoader
import requests
from bs4 import BeautifulSoup

# Job variables
jobs_dir = "jobs"
@@ -34,7 +33,7 @@ mk_license_wrapper = "??? License\n"
mk_placeholder_wrapper = "# 🚧 *Work in progress*\n\nThere is no job for this stage for now"
mk_code_owner_wrapper = "\n\n-- 🔨 Maintainer: <img src='<GITLAB_IMAGE>' alt='avatar' style='width: 20px; height: 20px; border-radius: 50%'> [<CODE_OWNER_NAME>](<CODE_OWNER_URL>) @<CODE_OWNER>\n"

gitlab_url = "https://gitlab.com:443/"
gitlab_api_url = "https://gitlab.com/api/v4/"

# Index variables
builder_dir = "builder"
@@ -82,20 +81,17 @@ def add_license(job_path, job_name, mkdocs_job_content):
  return mkdocs_job_content

def add_code_owner(job_path, job, mkdocs_job_content, code_owner):
  url = gitlab_url + code_owner
  url = gitlab_api_url + "users?username=" + code_owner

  response = requests.request("GET", url)

  if response.status_code == 200:
    soup = BeautifulSoup(response.content, "html.parser")

    image_url = soup.find("img")["data-src"]
    full_name = soup.find("div", {"class": "cover-title"}).text
    user = response.json()[0]
    mkdocs_job_content += mk_code_owner_wrapper
    mkdocs_job_content = mkdocs_job_content.replace("<GITLAB_IMAGE>", image_url)
    mkdocs_job_content = mkdocs_job_content.replace("<CODE_OWNER_NAME>", full_name)
    mkdocs_job_content = mkdocs_job_content.replace("<GITLAB_IMAGE>", user["avatar_url"])
    mkdocs_job_content = mkdocs_job_content.replace("<CODE_OWNER_NAME>", user["name"])
    mkdocs_job_content = mkdocs_job_content.replace("<CODE_OWNER>", code_owner)
    mkdocs_job_content = mkdocs_job_content.replace("<CODE_OWNER_URL>", url)
    mkdocs_job_content = mkdocs_job_content.replace("<CODE_OWNER_URL>", user["web_url"])
  return mkdocs_job_content

def create_job_doc(job):
+0 −1
Original line number Diff line number Diff line
beautifulsoup4==4.9.1
mkdocs>=1.1
Pygments>=2.4
markdown>=3.2