Loading tools/lemmy_fetcher.py +3 −2 Original line number Diff line number Diff line Loading @@ -4,12 +4,13 @@ import os import traceback from entry_manager import EntryManager from lib.github_forge import GithubForge #from lib.github_forge import GithubForge from lib.gitlab_forge import GitlabForge class LemmyFetcher: def __init__(self, entry_manager): self.entry_manager = entry_manager self.forge = GithubForge() self.forge = GitlabForge() self.forge.from_env() self.read_ids = set() os.makedirs("processed_posts", exist_ok = True) Loading tools/lib/gitlab_forge.py 0 → 100644 +33 −0 Original line number Diff line number Diff line import requests from lib.forge_base import ForgeBase import os class GitlabForge(ForgeBase): def __init__(self): self.token = None def from_env(self): self.token = os.environ.get("GITLAB_TOKEN") self.domain = os.environ.get("GITLAB_DOMAIN") self.project_id = os.environ.get("GITLAB_PROJECT_ID") def does_pr_already_exist(self, from_branch): url = "https://{}/api/v4/projects/{}/merge_requests?state=opened&source_branch={}&target_branch={}".format(self.domain, self.project_id, from_branch, "main") req = requests.get(url) req.raise_for_status() return len(req.json()) > 0 def make_pr_between_branches(self, from_branch, to_branch, title, body): url = "https://{}/api/v4/projects/{}/merge_requests".format(self.domain, self.project_id) req = requests.post(url, params={ "source_branch": from_branch, "target_branch": to_branch, "title": title, "description": body }, headers = { "PRIVATE-TOKEN": self.token }) req.raise_for_status() return req.json()["web_url"] No newline at end of file Loading
tools/lemmy_fetcher.py +3 −2 Original line number Diff line number Diff line Loading @@ -4,12 +4,13 @@ import os import traceback from entry_manager import EntryManager from lib.github_forge import GithubForge #from lib.github_forge import GithubForge from lib.gitlab_forge import GitlabForge class LemmyFetcher: def __init__(self, entry_manager): self.entry_manager = entry_manager self.forge = GithubForge() self.forge = GitlabForge() self.forge.from_env() self.read_ids = set() os.makedirs("processed_posts", exist_ok = True) Loading
tools/lib/gitlab_forge.py 0 → 100644 +33 −0 Original line number Diff line number Diff line import requests from lib.forge_base import ForgeBase import os class GitlabForge(ForgeBase): def __init__(self): self.token = None def from_env(self): self.token = os.environ.get("GITLAB_TOKEN") self.domain = os.environ.get("GITLAB_DOMAIN") self.project_id = os.environ.get("GITLAB_PROJECT_ID") def does_pr_already_exist(self, from_branch): url = "https://{}/api/v4/projects/{}/merge_requests?state=opened&source_branch={}&target_branch={}".format(self.domain, self.project_id, from_branch, "main") req = requests.get(url) req.raise_for_status() return len(req.json()) > 0 def make_pr_between_branches(self, from_branch, to_branch, title, body): url = "https://{}/api/v4/projects/{}/merge_requests".format(self.domain, self.project_id) req = requests.post(url, params={ "source_branch": from_branch, "target_branch": to_branch, "title": title, "description": body }, headers = { "PRIVATE-TOKEN": self.token }) req.raise_for_status() return req.json()["web_url"] No newline at end of file