Files
TashaSkyUp-EternalKernelPyt…/git.py
T

52 lines
1.4 KiB
Python

import giturlparse
import git
class PublicGitRepo:
"""replaces the text in the given text string with a given other text at some key positions"""
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"url": ("STRING", {"multiline": False}), # Added url input
"email": ("STRING", {"multiline": False}) # Added email input
}
}
CATEGORY = "ETK/git"
RETURN_TYPES = ("STRING",)
FUNCTION = "validate_git_repo_url"
def validate_git_repo_url(self, **kwargs):
git_url = kwargs.get("url", None)
parsed_url = giturlparse.parse(git_url)
return (git_url,)
class SendCommitNode:
"""Sends a commit to a public Git repository"""
@classmethod
def INPUT_TYPES(cls):
return {
"required": {
"repo_path": ("STRING", {"multiline": False}), # Added repo_path input
"commit_message": ("STRING", {"multiline": False}) # Added commit_message input
}
}
CATEGORY = "ETK/git"
RETURN_TYPES = ("NONE",)
FUNCTION = "send_commit"
def send_commit(self, **kwargs):
repo_path = kwargs.get("repo_path", None)
commit_message = kwargs.get("commit_message", None)
repo = git.Repo(repo_path)
repo.git.add(all=True)
repo.index.commit(commit_message)
repo.remotes.origin.push()