54 lines
1.5 KiB
Python
54 lines
1.5 KiB
Python
#!/usr/bin/python3
|
|
|
|
import os
|
|
import sys
|
|
import subprocess
|
|
|
|
import ogGlobals
|
|
from SystemLib import ogEcho, ogRaiseError
|
|
from FileSystemLib import ogMount
|
|
|
|
prog = sys.argv[0]
|
|
if len (sys.argv) != 4:
|
|
print (f'Usage: {prog} <dsk> <par> <tmpfile>')
|
|
sys.exit (1)
|
|
|
|
dsk = sys.argv[1]
|
|
par = sys.argv[2]
|
|
tmpfile = sys.argv[3]
|
|
|
|
# Registro de inicio de ejecución
|
|
ogEcho (['log', 'session'], None, f'{ogGlobals.lang.MSG_INTERFACE_START} {prog} {dsk} {par} {tmpfile}')
|
|
|
|
mntpt = ogMount (dsk, par)
|
|
git_dir = f'{mntpt}/.git'
|
|
|
|
if not os.path.isdir (git_dir):
|
|
ogRaiseError (['log', 'session'], ogGlobals.OG_ERR_FORMAT, f'"{git_dir}" no existe o no es un directorio')
|
|
sys.exit (1)
|
|
|
|
p = subprocess.run (['git', '--git-dir', git_dir, 'branch', '--show-current'], capture_output=True, text=True)
|
|
rc = p.returncode
|
|
if 0 != rc:
|
|
ogRaiseError (['log', 'session'], ogGlobals.OG_ERR_GENERIC, '')
|
|
ogEcho (['log', 'session'], 'error', p.stderr)
|
|
sys.exit (1)
|
|
branch = p.stdout.strip()
|
|
|
|
p = subprocess.run (['git', '--git-dir', git_dir, 'remote', 'get-url', 'origin'], capture_output=True, text=True)
|
|
rc = p.returncode
|
|
if 0 != rc:
|
|
ogRaiseError (['log', 'session'], ogGlobals.OG_ERR_GENERIC, '')
|
|
ogEcho (['log', 'session'], 'error', p.stderr)
|
|
sys.exit (1)
|
|
repo = os.path.basename (p.stdout.strip())
|
|
repo = repo.replace ('.git', '')
|
|
|
|
with open (tmpfile, 'w') as fd:
|
|
fd.write (f'{branch}:{repo}\n')
|
|
|
|
# Registro de fin de ejecución
|
|
ogEcho (['log', 'session'], None, f'{ogGlobals.lang.MSG_INTERFACE_END} 0')
|
|
|
|
sys.exit (0)
|