Есть ли способ получить исходные неформатированные значения GDE (Global Directory Editor) в качестве вывода?

Я пишу утилиту на JavaScript для взаимодействия с GTM GDE (редактор глобального каталога). Одна из вещей, которую необходимо выполнить, — запустить команду GDE SHOW -ALL и получить список всей информации в глобальном каталоге. Однако команда SHOW форматирует значения для отображения в терминальной среде, что непригодно для моей цели без тщательного синтаксического анализа.

Кто-нибудь знает какие-либо способы получить неформатированную информацию глобального каталога (возможно, в формате пар ключ-значение/zwrite)? Если GDE не может этого обеспечить, существуют ли какие-либо способы или алгоритмы для чтения фактического файла глобального каталога, чтобы получить эту информацию?


person Arya Rasouli    schedule 20.01.2017    source источник


Ответы (2)


В GDE есть команда, которая выводит список команд для регенерации GDE. Это можно легко разобрать.

> $gtm_dist/mumps -run GDE show -command -file="gde.cmd"
> head -6 gde.cmd

TEMPLATE -REGION -NOAUTODB
TEMPLATE -REGION -COLLATION_DEFAULT=0
TEMPLATE -REGION -EPOCHTAPER
TEMPLATE -REGION -NOINST_FREEZE_ON_ERROR
TEMPLATE -REGION -JOURNAL=(ALLOCATION=2048,AUTOSWITCHLIMIT=8386560,BEFORE_IMAGE,BUFFER_SIZE=2312,EXTENSION=2048)
> tail -6 gde.cmd
ADD -REGION DEFAULT -DYNAMIC_SEGMENT=DEFAULT
!
ADD -SEGMENT DEFAULT -FILE_NAME="mumps.dat"
!
LOCKS -REGION=DEFAULT
!

Обратите внимание, что Шаблон соответствует конфигурации, общей для всех/большинства регионов. Любое исключение регистрируется в отдельном регионе/сегменте.

Также обратите внимание, что последний выпуск GT.M (V7.0-000) удалил ^%DSEWRAP.

person kishore    schedule 24.02.2021

Вы можете попробовать ^%DSEWRAP против основного глобального файла.

Например: https://github.com/shabiel/Kernel-GTM/blob/master/Kernel/Routines/ZISHGUX.m#L216

--Сэм

person Sam Habiel    schedule 20.01.2017
comment
Спасибо, Сэм. Кажется, это заботится о большинстве вещей, которые мне нужны. - person Arya Rasouli; 05.02.2017