summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDmitry Vasiliev <dima@hlabs.spb.ru>2007-06-26 13:24:57 +0000
committerDmitry Vasiliev <dima@hlabs.spb.ru>2007-06-26 13:24:57 +0000
commit4fe9e0e5af3f295b6757475465d3ced66a58afcf (patch)
tree2b7b765dec883e62bf3791e688de1e279028127d /src
parent21e368c1e84475beca4b4542e3a37f28d8a6d47f (diff)
downloadzope-interface-4fe9e0e5af3f295b6757475465d3ced66a58afcf.tar.gz
Fixed RsT markup
Diffstat (limited to 'src')
-rw-r--r--src/zope/interface/human.ru.txt28
-rw-r--r--src/zope/interface/human.txt26
2 files changed, 28 insertions, 26 deletions
diff --git a/src/zope/interface/human.ru.txt b/src/zope/interface/human.ru.txt
index b2a561e..a149072 100644
--- a/src/zope/interface/human.ru.txt
+++ b/src/zope/interface/human.ru.txt
@@ -6,13 +6,13 @@
реестра адаптеров. Документ рассчитывался как конкретный, но более узкий пример
того как использовать интерфейсы и адаптеры вне Zope 3.
-Сначала нам необходимо импортировать пакет для работы с интерфейсами.
+Сначала нам необходимо импортировать пакет для работы с интерфейсами::
>>> import zope.interface
Теперь мы разработаем интерфейс для нашего объекта - простого файла. Наш файл
будет содержать всего один атрибут - body, в котором фактически будет сохранено
-содержимое файла.
+содержимое файла::
>>> class IFile(zope.interface.Interface):
...
@@ -22,7 +22,7 @@
Для статистики нам часто необходимо знать размер файла. Но было бы несколько
топорно реализовывать определение размера прямо для объекта файла, т.к. размер
больше относится к мета-данным. Таким образом мы создаем еще один интерфейс для
-представления размера какого-либо объекта.
+представления размера какого-либо объекта::
>>> class ISize(zope.interface.Interface):
...
@@ -32,7 +32,8 @@
Теперь мы должны создать класс реализующий наш файл. Необходимо что бы наш
объект хранил информацию о том, что он реализует интерфейс `IFile`. Мы также
-создаем атрибут с содержимым файла по умолчанию (для упрощения нашего примера).
+создаем атрибут с содержимым файла по умолчанию (для упрощения нашего
+примера)::
>>> class File(object):
...
@@ -53,7 +54,8 @@
предоставляющий `IFile`) который используется для получения из него размера.
Так же по соглашению контекст сохраняется а адаптере в атрибуте с именем
`context`. Twisted комьюнити ссылается на контекст как на объект `original`.
-Таким образом можно также дать аргументу любое подходящее имя, например `file`.
+Таким образом можно также дать аргументу любое подходящее имя, например
+`file`::
>>> class FileSize(object):
...
@@ -70,7 +72,7 @@
Теперь когда мы написали наш адаптер мы должны зарегистрировать его в реестре
адаптеров, что бы его можно было запросить когда он понадобится. Здесь нет
какого-либо глобального реестра адаптеров, таким образом мы должны
-самостоятельно создать для нашего примера реестр.
+самостоятельно создать для нашего примера реестр::
>>> from zope.interface.adapter import AdapterRegistry
>>> registry = AdapterRegistry()
@@ -89,18 +91,18 @@
адаптер, в нашем случае `ISize`. Третий аргумент - имя адаптера. Сейчас нам не
важно имя адаптера и мы передаем его как пустую строку. Обычно имена полезны
если используются адаптеры для одинакового набора интерфейсов, но в различных
-ситуациях. Последний аргумент - это класс адаптера.
+ситуациях. Последний аргумент - это класс адаптера::
>>> registry.register([IFile], ISize, '', FileSize)
-Теперь мы можем использовать реестр для запроса адаптера.
+Теперь мы можем использовать реестр для запроса адаптера::
>>> registry.lookup1(IFile, ISize, '')
<class '__main__.FileSize'>
Попробуем более практичный пример. Создадим экземпляр `File` и создадим адаптер
использующий запрос реестра. Затем мы увидим возвращает ли адаптер корректный
-размер при вызове `getSize()`.
+размер при вызове `getSize()`::
>>> file = File()
>>> size = registry.lookup1(IFile, ISize, '')(file)
@@ -122,7 +124,7 @@ IFoo(obj); их предназначение - найти адаптеры ко
кэширование, или адаптеры сохраняемые в базе. Функция поиска должна принимать
желаемый на выходе интерфейс (в нашем случае `ISize`) как первый аргумент и
контекст для адаптации (`file`) как второй. Функция должна вернуть адаптер,
-т.е. экземпляр `FileSize`.
+т.е. экземпляр `FileSize`::
>>> def hook(provided, object):
... adapter = registry.lookup1(zope.interface.providedBy(object),
@@ -130,19 +132,19 @@ IFoo(obj); их предназначение - найти адаптеры ко
... return adapter(object)
...
-Теперь мы просто добавляем нашу функцию к списку `adapter_hooks`.
+Теперь мы просто добавляем нашу функцию к списку `adapter_hooks`::
>>> from zope.interface.interface import adapter_hooks
>>> adapter_hooks.append(hook)
-Как только функция зарегистрирована мы можем использовать желаемый синтаксис.
+Как только функция зарегистрирована мы можем использовать желаемый синтаксис::
>>> size = ISize(file)
>>> size.getSize()
7
После нам нужно прибраться за собой, что бы другие получили чистый список
-`adaper_hooks` после нас.
+`adaper_hooks` после нас::
>>> adapter_hooks.remove(hook)
diff --git a/src/zope/interface/human.txt b/src/zope/interface/human.txt
index 1660893..749b87d 100644
--- a/src/zope/interface/human.txt
+++ b/src/zope/interface/human.txt
@@ -6,13 +6,13 @@ This is a small demonstration of the ``zope.interface`` package including its
adapter registry. It is intended to provide a concrete but narrow example on
how to use interfaces and adapters outside of Zope 3.
-First we have to import the interface package.
+First we have to import the interface package::
>>> import zope.interface
We now develop an interface for our object, which is a simple file in this
case. For now we simply support one attribute, the body, which contains the
-actual file contents.
+actual file contents::
>>> class IFile(zope.interface.Interface):
...
@@ -22,7 +22,7 @@ actual file contents.
For statistical reasons we often want to know the size of a file. However, it
would be clumsy to implement the size directly in the file object, since the
size really represents meta-data. Thus we create another interface that
-provides the size of something.
+provides the size of something::
>>> class ISize(zope.interface.Interface):
...
@@ -32,7 +32,7 @@ provides the size of something.
Now we need to implement the file. It is essential that the object states
that it implements the `IFile` interface. We also provide a default body
-value (just to make things simpler for this example).
+value (just to make things simpler for this example)::
>>> class File(object):
...
@@ -52,7 +52,7 @@ context. The context in this case is an instance of `File` (providing `IFile`)
that is used to extract the size from. Also by convention the context is
stored in an attribute named `context` on the adapter. The twisted community
refers to the context as the `original` object. However, you may feel free to
-use a specific argument name, such as `file`.
+use a specific argument name, such as `file`::
>>> class FileSize(object):
...
@@ -68,7 +68,7 @@ use a specific argument name, such as `file`.
Now that we have written our adapter, we have to register it with an adapter
registry, so that it can be looked up when needed. There is no such thing as a
-global registry; thus we have to instantiate one for our example manually.
+global registry; thus we have to instantiate one for our example manually::
>>> from zope.interface.adapter import AdapterRegistry
>>> registry = AdapterRegistry()
@@ -88,18 +88,18 @@ The second argument is the interface the adapter provides, in our case
`ISize`. The third argument is the name of the adapter. Since we do not care
about names, we simply leave it as an empty string. Names are commonly useful,
if you have adapters for the same set of interfaces, but they are useful in
-different situations. The last argument is simply the adapter class.
+different situations. The last argument is simply the adapter class::
>>> registry.register([IFile], ISize, '', FileSize)
-You can now use the the registry to lookup the adapter.
+You can now use the the registry to lookup the adapter::
>>> registry.lookup1(IFile, ISize, '')
<class '__main__.FileSize'>
Let's get a little bit more practical. Let's create a `File` instance and
create the adapter using a registry lookup. Then we see whether the adapter
-returns the correct size by calling `getSize()`.
+returns the correct size by calling `getSize()`::
>>> file = File()
>>> size = registry.lookup1(IFile, ISize, '')(file)
@@ -120,7 +120,7 @@ of the simplest hooks that use the registry, but you could implement one that
used an adapter cache or persistent adapters, for instance. The helper hook is
required to expect as first argument the desired output interface (for us
`ISize`) and as the second argument the context of the adapter (here
-`file`). The function returns an adapter, i.e. a `FileSize` instance.
+`file`). The function returns an adapter, i.e. a `FileSize` instance::
>>> def hook(provided, object):
... adapter = registry.lookup1(zope.interface.providedBy(object),
@@ -128,19 +128,19 @@ required to expect as first argument the desired output interface (for us
... return adapter(object)
...
-We now just add the hook to an `adapter_hooks` list.
+We now just add the hook to an `adapter_hooks` list::
>>> from zope.interface.interface import adapter_hooks
>>> adapter_hooks.append(hook)
-Once the hook is registered, you can use the desired syntax.
+Once the hook is registered, you can use the desired syntax::
>>> size = ISize(file)
>>> size.getSize()
7
Now we have to cleanup after ourselves, so that others after us have a clean
-`adapter_hooks` list.
+`adapter_hooks` list::
>>> adapter_hooks.remove(hook)