Документация Python неофициальный перевод
Содержание страницы

37.1. ic – Доступ к Internet Config в Mac OS Xic – Access to the Mac OS X Internet Config

Этот модуль предоставляет доступ к различным интернет-настройкам, задаваемым через Системные настройки или Finder.

Примечание

Этот модуль был удалён в Python 3.x.

Существует низкоуровневый сопутствующий модуль icglue, который предоставляет базовую функциональность доступа к Internet Config. Этот низкоуровневый модуль не документирован, но строки документации (docstrings) процедур описывают параметры, а имена процедур совпадают с именами в Pascal или C API к Internet Config, поэтому если нужен этот модуль, можно использовать стандартную документацию программистов IC.

Модуль ic определяет исключение error и символьные имена для всех кодов ошибок, которые может генерировать Internet Config; подробности см. в исходном коде.

exception ic.error

Исключение, возбуждаемое при ошибках в модуле ic.

Модуль ic определяет следующий класс и функцию:

class ic.IC([signature[, ic]])

Создаёт объект Internet Config. Параметр signature – это 4-символьный код создателя текущего приложения (по умолчанию 'Pyth'), который может влиять на некоторые настройки IC. Необязательный аргумент ic – это заранее созданный низкоуровневый icglue.icinstance; это может быть полезно, если нужно получить настройки из другого конфигурационного файла и т.д.

ic.launchurl(url[, hint])
ic.parseurl(data[, start[, end[, hint]]])
ic.mapfile(file)
ic.maptypecreator(type, creator[, filename])
ic.settypecreator(file)

Эти функции являются «ярлыками» к одноимённым методам, описанным ниже.

37.1.1. Объекты ICIC Objects

Объекты IC имеют интерфейс отображения (mapping), поэтому для получения почтового адреса достаточно обратиться к ic['MailAddress']. Присваивание также работает и изменяет соответствующий параметр в конфигурационном файле.

Модуль знает о различных типах данных и преобразует внутреннее представление IC в «логическую» структуру данных Python. Запуск модуля ic как самостоятельной программы запустит тестовую программу, которая перечислит все ключи и значения в вашей базе данных IC – это можно использовать в качестве документации.

Если модуль не знает, как представить данные, он возвращает экземпляр типа ICOpaqueData с необработанными данными в атрибуте data. Объекты этого типа также допустимы в качестве значений для присваивания.

Помимо интерфейса словаря, объекты IC имеют следующие методы:

IC.launchurl(url[, hint])

Разбирает указанный URL, запускает соответствующее приложение и передаёт ему URL. Необязательный параметр hint может быть именем схемы, например 'mailto:'; в этом случае неполные URL дополняются этой схемой. Если hint не указан, неполные URL считаются недопустимыми.

IC.parseurl(data[, start[, end[, hint]]])

Находит URL где-то в data и возвращает начальную позицию, конечную позицию и URL. Необязательные параметры start и end можно использовать для ограничения поиска; например, если пользователь щёлкает в длинном текстовом поле, можно передать всё текстовое поле и позицию щелчка в start, и эта процедура вернёт полный URL, на который щёлкнул пользователь. Как и выше, hint – необязательная схема для дополнения неполных URL.

IC.mapfile(file)

Возвращает запись отображения для указанного file, который может быть передан как имя файла или результат FSSpec(); файл не обязан существовать.

Запись отображения возвращается в виде кортежа (version, type, creator, postcreator, flags, extension, appname, postappname, mimetype, entryname), где version – номер версии записи, type – 4-символьный тип файла, creator – 4-символьный тип создателя, postcreator – 4-символьный код создателя необязательного приложения для постобработки файла после загрузки, flags – различные биты, определяющие, передавать в двоичном или текстовом виде и т.п., extension – расширение имени файла для этого типа, appname – читаемое имя приложения, которому принадлежит файл, postappname – имя приложения для постобработки, mimetype – MIME-тип этого файла и entryname – имя этой записи.

IC.maptypecreator(type, creator[, filename])

Возвращает запись отображения для файлов с заданными 4-символьными кодами type и creator. Необязательный параметр filename может быть указан для дополнительного уточнения правильной записи (например, если код создателя равен '????').

Запись отображения возвращается в том же формате, что и для mapfile.

IC.settypecreator(file)

Для существующего file, указанного как имя файла или результат FSSpec(), устанавливает его создателя и тип на основе расширения. Finder уведомляется об изменении, поэтому значок Finder обновится быстро.