remove suffix for enabled custom nodes
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user