mirror of
https://github.com/Nikolay-Shirokov/cc-1c-skills.git
synced 2026-09-17 23:35:22 +03:00
refactor(meta-validate,web-publish): свести format_rank и db-обвязку к эталонам
format_rank в meta-validate отличался только именем параметра, _version_key в web-publish инлайнил каталог версии вместо общего _version_dir (и знал только Windows-раскладку .../bin/exe). Обе копии приведены к эталону db-create/ meta-compile; для Windows-навыка web-publish поведение не меняется. В реестр добавлены семьи _version_dir и _find_project_v8path. Экстрактор PS1 в гарде и сканере научен видеть вложенные определения: db-load-git объявляет Find-ProjectV8Path внутри if, и поиск по `function` с нулевой позиции считал функцию отсутствующей. Конец тела теперь ищется по закрывающей скобке на отступе самого слова function. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
974ca3aac9
commit
fadda6a287
@@ -1,4 +1,4 @@
|
||||
# meta-validate v1.15 — Validate 1C metadata object structure (+ReuseSessions: Use)
|
||||
# meta-validate v1.16 — Validate 1C metadata object structure (+format_rank: свести к общему эталону)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
param(
|
||||
[Parameter(Mandatory)]
|
||||
@@ -1509,8 +1509,8 @@ $versionedProps = @{
|
||||
"UseInInterfaceCompatibilityMode" = "2.21" # использование общей формы в режиме совместимости интерфейса
|
||||
}
|
||||
# Версия формата как число: "2.20" → 220. Строковое сравнение неверно ("2.9" > "2.17").
|
||||
function Get-FormatRank([string]$v) {
|
||||
if ($v -match '^(\d+)\.(\d+)$') { return [int]$Matches[1] * 100 + [int]$Matches[2] }
|
||||
function Get-FormatRank([string]$ver) {
|
||||
if ($ver -match '^(\d+)\.(\d+)$') { return [int]$Matches[1] * 100 + [int]$Matches[2] }
|
||||
return 0
|
||||
}
|
||||
$fileRank = Get-FormatRank $version
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# meta-validate v1.15 — Validate 1C metadata object structure (Python port) (+ReuseSessions: Use)
|
||||
# meta-validate v1.16 — Validate 1C metadata object structure (Python port) (+format_rank: свести к общему эталону)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
import argparse
|
||||
import os
|
||||
@@ -1412,9 +1412,9 @@ versioned_props = {
|
||||
}
|
||||
|
||||
|
||||
def format_rank(v):
|
||||
""""2.20" → 220. Строковое сравнение неверно ("2.9" > "2.17")."""
|
||||
m = re.match(r'^(\d+)\.(\d+)$', v or '')
|
||||
def format_rank(ver):
|
||||
""""2.20" → 220, "2.9" → 209. Строковое сравнение неверно ("2.9" > "2.17")."""
|
||||
m = re.match(r'^(\d+)\.(\d+)$', ver or '')
|
||||
return int(m.group(1)) * 100 + int(m.group(2)) if m else 0
|
||||
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# web-publish v1.5 — Publish 1C infobase via Apache
|
||||
# web-publish v1.6 — Publish 1C infobase via Apache (+_version_dir/_version_key: общий эталон db-семейства)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
<#
|
||||
.SYNOPSIS
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#!/usr/bin/env python3
|
||||
# web-publish v1.5 — Publish 1C infobase via Apache
|
||||
# web-publish v1.6 — Publish 1C infobase via Apache (+_version_dir/_version_key: общий эталон db-семейства)
|
||||
# Source: https://github.com/Nikolay-Shirokov/cc-1c-skills
|
||||
|
||||
"""
|
||||
@@ -46,10 +46,17 @@ def _find_project_v8path():
|
||||
d = parent
|
||||
|
||||
|
||||
def _version_dir(p):
|
||||
"""Version dir for both Windows (.../1cv8/<ver>/bin/1cv8.exe) and *nix (.../1cv8/<ver>/1cv8)."""
|
||||
parent = os.path.dirname(p)
|
||||
if os.path.basename(parent).lower() == "bin":
|
||||
parent = os.path.dirname(parent)
|
||||
return os.path.basename(parent)
|
||||
|
||||
|
||||
def _version_key(p):
|
||||
"""Numeric sort key from version dir name (.../1cv8/<ver>/bin/1cv8.exe)."""
|
||||
ver = os.path.basename(os.path.dirname(os.path.dirname(p)))
|
||||
return [int(x) for x in re.findall(r"\d+", ver)]
|
||||
"""Numeric sort key from version dir name."""
|
||||
return [int(x) for x in re.findall(r"\d+", _version_dir(p))]
|
||||
|
||||
|
||||
def get_our_httpd(httpd_exe_norm):
|
||||
|
||||
Reference in New Issue
Block a user