Commit ca987226 authored by Thomas Boni's avatar Thomas Boni
Browse files

Merge branch...

Merge branch '56-use-gitlab-api-to-search-for-user-informations-instead-of-soup-scraping-in-builder' into 'latest'

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

Closes #56

See merge request go2scale/hub!20
parents 77e05c58 0361c5e2
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