remove suffix for enabled custom nodes

This commit is contained in:
Dr.Lt.Data
2024-12-22 01:20:40 +09:00
parent cbcd2e14ce
commit 5e5235f5d1
7 changed files with 162 additions and 127 deletions

View File

@@ -1,16 +1,12 @@
import os
import git
import configparser
def is_git_repo(path: str) -> bool:
""" Check if the path is a git repository. """
try:
# Try to create a Repo object from the path
_ = git.Repo(path).git_dir
return True
except git.exc.InvalidGitRepositoryError:
return False
# NOTE: Checking it through `git.Repo` must be avoided.
# It locks the file, causing issues on Windows.
return os.path.exists(os.path.join(path, '.git'))
def get_commit_hash(fullpath):
@@ -30,3 +26,36 @@ def get_commit_hash(fullpath):
return line
return "unknown"
def git_url(fullpath):
"""
resolve version of unclassified custom node based on remote url in .git/config
"""
git_config_path = os.path.join(fullpath, '.git', 'config')
if not os.path.exists(git_config_path):
return None
config = configparser.ConfigParser()
config.read(git_config_path)
for k, v in config.items():
if k.startswith('remote ') and 'url' in v:
return v['url']
return None
def normalize_url(url) -> str:
url = url.replace("git@github.com:", "https://github.com/")
if url.endswith('.git'):
url = url[:-4]
return url
def normalize_url_http(url) -> str:
url = url.replace("https://github.com/", "git@github.com:")
if url.endswith('.git'):
url = url[:-4]
return url