Documentation
¶
Index ¶
- Constants
- func DescribeError(code int) string
- func DosToIrbis(text string) string
- func FromAnsi(buffer []byte) string
- func GetXrfOffset(mfn int) int64
- func IrbisToDos(text string) string
- func IrbisToLines(text string) []string
- func LeftPad(s string, n int) string
- func LinesToIrbis(lines []string) string
- func NeedWrap(text string) bool
- func ParseInt32(buffer []byte) (result int)
- func PickOne(lines ...string) string
- func ReadInt16(reader io.Reader) (result int16)
- func ReadInt32(reader io.Reader) (result int32)
- func ReadInt64(reader io.Reader) (result int64)
- func RightPad(s string, n int) string
- func SameRune(left, right rune) bool
- func SameString(left, right string) bool
- func SplitLines(text string) []string
- func ToAnsi(text string) []byte
- func Wrap(text string) string
- type ClientInfo
- type ClientQuery
- func (query *ClientQuery) Add(value int) *ClientQuery
- func (query *ClientQuery) AddAnsi(text string) *ClientQuery
- func (query *ClientQuery) AddFormat(format string) bool
- func (query *ClientQuery) AddUtf(text string) *ClientQuery
- func (query *ClientQuery) Encode() [][]byte
- func (query *ClientQuery) NewLine() *ClientQuery
- type ClientSocket
- type Connection
- func (connection *Connection) ActualizeDatabase(database string) bool
- func (connection *Connection) ActualizeRecord(database string, mfn int) bool
- func (connection *Connection) Connect() bool
- func (connection *Connection) CreateDatabase(database string, description string, readerAccess bool) bool
- func (connection *Connection) CreateDictionary(database string) bool
- func (connection *Connection) DeleteDatabase(database string) bool
- func (connection *Connection) DeleteFile(fileName string)
- func (connection *Connection) DeleteRecord(mfn int)
- func (connection *Connection) Disconnect() bool
- func (connection *Connection) Execute(query *ClientQuery) *ServerResponse
- func (connection *Connection) ExecuteAnyCommand(command string, params ...string) bool
- func (connection *Connection) FailOnError()
- func (connection *Connection) FormatMfn(format string, mfn int) string
- func (connection *Connection) FormatRecord(format string, record *MarcRecord) string
- func (connection *Connection) FormatRecords(format string, list []int) (result []string)
- func (connection *Connection) GetDatabaseInfo(database string) *DatabaseInfo
- func (connection *Connection) GetMaxMfn(database string) int
- func (connection *Connection) GetRecordPostings(mfn int, prefix string) (result []TermPosting)
- func (connection *Connection) GetServerStat() (result ServerStat)
- func (connection *Connection) GetServerVersion() (result VersionInfo)
- func (connection *Connection) GetUserList() (result []UserInfo)
- func (connection *Connection) GlobalCorrection(settings *GblSettings) (result []string)
- func (connection *Connection) ListDatabases(specification string) (result []DatabaseInfo)
- func (connection *Connection) ListFiles(specifications ...string) (result []string)
- func (connection *Connection) ListProcesses() (result []ProcessInfo)
- func (connection *Connection) ListTerms(prefix string) (result []string)
- func (connection *Connection) NoOp() bool
- func (connection *Connection) ParseConnectionString(connectionString string)
- func (connection *Connection) PrintTable(definition *TableDefinition) (result string)
- func (connection *Connection) ReadBinaryFile(specification string) []byte
- func (connection *Connection) ReadIniFile(specification string) *IniFile
- func (connection *Connection) ReadMenuFile(specification string) *MenuFile
- func (connection *Connection) ReadOptFile(specification string) (result *OptFile)
- func (connection *Connection) ReadParFile(specification string) (result *ParFile)
- func (connection *Connection) ReadPostings(parameters *PostingParameters) (result []TermPosting)
- func (connection *Connection) ReadRawRecord(mfn int) *RawRecord
- func (connection *Connection) ReadRecord(mfn int) *MarcRecord
- func (connection *Connection) ReadRecordVersion(mfn, version int) *MarcRecord
- func (connection *Connection) ReadRecords(mfnList []int) (result []MarcRecord)
- func (connection *Connection) ReadSearchScenario(specification string) (result []SearchScenario)
- func (connection *Connection) ReadTerms(startTerm string, number int) []TermInfo
- func (connection *Connection) ReadTermsEx(parameters *TermParameters) (result []TermInfo)
- func (connection *Connection) ReadTextFile(specification string) string
- func (connection *Connection) ReadTextLines(specification string) []string
- func (connection *Connection) ReadTreeFile(specification string) (result *TreeFile)
- func (connection *Connection) ReloadDictionary(database string) (result bool)
- func (connection *Connection) ReloadMasterFile(database string) (result bool)
- func (connection *Connection) RestartServer() (result bool)
- func (connection *Connection) Search(expression string) []int
- func (connection *Connection) SearchAll(expression string) (result []int)
- func (connection *Connection) SearchCount(expression string) int
- func (connection *Connection) SearchEx(parameters *SearchParameters) []FoundLine
- func (connection *Connection) SearchRead(expression string, limit int) (result []MarcRecord)
- func (connection *Connection) SearchSingleRecord(expression string) *MarcRecord
- func (connection *Connection) ToConnectionString() string
- func (connection *Connection) TruncateDatabase(database string) bool
- func (connection *Connection) UndeleteRecord(mfn int) *MarcRecord
- func (connection *Connection) UnlockDatabase(database string) bool
- func (connection *Connection) UnlockRecords(database string, mfnList []int) bool
- func (connection *Connection) UpdateIniFile(lines []string) bool
- func (connection *Connection) UpdateUserList(users []UserInfo) bool
- func (connection *Connection) WriteRawRecord(record *RawRecord) int
- func (connection *Connection) WriteRecord(record *MarcRecord) int
- func (connection *Connection) WriteRecords(records []MarcRecord) bool
- func (connection *Connection) WriteTextFile(specification, text string) bool
- type DatabaseInfo
- type DirectAccess
- type FoundLine
- type GblSettings
- type GblStatement
- type IfpControlRecord
- type IfpFile
- type IfpRecord
- type IfpRecordLeader
- type IniFile
- func (file *IniFile) FindSection(name string) *IniSection
- func (file *IniFile) GetOrCreateSection(name string) *IniSection
- func (file *IniFile) GetValue(sectionName, key, defaultValue string) string
- func (file *IniFile) Parse(lines []string)
- func (file *IniFile) SetValue(sectionName, key, value string)
- func (file *IniFile) String() string
- type IniLine
- type IniSection
- type MarcRecord
- func (record *MarcRecord) Add(tag int, value string) *RecordField
- func (record *MarcRecord) AddNonEmpty(tag int, value string) *MarcRecord
- func (record *MarcRecord) Clear()
- func (record *MarcRecord) Clone() *MarcRecord
- func (record *MarcRecord) Decode(lines []string)
- func (record *MarcRecord) Encode(delimiter string) string
- func (record *MarcRecord) ExportPlainText(file *os.File) error
- func (record *MarcRecord) FM(tag int) string
- func (record *MarcRecord) FMA(tag int) (result []string)
- func (record *MarcRecord) FSM(tag int, code rune) string
- func (record *MarcRecord) FSMA(tag int, code rune) (result []string)
- func (record *MarcRecord) GetField(tag, occurrence int) *RecordField
- func (record *MarcRecord) GetFields(tag int) (result []*RecordField)
- func (record *MarcRecord) GetFirstField(tag int) *RecordField
- func (record *MarcRecord) HaveField(tag int) bool
- func (record *MarcRecord) InsertAt(i int, tag int, value string) *RecordField
- func (record *MarcRecord) IsDeleted() bool
- func (record *MarcRecord) RemoveAt(i int) *MarcRecord
- func (record *MarcRecord) RemoveField(tag int) *MarcRecord
- func (record *MarcRecord) Reset()
- func (record *MarcRecord) SetField(tag int, value string) *MarcRecord
- func (record *MarcRecord) SetSubfield(tag int, code rune, value string) *MarcRecord
- func (record *MarcRecord) String() string
- func (record *MarcRecord) ToPlainText() string
- type MenuEntry
- type MenuFile
- type MstControlRecord
- type MstDictionaryEntry
- type MstField
- type MstFile
- type MstLeader
- type MstRecord
- type NodeItem
- type NodeLeader
- type NodeRecord
- type OptFile
- type OptLine
- type ParFile
- type PostingParameters
- type ProcessInfo
- type RawRecord
- type RecordField
- func (field *RecordField) Add(code rune, value string) *RecordField
- func (field *RecordField) AddNonEmpty(code rune, value string) *RecordField
- func (field *RecordField) Clear() *RecordField
- func (field *RecordField) Clone() *RecordField
- func (field *RecordField) Decode(text string)
- func (field *RecordField) DecodeBody(body string)
- func (field *RecordField) Encode() string
- func (field *RecordField) EncodeBody() string
- func (field *RecordField) GetEmbeddedFields() (result []*RecordField)
- func (field *RecordField) GetFirstSubField(code rune) *SubField
- func (field *RecordField) GetFirstSubFieldValue(code rune) string
- func (field *RecordField) GetValueOrFirstSubField() string
- func (field *RecordField) HaveSubField(code rune) bool
- func (field *RecordField) InsertAt(i int, code rune, value string) *RecordField
- func (field *RecordField) RemoveAt(i int) *RecordField
- func (field *RecordField) RemoveSubfield(code rune) *RecordField
- func (field *RecordField) ReplaceSubfield(code rune, oldValue, newValue string) *RecordField
- func (field *RecordField) SetSubfield(code rune, value string) *RecordField
- func (field *RecordField) String() string
- func (field *RecordField) Verify() (result bool)
- type Search
- func All() (result Search)
- func Author(values ...string) Search
- func Bbk(values ...string) Search
- func DocumentKind(values ...string) Search
- func Equals(prefix string, items ...interface{}) (result Search)
- func Keyword(values ...string) Search
- func Language(values ...string) Search
- func Magazine(values ...string) Search
- func Mhr(values ...string) Search
- func Number(values ...string) Search
- func Place(values ...string) Search
- func Publisher(values ...string) Search
- func Rzn(values ...string) Search
- func Subject(values ...string) Search
- func Title(values ...string) Search
- func Udc(values ...string) Search
- func Year(values ...string) Search
- func (query Search) And(items ...interface{}) Search
- func (query Search) Not(value interface{}) Search
- func (query Search) Or(items ...interface{}) Search
- func (query Search) SameField(items ...interface{}) Search
- func (query Search) SameRepeat(items ...interface{}) Search
- func (query Search) String() string
- type SearchParameters
- type SearchScenario
- type ServerResponse
- func (response *ServerResponse) CheckReturnCode(allowed ...int) bool
- func (response *ServerResponse) GetLine() []byte
- func (response *ServerResponse) GetReturnCode() int
- func (response *ServerResponse) ReadAnsi() string
- func (response *ServerResponse) ReadInteger() int
- func (response *ServerResponse) ReadRemainingAnsiLines() []string
- func (response *ServerResponse) ReadRemainingAnsiText() string
- func (response *ServerResponse) ReadRemainingUtfLines() []string
- func (response *ServerResponse) ReadRemainingUtfText() string
- func (response *ServerResponse) ReadUtf() string
- type ServerStat
- type SubField
- type TableDefinition
- type Tcp4ClientSocket
- type TermInfo
- type TermLink
- type TermParameters
- type TermPosting
- type TreeFile
- type TreeNode
- type UserInfo
- type VersionInfo
- type WsLine
- type XrfFile
- type XrfRecord
Constants ¶
const ( LOGICALLY_DELETED = 1 // Запись логически удалена PHYSICALLY_DELETED = 2 // Запись физически удалена ABSENT = 4 // Запись отсутствует NON_ACTUALIZED = 8 // Запись не актуализирована NEW_RECORD = 16 // Первый экземпляр записи LAST_VERSION = 32 // Последняя версия записи LOCKED_RECORD = 64 // Запись заблокирована на ввод AUTOIN_ERROR = 128 // Ошибка в Autoin.gbl FULLTEXT_NOT_ACTUALIZED = 256 // Полный текст не актуализирован ALL_FORMAT = "&uf('+0')" // Полные данные по полям BRIEF_FORMAT = "@brief" // Краткое библиографическое описание IBIS_FORMAT = "@ibiskw_h" // Формат IBIS (старый) INFO_FORMAT = "@info_w" // Информационный формат OPTIMIZED_FORMAT = "@" // Оптимизированный формат KEYWORD_PREFIX = "K=" // Ключевые слова AUTHOR_PREFIX = "A=" // Индивидуальный автор, редактор, составитель COLLECTIVE_PREFIX = "M=" // Коллектив или мероприятие TITLE_PREFIX = "T=" // Заглавие INVENTORY_PREFIX = "IN=" // Инвентарный номер, штрих-код или радиометка INDEX_PREFIX = "I=" // Шифр документа в базе LOGIC_OR = 0 // Только ИЛИ LOGIC_OR_AND = 1 // ИЛИ и И LOGIC_OR_AND_NOT = 2 // ИЛИ, И, НЕТ (по умолчанию) LOGIC_OR_AND_NOT_FIELD = 3 // ИЛИ, И, НЕТ, И (в поле) LOGIC_OR_AND_NOT_PHRASE = 4 // ИЛИ, И, НЕТ, И (в поле), И (фраза) ADMINISTRATOR = "A" // Адмнистратор CATALOGER = "C" // Каталогизатор ACQUSITIONS = "M" // Комплектатор READER = "R" // Читатель CIRCULATION = "B" // Книговыдача BOOKLAND = "B" // Книговыдача PROVISITON = "K" // Книгообеспеченность JAVA_APPLET = "J" // Java апплет ADD_FIELD = "ADD" DELETE_FIELD = "DEL" REPLACE_FIELD = "REP" CHANGE_FIELD = "CHA" CHANGE_WITH_CASE = "CHAC" DELETE_RECORD = "DELR" UNDELETE_RECORD = "UNDELR" CORRECT_RECORD = "CORREC" CREATE_RECORD = "NEWMFN" EMPTY_RECORD = "EMPTY" UNDO_RECORD = "UNDOR" GBL_END = "END" GBL_IF = "IF" GBL_FI = "FI" GBL_ALL = "ALL" GBL_REPEAT = "REPEAT" GBL_UNTIL = "UNTIL" PUTLOG = "PUTLOG" IRBIS_DELIMITER = "\x1F\x1E" // Разделитель строк в ИРБИС SHORT_DELIMITER = "\x1E" // Короткая версия разделителя строк )
const FirstDelimiter = "\x1F"
const FullDelimiter = "\x1F\x1E"
const InvertedBlockSize = 2050048
const IsoFieldDelimiter = byte(0x1E)
const IsoMarkerLength = 24
const IsoRecordDelimiter = byte(0x1D)
const IsoSubfieldDelimiter = byte(0x1F)
const MaxTermSize = 255
const MstControlRecordSize = 36 // Размер управляющей записи в байтах.
const NodeLength = 2048
const NodeRecordSize = 2048
const SecondDelimiter = "\x1E"
const XrfRecordSize = 12
Variables ¶
This section is empty.
Functions ¶
func DescribeError ¶
func DosToIrbis ¶
func GetXrfOffset ¶
func IrbisToDos ¶
func IrbisToLines ¶
func LinesToIrbis ¶
func ParseInt32 ¶
func SameString ¶
func SplitLines ¶
Types ¶
type ClientInfo ¶
type ClientInfo struct {
// Number порядковый номер.
Number string
// IPAddress Адрес клиента.
IPAddress string
// Port Порт клиента.
Port string
// Name Логин
Name string
// Id Идентификатор клиентской программы
// (просто уникальное число).
Id string
// Workstation Клиентский АРМ.
Workstation string
// Registered Момент подключения к серверу.
Registered string
// Acknowledged Подследнее подтверждение, посланное серверу.
Acknowledged string
// LastCommand Последняя команда, посланная серверу.
LastCommand string
// CommandNumber Номер последней команлы.
CommandNumber string
}
ClientInfo Информация о клиенте, подключенном к серверу ИРБИС (не обязательно о текущем).
func (*ClientInfo) Parse ¶
func (client *ClientInfo) Parse(lines []string)
Parse Разбор ответа сервера.
func (*ClientInfo) String ¶
func (client *ClientInfo) String() string
type ClientQuery ¶
type ClientQuery struct {
// contains filtered or unexported fields
}
ClientQuery формирует клиентский запрос из запрашиваемых элементов (строк и их фрагментов).
func NewClientQuery ¶
func NewClientQuery(connection *Connection, command string) *ClientQuery
NewClientQuery формирует заголовок клиентского запроса.
func (*ClientQuery) Add ¶
func (query *ClientQuery) Add(value int) *ClientQuery
Add добавляет в запрос целое число.
func (*ClientQuery) AddAnsi ¶
func (query *ClientQuery) AddAnsi(text string) *ClientQuery
AddAnsi добавляет в запрос строку в кодировке ANSI.
func (*ClientQuery) AddFormat ¶
func (query *ClientQuery) AddFormat(format string) bool
AddFormat добавляет строку формата, предварительно подготовив её. Также добавляется перевод строки.
func (*ClientQuery) AddUtf ¶
func (query *ClientQuery) AddUtf(text string) *ClientQuery
AddUtf добавляет в запрос строку в кодировке UTF-8.
func (*ClientQuery) Encode ¶
func (query *ClientQuery) Encode() [][]byte
Encode выдает сетевой пакет, который нужно отправить серверу.
func (*ClientQuery) NewLine ¶
func (query *ClientQuery) NewLine() *ClientQuery
NewLine добавляет в запрос перевод строки (\n).
type ClientSocket ¶
type ClientSocket interface {
TalkToServer(query *ClientQuery) *ServerResponse
}
type Connection ¶
type Connection struct {
// Host Адрес сервера (можно задавать как my.domain.com,
// так и 192.168.1.1).
Host string
// Port Порт сервера
Port int
// Username Логин пользователя. Регистр символов не учитывается.
Username string
// Password Пароль пользователя. Регистр символов учитывается.
Password string
// Database Имя текущей базы данных.
Database string
// Workstation Код АРМа.
Workstation string
// ClientId Идентификатор клиента. Задаётся автоматически
// при подключении к серверу.
ClientId int
// QueryId Последовательный номер запроса к серверу.
// Ведется автоматически
QueryId int
// ServerVersion Версия сервера
// (становится доступна после подключения к нему).
ServerVersion string
// Interval Рекомендуемый интервал подключения, минуты.
// Становится доступен после подключения к серверу.
Interval int
// Connected Признак подключения.
Connected bool
// Ini Серверный INI-файл (становится доступен после подключения).
Ini *IniFile
// Last error code
LastError int
// contains filtered or unexported fields
}
Connection Подключение к серверу ИРБИС64.
func NewConnection ¶
func NewConnection() *Connection
NewConnection Конструктор, создает подключение с настройками по умолчанию.
func (*Connection) ActualizeDatabase ¶
func (connection *Connection) ActualizeDatabase(database string) bool
ActualizeDatabase Актуализация всех неактуализированных записей в указанной базе данных.
func (*Connection) ActualizeRecord ¶
func (connection *Connection) ActualizeRecord(database string, mfn int) bool
ActualizeRecord Актуализация записи с указанным кодом. Если запись уже актуализирована, ничего не меняется.
func (*Connection) Connect ¶
func (connection *Connection) Connect() bool
Connect Подключение к серверу ИРБИС64. Если подключение уже установлено, ничего не меняется.
func (*Connection) CreateDatabase ¶
func (connection *Connection) CreateDatabase(database string, description string, readerAccess bool) bool
CreateDatabase Создание базы данных.
func (*Connection) CreateDictionary ¶
func (connection *Connection) CreateDictionary(database string) bool
CreateDictionary Создание словаря в указанной базе данных.
func (*Connection) DeleteDatabase ¶
func (connection *Connection) DeleteDatabase(database string) bool
DeleteDatabase Удаление указанной базы данных.
func (*Connection) DeleteFile ¶
func (connection *Connection) DeleteFile(fileName string)
DeleteFile Удаление на сервере указанного файла.
func (*Connection) DeleteRecord ¶
func (connection *Connection) DeleteRecord(mfn int)
DeleteRecord Удаление записи по ее MFN.
func (*Connection) Disconnect ¶
func (connection *Connection) Disconnect() bool
Disconnect Отключение от сервера. Если подключение не установлено, ничего не меняется.
func (*Connection) Execute ¶
func (connection *Connection) Execute(query *ClientQuery) *ServerResponse
Execute Отправка клиентского запроса на сервер и получение ответа от него.
func (*Connection) ExecuteAnyCommand ¶
func (connection *Connection) ExecuteAnyCommand(command string, params ...string) bool
ExecuteAnyCommand Выполнение на сервере произвольной команды с опциональными параметрами в кодировке ANSI.
func (*Connection) FailOnError ¶
func (connection *Connection) FailOnError()
FailOnError Завершение программы с ошибкой, если код возврата последней операции меньше нуля.
func (*Connection) FormatMfn ¶
func (connection *Connection) FormatMfn(format string, mfn int) string
FormatMfn Форматирование записи с указанным MFN.
func (*Connection) FormatRecord ¶
func (connection *Connection) FormatRecord(format string, record *MarcRecord) string
FormatRecord Форматирование записи в клиентском представлении.
func (*Connection) FormatRecords ¶
func (connection *Connection) FormatRecords(format string, list []int) (result []string)
FormatRecords Расформатирование нескольких записей.
func (*Connection) GetDatabaseInfo ¶
func (connection *Connection) GetDatabaseInfo(database string) *DatabaseInfo
GetDatabaseInfo Получение информации об указанной базе данных.
func (*Connection) GetMaxMfn ¶
func (connection *Connection) GetMaxMfn(database string) int
GetMaxMfn Получение максимального MFN для указанной базы данных.
func (*Connection) GetRecordPostings ¶
func (connection *Connection) GetRecordPostings(mfn int, prefix string) (result []TermPosting)
Get term postings for specified MFN and prefix
func (*Connection) GetServerStat ¶
func (connection *Connection) GetServerStat() (result ServerStat)
Получение статистики с сервера.
func (*Connection) GetServerVersion ¶
func (connection *Connection) GetServerVersion() (result VersionInfo)
GetServerVersion Получение версии сервера.
func (*Connection) GetUserList ¶
func (connection *Connection) GetUserList() (result []UserInfo)
GetUserList Получение списка пользователей с сервера.
func (*Connection) GlobalCorrection ¶
func (connection *Connection) GlobalCorrection(settings *GblSettings) (result []string)
GlobalCorrection Глобальная корректировка.
func (*Connection) ListDatabases ¶
func (connection *Connection) ListDatabases(specification string) (result []DatabaseInfo)
ListDatabases Получение списка баз данных с сервера.
func (*Connection) ListFiles ¶
func (connection *Connection) ListFiles(specifications ...string) (result []string)
ListFiles Получение списка файлов на сервере.
func (*Connection) ListProcesses ¶
func (connection *Connection) ListProcesses() (result []ProcessInfo)
ListProcesses Получение списка серверных процессов
func (*Connection) ListTerms ¶
func (connection *Connection) ListTerms(prefix string) (result []string)
ListTerms Получение списка терминов с указанным префиксом.
func (*Connection) NoOp ¶
func (connection *Connection) NoOp() bool
NoOp Пустая операция. Используется для периодического подтверждения подключения клиента.
func (*Connection) ParseConnectionString ¶
func (connection *Connection) ParseConnectionString(connectionString string)
ParseConnectionString Разбор строки подключения.
func (*Connection) PrintTable ¶
func (connection *Connection) PrintTable(definition *TableDefinition) (result string)
func (*Connection) ReadBinaryFile ¶
func (connection *Connection) ReadBinaryFile(specification string) []byte
ReadBinaryFile Чтение двоичного файла с сервера.
func (*Connection) ReadIniFile ¶
func (connection *Connection) ReadIniFile(specification string) *IniFile
ReadIniFile Чтение INI-файла с сервера.
func (*Connection) ReadMenuFile ¶
func (connection *Connection) ReadMenuFile(specification string) *MenuFile
ReadMenuFile Чтение MNU-файла с сервера.
func (*Connection) ReadOptFile ¶
func (connection *Connection) ReadOptFile(specification string) (result *OptFile)
ReadOptFile Чтение OPT-файла с сервера.
func (*Connection) ReadParFile ¶
func (connection *Connection) ReadParFile(specification string) (result *ParFile)
ReadParFile Чтение PAR-файла с сервера
func (*Connection) ReadPostings ¶
func (connection *Connection) ReadPostings(parameters *PostingParameters) (result []TermPosting)
ReadPostings Считывание постингов из поискового индекса.
func (*Connection) ReadRawRecord ¶
func (connection *Connection) ReadRawRecord(mfn int) *RawRecord
ReadRawRecord Чтение указанной записи в "сыром" виде.
func (*Connection) ReadRecord ¶
func (connection *Connection) ReadRecord(mfn int) *MarcRecord
ReadRecord Чтение записи по ее MFN.
func (*Connection) ReadRecordVersion ¶
func (connection *Connection) ReadRecordVersion(mfn, version int) *MarcRecord
ReadRecordVersion Чтение указанной версии записи.
func (*Connection) ReadRecords ¶
func (connection *Connection) ReadRecords(mfnList []int) (result []MarcRecord)
ReadRecords Чтение с сервера нескольких записей.
func (*Connection) ReadSearchScenario ¶
func (connection *Connection) ReadSearchScenario(specification string) (result []SearchScenario)
ReadSearchScenario Загрузка сценариев поиска с сервера.
func (*Connection) ReadTerms ¶
func (connection *Connection) ReadTerms(startTerm string, number int) []TermInfo
ReadTerms Простое получение терминов поискового словаря.
func (*Connection) ReadTermsEx ¶
func (connection *Connection) ReadTermsEx(parameters *TermParameters) (result []TermInfo)
ReadTermsEx Получение терминов поискового словаря.
func (*Connection) ReadTextFile ¶
func (connection *Connection) ReadTextFile(specification string) string
ReadTextFile Чтение текстового файла с сервера.
func (*Connection) ReadTextLines ¶
func (connection *Connection) ReadTextLines(specification string) []string
ReadTextLines Чтение текстового файла в виде слайса строк.
func (*Connection) ReadTreeFile ¶
func (connection *Connection) ReadTreeFile(specification string) (result *TreeFile)
ReadTreeFile Чтение TRE-файла с сервера.
func (*Connection) ReloadDictionary ¶
func (connection *Connection) ReloadDictionary(database string) (result bool)
ReloadDictionary Пересоздание словаря для указанной базы данных.
func (*Connection) ReloadMasterFile ¶
func (connection *Connection) ReloadMasterFile(database string) (result bool)
ReloadMasterFile Пересоздание мастер-файла для указанной базы данных.
func (*Connection) RestartServer ¶
func (connection *Connection) RestartServer() (result bool)
RestartServer Перезапуск сервера (без утери подключенных клиентов).
func (*Connection) Search ¶
func (connection *Connection) Search(expression string) []int
Search Простой поиск записей (возвращается не более 32 тыс. записей).
func (*Connection) SearchAll ¶
func (connection *Connection) SearchAll(expression string) (result []int)
SearchAll Поиск всех записей (даже если их окажется больше 32 тыс.).
func (*Connection) SearchCount ¶
func (connection *Connection) SearchCount(expression string) int
SearchCount Определение количества записей, соответствующих поисковому выражению.
func (*Connection) SearchEx ¶
func (connection *Connection) SearchEx(parameters *SearchParameters) []FoundLine
SearchEx Расширенный поиск записей.
func (*Connection) SearchRead ¶
func (connection *Connection) SearchRead(expression string, limit int) (result []MarcRecord)
SearchRead Поиск записей с их одновременным считыванием.
func (*Connection) SearchSingleRecord ¶
func (connection *Connection) SearchSingleRecord(expression string) *MarcRecord
SearchSingleRecord Поиск и считывание одной записи, соответствующей выражение. Если таких записей больше одной, то будет считана любая из них. Если таких записей нет, будет возвращен nil.
func (*Connection) ToConnectionString ¶
func (connection *Connection) ToConnectionString() string
ToConnectionString Выдача строки подключения для текущего соеденения (соединение не обязательно должно быть установлено).
func (*Connection) TruncateDatabase ¶
func (connection *Connection) TruncateDatabase(database string) bool
TruncateDatabase Опустошение указанной базы данных.
func (*Connection) UndeleteRecord ¶
func (connection *Connection) UndeleteRecord(mfn int) *MarcRecord
UndeleteRecord Восстановление записи по ее MFN.
func (*Connection) UnlockDatabase ¶
func (connection *Connection) UnlockDatabase(database string) bool
UnlockDatabase Разблокирование указанной базы данных.
func (*Connection) UnlockRecords ¶
func (connection *Connection) UnlockRecords(database string, mfnList []int) bool
UnlockRecords Разблокирование перечисленных записей.
func (*Connection) UpdateIniFile ¶
func (connection *Connection) UpdateIniFile(lines []string) bool
UpdateIniFile Обновление строк серверного INI-файла для текущего пользователя.
func (*Connection) UpdateUserList ¶
func (connection *Connection) UpdateUserList(users []UserInfo) bool
UpdateUserList Обновление списка пользователей на сервере.
func (*Connection) WriteRawRecord ¶
func (connection *Connection) WriteRawRecord(record *RawRecord) int
WriteRawRecord Сохранение на сервере "сырой" записи.
func (*Connection) WriteRecord ¶
func (connection *Connection) WriteRecord(record *MarcRecord) int
WriteRecord Сохранение записи на сервере.
func (*Connection) WriteRecords ¶
func (connection *Connection) WriteRecords(records []MarcRecord) bool
WriteRecords Сохранение нескольких записей на сервере (могут относиться к разным базам).
func (*Connection) WriteTextFile ¶
func (connection *Connection) WriteTextFile(specification, text string) bool
WriteTextFile Сохранение текстового файла на сервере.
type DatabaseInfo ¶
type DatabaseInfo struct {
Name string // Name Имя базы данных.
Description string // Description Описание базы данных в произвольной форме.
MaxMfn int // MaxMfn Максимальный MFN.
LogicallyDeletedRecords []int // LogicallyDeletedRecords Логически удаленные записи.
PhysicallyDeletedRecords []int // PhysicallyDeletedRecords Физически удаленные записи.
NonActualizedRecords []int // NonActualizedRecords Неактуализированные записи.
LockedRecords []int // LockedRecords Заблокированные записи.
DatabaseLocked bool // DatabaseLocked Признак блокировки базы данных в целом.
ReadOnly bool // ReadOnly База только для чтения
}
DatabaseInfo Информация о базе данных ИРБИС.
func ParseMenu ¶
func ParseMenu(menu *MenuFile) (result []DatabaseInfo)
func (*DatabaseInfo) Parse ¶
func (db *DatabaseInfo) Parse(lines []string)
Parse Разбор ответа сервера (см. GetDatabaseInfo)
func (*DatabaseInfo) String ¶
func (db *DatabaseInfo) String() string
type DirectAccess ¶
type DirectAccess struct {
// contains filtered or unexported fields
}
DirectAccess осуществляет прямой доступ к базам данных.
func OpenDatabase ¶
func OpenDatabase(filename string) (result *DirectAccess, err error)
OpenDatabase открывает базу данных для чтения.
func (*DirectAccess) GetMaxMfn ¶
func (access *DirectAccess) GetMaxMfn() int
GetMaxMfn получает максимальный MFN для данной базы.
func (*DirectAccess) ReadRawRecord ¶
func (access *DirectAccess) ReadRawRecord(mfn int) (result *MstRecord, err error)
ReadRawRecord считывает запись в сыром виде
func (*DirectAccess) ReadRecord ¶
func (access *DirectAccess) ReadRecord(mfn int) (result *MarcRecord, err error)
ReadRecord считывает и декодирует запись.
type GblSettings ¶
type GblSettings struct {
// Actualize Актуализировать записи?
Actualize bool
// Autoin Запускать autoing.gbl?
Autoin bool
// Database Имя базы данных.
Database string
// Filename Имя файла.
Filename string
// FirstRecord MFN первой записи.
FirstRecord int
// FormalControl Применять формальный контроль?
FormalControl bool
// MaxMfn Максимальный MFN.
MaxMfn int
// MfnList Список MFN для обработки.
MfnList []int
// MinMfn Минимальный MFN.
MinMfn int
// NumberOfRecords Число обрабатываемых записей.
NumberOfRecords int
// SearchExpression Поисковое выражение.
SearchExpression string
// Statements Список операторов
Statements []GblStatement
}
GblSettings Установки для глобальной корректировки.
type GblStatement ¶
type GblStatement struct {
// Command Команда, например, ADD или DEL.
Command string
// Parameter1 Первый параметр, как правило,
// спецификация поля/подполя.
Parameter1 string
// Parameter2 Второй параметр, как правило,
// спецификация повторения.
Parameter2 string
// Format1 Первый формат, например, выражение для замены.
Format1 string
// Format2 Второй формат, например, заменяющее выражение.
Format2 string
}
GblStatement Оператор глобальной корректировки с параметрами.
func (*GblStatement) Encode ¶
func (statement *GblStatement) Encode(delimiter string) string
func (*GblStatement) String ¶
func (statement *GblStatement) String() string
type IfpControlRecord ¶
type IfpFile ¶
type IfpFile struct {
// contains filtered or unexported fields
}
IfpFile - обёртка для инвертированного файла.
func OpenIfpFile ¶
OpenIfpFile открывает файлы IFP, L01, N01
type IfpRecord ¶
type IfpRecord struct {
Leader IfpRecordLeader
Links []TermLink
}
type IfpRecordLeader ¶
type IniFile ¶
type IniFile struct {
Sections []IniSection
}
func NewIniFile ¶
func NewIniFile() *IniFile
func (*IniFile) FindSection ¶
func (file *IniFile) FindSection(name string) *IniSection
func (*IniFile) GetOrCreateSection ¶
func (file *IniFile) GetOrCreateSection(name string) *IniSection
type IniSection ¶
func (*IniSection) Find ¶
func (section *IniSection) Find(key string) *IniLine
func (*IniSection) GetValue ¶
func (section *IniSection) GetValue(key, defaultValue string) string
func (*IniSection) Remove ¶
func (section *IniSection) Remove(key string)
func (*IniSection) SetValue ¶
func (section *IniSection) SetValue(key, value string)
func (*IniSection) String ¶
func (section *IniSection) String() string
type MarcRecord ¶
type MarcRecord struct {
// Database Имя базы данных, в которой хранится запись.
Database string
// Mfn MFN записи.
Mfn int
// Version Версия записи.
Version int
// Status Статус записи.
Status int
// Fields Поля записи.
Fields []*RecordField
}
MarcRecord Библиографическая запись. Составная единица базы данных. Состоит из произвольного количества полей.
func ReadIsoRecord ¶
func ReadIsoRecord(reader io.Reader, decoder func([]byte) string) *MarcRecord
func (*MarcRecord) Add ¶
func (record *MarcRecord) Add(tag int, value string) *RecordField
Add Добавление поля в запись.
func (*MarcRecord) AddNonEmpty ¶
func (record *MarcRecord) AddNonEmpty(tag int, value string) *MarcRecord
AddNonEmpty добавляет в запись непустое поле.
func (*MarcRecord) Clear ¶
func (record *MarcRecord) Clear()
Clear Очистка записи (удаление всех полей).
func (*MarcRecord) Clone ¶
func (record *MarcRecord) Clone() *MarcRecord
Clone клонирует запись со всеми полями.
func (*MarcRecord) Decode ¶
func (record *MarcRecord) Decode(lines []string)
Decode Декодирование записи из протокольного представления.
func (*MarcRecord) Encode ¶
func (record *MarcRecord) Encode(delimiter string) string
Encode Кодирование записи в протокольное представление.
func (*MarcRecord) ExportPlainText ¶
func (record *MarcRecord) ExportPlainText(file *os.File) error
func (*MarcRecord) FM ¶
func (record *MarcRecord) FM(tag int) string
FM Получение значения поля с указанной меткой. Если поле не найдено, возвращается пустая строка.
func (*MarcRecord) FMA ¶
func (record *MarcRecord) FMA(tag int) (result []string)
FMA Получение слайса со значениями полей с указанной меткой.
func (*MarcRecord) FSM ¶
func (record *MarcRecord) FSM(tag int, code rune) string
FSM Получение значения подполя с указанным кодом в поле с указанной меткой. Если поле или подполе не найдено, возвращается пустая строка.
func (*MarcRecord) FSMA ¶
func (record *MarcRecord) FSMA(tag int, code rune) (result []string)
FSMA Получение слайса со значениями подполей с указанными меткой и кодом. Если подполя не найдены, возвращается слайс нулевой длины.
func (*MarcRecord) GetField ¶
func (record *MarcRecord) GetField(tag, occurrence int) *RecordField
GetField Получение указанного повторения поля с указанной меткой. Если поле не найдено, возвращается nil.
func (*MarcRecord) GetFields ¶
func (record *MarcRecord) GetFields(tag int) (result []*RecordField)
GetFields Получение слайса полей с указанной меткой.
func (*MarcRecord) GetFirstField ¶
func (record *MarcRecord) GetFirstField(tag int) *RecordField
GetFirstField Получение первого вхождения поля с указанной меткой. Если такого поля нет, возвращается nil.
func (*MarcRecord) HaveField ¶
func (record *MarcRecord) HaveField(tag int) bool
HaveField выясняет, есть ли в записи поле с указанной меткой.
func (*MarcRecord) InsertAt ¶
func (record *MarcRecord) InsertAt(i int, tag int, value string) *RecordField
InsertAt вставляет поле в указанную позицию.
func (*MarcRecord) RemoveAt ¶
func (record *MarcRecord) RemoveAt(i int) *MarcRecord
RemoveAt удаляет поле в указанной позиции.
func (*MarcRecord) RemoveField ¶
func (record *MarcRecord) RemoveField(tag int) *MarcRecord
RemoveField удаляет все поля с указанной меткой.
func (*MarcRecord) Reset ¶
func (record *MarcRecord) Reset()
Reset сбрасывает состояние записи, отвязывая её от базы данных. Поля при этом остаются нетронутыми.
func (*MarcRecord) SetField ¶
func (record *MarcRecord) SetField(tag int, value string) *MarcRecord
SetField устанавливает значение первого повторения поля с указанной меткой. Если такого поля нет, оно создаётся.
func (*MarcRecord) SetSubfield ¶
func (record *MarcRecord) SetSubfield(tag int, code rune, value string) *MarcRecord
SetSubfield устанавливает значение подполя первого повторения поля с указанной меткой. Если необходимые поля или подполе отсутствуют, они создаются.
func (*MarcRecord) String ¶
func (record *MarcRecord) String() string
String Выдает текстовое представление записи.
func (*MarcRecord) ToPlainText ¶
func (record *MarcRecord) ToPlainText() string
type MstControlRecord ¶
type MstControlRecord struct {
CtlMfn int32 // Резерв.
NextMfn int32 // Номер, который будет назначен следующей созданной записи.
NextPositionLow int32 // Смещение свободного места в файле (младшая часть).
NextPositionHigh int32 // Смещение свободного места в файле (старшая часть).
MftType int32 // Резерв.
RecCnt int32 // Резерв.
Reserv1 int32 // Резерв.
Reserv2 int32 // Резерв.
Blocked int32 // Индикатор блокировки базы данных.
}
MstControlRecord - управляющая запись MST-файла.
func (*MstControlRecord) NextPosition ¶
func (control *MstControlRecord) NextPosition() int64
type MstDictionaryEntry ¶
type MstDictionaryEntry struct {
Tag int32 // Метка поля.
Position int32 // Смещение.
Length int32 // Длина данных.
}
MstDictionaryEntry - запись в словаре MST.
type MstField ¶
type MstField struct {
Tag int32 // Метка поля.
Text string // Значение поля (без деления на подполя).
}
MstField поле в MST-записи.
type MstFile ¶
type MstFile struct {
Control MstControlRecord // Управляющая запись.
// contains filtered or unexported fields
}
XrfFile - обёртка над MST-файлом.
func OpenMstFile ¶
OpenXrfFile открывает файл на чтение.
type MstLeader ¶
type MstLeader struct {
Mfn int32 // Номер записи в файле документов.
Length int32 // Длина записи.
PreviousLow int32 // Ссылка на предыдущую версию записи (младшая часть).
PreviousHigh int32 // Ссылка на предыдущую версию записи (старшая часть).
Base int32 // Смещенеи полей переменной длины.
Nvf int32 // Число полей в записи.
Version int32 // Номер версии записи.
Status int32 // Статус записи.
}
MstLeader - лидер MST-записи.
func (*MstLeader) PreviousOffset ¶
type MstRecord ¶
type MstRecord struct {
Leader MstLeader // Лидер записи.
Dictionary []MstDictionaryEntry // Словарь.
Fields []MstField // Поля.
}
MstRecord - запись в MST-файле.
type NodeItem ¶
NodeItem Справочник в N01/L01 является таблицей, определяющей поисковый термин. Каждый ключ переменной длины, который есть в записи, представлен в справочнике одним входом, формат которого описывает данная структура.
type NodeLeader ¶
NodeLeader - лидер записи в L01/N01-файле.
type NodeRecord ¶
type NodeRecord struct {
Leader NodeLeader
Items []NodeItem
}
NodeRecord - запись в L01/N01-файлах.
type OptFile ¶
type OptFile struct {
// WorksheetLength Длина рабочего листа.
WorksheetLength int
// WorksheetTag Метка поля рабочего листа.
WorksheetTag int
// Lines Строки с паттернами.
Lines []*OptLine
}
OptFile OPT-файл -- файл оптимизации рабочих листов и форматов отображения.
func NewOptFile ¶
func NewOptFile() *OptFile
func (*OptFile) GetWorksheet ¶
func (opt *OptFile) GetWorksheet(record *MarcRecord) string
GetWorksheet Получение рабочего листа записи.
type OptLine ¶
type OptLine struct {
// Pattern Паттерн.
Pattern string
// Worksheet Соответствующий рабочий лист.
Worksheet string
}
OptLine Строка OPT-файла.
type ParFile ¶
type ParFile struct {
Xrf string // Xrf Путь к файлу XRF.
Mst string // Mst Путь к файлу MST.
Cnt string // Cnt Путь к файлу CNT.
N01 string // N01 Путь к файлу N01.
N02 string // N02 В ИРБИС64 не используется.
L01 string // L01 Путь к файлу L01.
L02 string // L02 В ИРБИС64 не используется.
Ifp string // Ifp Путь к файлу IFP.
Any string // Any Путь к файлу ANY.
Pft string // Pft Путь к PFT-файлам.
Ext string // Ext Расположение внешних объектов (поле 951). Параметр появился в версии 2012.
}
ParFile PAR-файл -- содержит пути к файлам базы данных ИРБИС.
func NewParFile ¶
type PostingParameters ¶
type PostingParameters struct {
// Database База данных.
Database string
// FirstPosting Номер первого постинга. Отсчет от 1.
FirstPosting int
// Format Формат.
Format string
// NumberOfPostings Требуемое количество постингов
NumberOfPostings int
// Term Термин.
Term string
// ListOfTerms Список термов
ListOfTerms []string
}
PostingParameters
func NewPostingParameters ¶
func NewPostingParameters() *PostingParameters
type ProcessInfo ¶
type ProcessInfo struct {
// Number Просто порядковый номер в списке.
Number string
// IPAddress С каким клиентом взаимодействует.
IPAddress string
// Name Логин оператора.
Name string
// ClientId Идентификатор клиента.
ClientId string
// Workstation Тип АРМ.
Workstation string
// Started Время запуска
Started string
// LastCommand Последняя выполненная (или выполняемая) команда.
LastCommand string
// CommandNumber Порядковый номер последней команды.
CommandNumber string
// ProcessId Идентификатор процесса.
ProcessId string
// State Состояние.
State string
}
ProcessInfo Информация о запущенном на ИРБИС-сервере процессе.
func ParseProcesses ¶
func ParseProcesses(lines []string) (result []ProcessInfo)
func (*ProcessInfo) String ¶
func (process *ProcessInfo) String() string
type RawRecord ¶
type RawRecord struct {
Database string // имя базы данных
Mfn int // MFN записи
Status int // Статус записи
Version int // Версия записи
Fields []string // Слайс с нераскодированными полями
}
RawRecord запись с нераскодированными полями/подполями.
type RecordField ¶
type RecordField struct {
// Tag Метка поля.
Tag int
// Value Значение поля до первого разделителя.
Value string
// Subfields Подполя.
Subfields []*SubField
}
RecordField Поле записи. Состоит из метки и (опционального) значения. Может содержать произвольное количество подполей.
func NewRecordField ¶
func NewRecordField(tag int, value string) *RecordField
NewRecordField Конструктор: создает поле с указанными меткой и значением.
func (*RecordField) Add ¶
func (field *RecordField) Add(code rune, value string) *RecordField
Add Добавление подполя с указанными кодом и значением.
func (*RecordField) AddNonEmpty ¶
func (field *RecordField) AddNonEmpty(code rune, value string) *RecordField
AddNonEmpty добавляет подполе, при условии, что его значение не пустое.
func (*RecordField) Clear ¶
func (field *RecordField) Clear() *RecordField
Clear Очищает поле (удаляет значение и все подполя). Метка поля остаётся нетронутой.
func (*RecordField) Clone ¶
func (field *RecordField) Clone() *RecordField
Clone клонирует поле со всеми подполями.
func (*RecordField) Decode ¶
func (field *RecordField) Decode(text string)
Decode Декодирование поля из протокольного представления (метка, значение и подполя).
func (*RecordField) DecodeBody ¶
func (field *RecordField) DecodeBody(body string)
DecodeBody декодирует только текст поля и подполей (без метки).
func (*RecordField) Encode ¶
func (field *RecordField) Encode() string
Encode Кодирование поля в протокольное представление (метка, значение и подполя).
func (*RecordField) EncodeBody ¶
func (field *RecordField) EncodeBody() string
EncodeBody Кодирование поля в протокольное представление (только значение и подполя).
func (*RecordField) GetEmbeddedFields ¶
func (field *RecordField) GetEmbeddedFields() (result []*RecordField)
GetEmbeddedFields получает слайс встроенных полей из данного поля.
func (*RecordField) GetFirstSubField ¶
func (field *RecordField) GetFirstSubField(code rune) *SubField
GetFirstSubField Возвращает первое вхождение подполя с указанным кодом. Если такого подполя нет, возвращается nil.
func (*RecordField) GetFirstSubFieldValue ¶
func (field *RecordField) GetFirstSubFieldValue(code rune) string
GetFirstSubFieldValue Возвращает значение первого вхождения подполя с указанным кодом, либо пустую строку, если такого подполя нет.
func (*RecordField) GetValueOrFirstSubField ¶
func (field *RecordField) GetValueOrFirstSubField() string
GetValueOrFirstSubField Выдаёт значение для ^*.
func (*RecordField) HaveSubField ¶
func (field *RecordField) HaveSubField(code rune) bool
HaveSubField выясняет, есть ли подполе с указанным кодом.
func (*RecordField) InsertAt ¶
func (field *RecordField) InsertAt(i int, code rune, value string) *RecordField
InsertAt вставляет подполе в указанную позицию.
func (*RecordField) RemoveAt ¶
func (field *RecordField) RemoveAt(i int) *RecordField
RemoveAt удаляет подполе в указанной позиции.
func (*RecordField) RemoveSubfield ¶
func (field *RecordField) RemoveSubfield(code rune) *RecordField
RemoveSubfield удаляет все подполя с указанным кодом.
func (*RecordField) ReplaceSubfield ¶
func (field *RecordField) ReplaceSubfield(code rune, oldValue, newValue string) *RecordField
ReplaceSubfield заменяет значение подполя.
func (*RecordField) SetSubfield ¶
func (field *RecordField) SetSubfield(code rune, value string) *RecordField
SetSubfield устанавливает значение первого повторения подполя с указанным кодом. Если value==nil, подполе удаляется.
func (*RecordField) String ¶
func (field *RecordField) String() string
String Выдает текстовое представление поля со всеми его подполями.
func (*RecordField) Verify ¶
func (field *RecordField) Verify() (result bool)
Verify Верификация поля со всеми его подполями.
type Search ¶
type Search struct {
// contains filtered or unexported fields
}
Search expression builder.
func DocumentKind ¶
func (Search) SameRepeat ¶
type SearchParameters ¶
type SearchParameters struct {
Database string
FirstRecord int
Format string
MaxMfn int
MinMfn int
NumberOfRecords int
Expression string
Sequential string
Filter string
IsUtf bool
}
func NewSearchParameters ¶
func NewSearchParameters() *SearchParameters
type SearchScenario ¶
type SearchScenario struct {
// Name Название поискового атрибута
// (автор, инвентарный номер и т. д.).
Name string
// Prefix Префикс соответствующих терминов
// в словаре (может быть пустым).
Prefix string
// DictionaryType Тип словаря для соответствующего поиска.
DictionaryType int
// MenuName Имя файла справочника.
MenuName string
// OldFormat Имя формата (без расширения).
OldFormat string
// Correction Способ корректировки по словарю.
Correction string
// Truncation Исходное положение переключателя "Усечение".
Truncation string
// Hint Текст подсказки/предупреждения.
Hint string
// ModByDicAuto Параметр пока не задействован.
ModByDicAuto string
// Logic Применимые логические операторы.
Logic string
// Advance Правила автоматического расширения поиска
// на основе авторитетного файла или тезауруса.
Advance string
// Format Имя формата показа документов.
Format string
}
SearchScenario Сценарий поиска.
func ParseScenarios ¶
func ParseScenarios(ini *IniFile) (result []SearchScenario)
type ServerResponse ¶
type ServerResponse struct {
Command string
ClientId int
QueryId int
AnswerSize int
ReturnCode int
ServerVersion string
// contains filtered or unexported fields
}
func NewServerResponse ¶
func NewServerResponse(conn net.Conn) *ServerResponse
func (*ServerResponse) CheckReturnCode ¶
func (response *ServerResponse) CheckReturnCode(allowed ...int) bool
func (*ServerResponse) GetLine ¶
func (response *ServerResponse) GetLine() []byte
func (*ServerResponse) GetReturnCode ¶
func (response *ServerResponse) GetReturnCode() int
func (*ServerResponse) ReadAnsi ¶
func (response *ServerResponse) ReadAnsi() string
func (*ServerResponse) ReadInteger ¶
func (response *ServerResponse) ReadInteger() int
func (*ServerResponse) ReadRemainingAnsiLines ¶
func (response *ServerResponse) ReadRemainingAnsiLines() []string
func (*ServerResponse) ReadRemainingAnsiText ¶
func (response *ServerResponse) ReadRemainingAnsiText() string
func (*ServerResponse) ReadRemainingUtfLines ¶
func (response *ServerResponse) ReadRemainingUtfLines() []string
func (*ServerResponse) ReadRemainingUtfText ¶
func (response *ServerResponse) ReadRemainingUtfText() string
func (*ServerResponse) ReadUtf ¶
func (response *ServerResponse) ReadUtf() string
type ServerStat ¶
type ServerStat struct {
// RunningClients Подключенные клиенты.
RunningClients []ClientInfo
// ClientCount Число клиентов, подключенных в текущий момент.
ClientCount int
// TotalCommandCount Общее количество команд,
// исполненных сервером с момента запуска.
TotalCommandCount int
}
ServerStat Статистика работы ИРБИС-сервера.
func (*ServerStat) Parse ¶
func (stat *ServerStat) Parse(lines []string)
func (*ServerStat) String ¶
func (stat *ServerStat) String() string
type SubField ¶
SubField Подполе записи. Состоит из кода и значения.
func NewSubField ¶
NewSubField Конструктор, создает подполе с указанными кодом и значением.
type TableDefinition ¶
type TableDefinition struct {
// Database Имя базы данных.
Database string
// Table Имя таблицы.
Table string
// Headers Заголовки таблицы.
Headers []string
// Mode Режим таблицы.
Mode string
// SearchQuery Поисковый запрос.
SearchQuery string
// MinMfn Минимальный MFN.
MinMfn int
// MaxMfn Максимальный MFN.
MaxMfn int
// SequentialQuery Запрос для последовательного поиска.
SequentialQuery string
// MfnList Список MFN, по которым строится таблица.
MfnList []int
}
TableDefinition Данные для метода PrintTable
func (*TableDefinition) String ¶
func (table *TableDefinition) String() string
type Tcp4ClientSocket ¶
type Tcp4ClientSocket struct {
// contains filtered or unexported fields
}
func NewTcp4ClientSocket ¶
func NewTcp4ClientSocket(connection *Connection) *Tcp4ClientSocket
func (*Tcp4ClientSocket) TalkToServer ¶
func (client *Tcp4ClientSocket) TalkToServer(query *ClientQuery) *ServerResponse
type TermInfo ¶
type TermInfo struct {
// Count Количество ссылок.
Count int
// Text Поисковый термин.
Text string
}
TermInfo Информация о термине поискового словаря.
func ParseTerms ¶
ParseTerms Разбор ответа сервера, содержащего массив терминов.
type TermParameters ¶
type TermParameters struct {
// Database Имя базы данных.
Database string
// NumberOfTerms Количество считываемых терминов.
NumberOfTerms int
// ReverseOrder Возвращать в обратном порядке?
ReverseOrder bool
// StartTerm Начальный термин.
StartTerm string
// Format Формат
Format string
}
TermParameters Параметры для запроса терминов с сервера.
type TermPosting ¶
type TermPosting struct {
// Mfn MFN записи с искомым термином.
Mfn int
// Tag Метка поля с искомым термином.
Tag int
// Occurrence Номер повторения поля.
Occurrence int
// Count Количество повторений.
Count int
// Text Результат форматирования.
Text string
}
TermPosting Постинг термина в поисковом индексе.
func ParsePostings ¶
func ParsePostings(lines []string) (result []TermPosting)
func (*TermPosting) String ¶
func (posting *TermPosting) String() string
type UserInfo ¶
type UserInfo struct {
Number string // номер по порядку в списке.
Name string // логин.
Password string // пароль.
Cataloger string // доступность АРМ "Каталогизатор".
Reader string // доступность АРМ "Читатель".
Circulation string // доступность АРМ "Книговыдача".
Acquisitions string // доступность АРМ "Комплектатор".
Provision string // доступность АРМ "Книгообеспеченность".
Administrator string // доступность АРМ "Администратор".
}
Информация о зарегистрированном пользователе системы (по данным client_m.mnu).
type VersionInfo ¶
func (*VersionInfo) Parse ¶
func (version *VersionInfo) Parse(lines []string)
func (*VersionInfo) String ¶
func (version *VersionInfo) String() string
type WsLine ¶
type WsLine struct {
Tag string // Числовая метка поля.
Title string // Наименование поля.
Repeatable string // Повторяемость.
Help string // Индекс контекстной помощи.
EditMode string // Режим ввода.
InputInfo string // Дополнительная информация для расширенных средств ввода
FormalVerification string // Формально-логический контроль
Hint string // Подсказка - текст помощи (инструкции), сопровождающий ввод в поле
DefaultValue string // Значение по умолчанию при создании новой записи
Reserved string // Используется при определенных режимах ввода
}
WsLine - одна строчка ввода в рабочем листе.
type XrfFile ¶
type XrfFile struct {
// contains filtered or unexported fields
}
XrfFile - обёртка над XRF-файлом.
func OpenXrfFile ¶
OpenXrfFile открывает файл на чтение.
Source Files
¶
- Builder.go
- ClientQuery.go
- ClientSocket.go
- Connection.go
- Constants.go
- DatabaseInfo.go
- DirectAccessor.go
- FoundLine.go
- Gbl.go
- IfpFile.go
- IniFile.go
- Iso2709.go
- MarcRecord.go
- MenuFile.go
- MstFile.go
- OptFile.go
- ParFile.go
- PlainText.go
- PostingParameters.go
- ProcessInfo.go
- RawRecord.go
- RecordField.go
- SearchParameters.go
- SearchScenario.go
- ServerResponse.go
- ServerStat.go
- SubField.go
- TableDefinition.go
- TermInfo.go
- TermParameters.go
- TermPosting.go
- TreeFile.go
- UserInfo.go
- Utilities.go
- VersionInfo.go
- Win1251.go
- Worksheet.go
- XrfFile.go