Содержание страницы
37.1. ic – Доступ к Internet Config в Mac OS X¶ic – 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; подробности см. в исходном коде.
Модуль 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. Объекты IC¶IC 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 обновится быстро.