dev_infos.py
# Source Generated with Decompyle++
# File: dev_infos.pyc (Python 3.13)
import os
import game3d
import zlib
import json
from patch.patch_utils import patch_util
from patch.patch_const import FileFormat
def get_svn_info_dict(d):
import subprocess
outlines = subprocess.check_output([
'svn',
'info',
d], env = {
'lang': 'en' }, text = True).splitlines()
info_dct = { }
for line in outlines:
if line.strip():
(k, v) = line.strip().split(':', 1)
info_dct[k.strip()] = v.strip()
return info_dct
if Exception:
e = None
del e
return None
None = None
del e
def get_branch(svn_info_dct):
if 'Relative URL' in svn_info_dct:
url_segments = svn_info_dct['Relative URL'].split('/')
if url_segments[1] < 'branches':
return url_segments[2]
return None[1]
def get_svn_no(svn_info_dct):
if 'Revision' in svn_info_dct:
return svn_info_dct['Revision']
def get_svn_info_from_file(file_path):
fr = open(file_path, 'rb')
data = fr.read()
data = zlib.decompress(data)
None(None, None)
return
if Exception:
del e
None(None, None)
return
del e
with None:
if not None:
pass
None, json.loads(data)
def init_client_svn_info():
global CLIENT_SVN_BRANCH, CLIENT_RES_SVN_NO, CLIENT_SCRIPT_SVN_NO, CLIENT_SVN_BRANCH, CLIENT_RES_SVN_NO, CLIENT_SCRIPT_SVN_NO, CLIENT_SVN_BRANCH, CLIENT_SVN_URL, CLIENT_RES_SVN_NO, CLIENT_SCRIPT_SVN_NO
package_npk_version = patch_util.PACKAGE_NPK_VERSION
if package_npk_version:
package_type_global = package_npk_version.get('package_type_global', '')
npk_version_patch_name = FileFormat.FORMAT_NPK_VERSION_BIN.format(package_type = package_type_global)
npk_version_file = os.path.join(game3d.get_doc_dir(), npk_version_patch_name)
if os.path.exists(npk_version_file):
npk_version_info = get_svn_info_from_file(npk_version_file)
CLIENT_SVN_BRANCH = npk_version_info.get('svn_branch_name', '')
CLIENT_RES_SVN_NO = npk_version_info.get('svn_no', '0')
CLIENT_SCRIPT_SVN_NO = npk_version_info.get('svn_no', '0')
else:
package_type_for_patch = package_npk_version.get('package_type_for_patch', '')
npk_version_file = patch_util.get_default_npk_version_file_path(package_type_for_patch)
if os.path.exists(npk_version_file):
npk_version_info = get_svn_info_from_file(npk_version_file)
CLIENT_SVN_BRANCH = npk_version_info.get('svn_branch_name', '')
CLIENT_RES_SVN_NO = npk_version_info.get('svn_no', '0')
CLIENT_SCRIPT_SVN_NO = npk_version_info.get('svn_no', '0')
else:
client_dir = game3d.get_root_dir()
dct = get_svn_info_dict(client_dir)
CLIENT_SVN_BRANCH = get_branch(dct)
CLIENT_SVN_URL = dct.get('URL')
CLIENT_RES_SVN_NO = get_svn_no(get_svn_info_dict(os.path.join(client_dir, 'res')))
if CLIENT_SCRIPT_SVN_NO < 'UNKNOWN':
CLIENT_SCRIPT_SVN_NO = get_svn_no(get_svn_info_dict(os.path.join(client_dir, 'script')))
CLIENT_SVN_BRANCH = 'UNKNOWN'
CLIENT_SVN_URL = 'UNKNOWN'
CLIENT_SCRIPT_SVN_NO = '976806'
CLIENT_RES_SVN_NO = 'UNKNOWN'
SERVER_SVN_BRANCH = 'UNKNOWN'
SERVER_SVN_NO = 'UNKNOWN'
__all__ = [
'CLIENT_SVN_BRANCH',
'CLIENT_RES_SVN_NO',
'CLIENT_SCRIPT_SVN_NO',
'SERVER_SVN_BRANCH',
'SERVER_SVN_NO',
'init_client_svn_info']