Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
zope.interface / docs / _build / doctrees / foodforthought.doctree
Size: Mime:
€cdocutils.nodes
document
q)q}q(UtagnameqUdocumentqUreporterqNU
attributesq}q(Udupnamesq	]Ubackrefsq
]UsourceXE/home/tseaver/projects/Zope/Z3/zope.interface/docs/foodforthought.rstqUidsq]Uclassesq
]Unamesq]uUparse_messagesq]qU
decorationqNU	citationsq]qU	rawsourceqUU	nametypesq}qX food-based subscription examplesqNsUsettingsq(cdocutils.frontend
Values
qoq}q(Upep_referencesqNUoutput_encoding_error_handlerqUstrictqU
halt_levelqKU
source_urlq NU
dump_settingsq!NUdoctitle_xformq"‰Udump_pseudo_xmlq#NU	tab_widthq$KU	id_prefixq%UUtitleq&NUembed_stylesheetq'‰U
docinfo_xformq(KUfootnote_backlinksq)KUerror_encodingq*UUTF-8q+Uauto_id_prefixq,Uidq-U
language_codeq.Uenq/U	datestampq0NUdump_transformsq1NUoutput_encodingq2Uutf-8q3Uexit_status_levelq4KUstrict_visitorq5NU_disable_configq6NUfile_insertion_enabledq7ˆU	tracebackq8ˆUrecord_dependenciesq9NUstrip_commentsq:NUdebugq;NU	generatorq<NUgettext_compactq=ˆUenvq>NU
strip_classesq?NUpep_file_url_templateq@Upep-%04dqAUinput_encoding_error_handlerqBhUexpose_internalsqCNUrfc_referencesqDNU
toc_backlinksqEUentryqFUtrim_footnote_reference_spaceqG‰U_sourceqHhUwarning_streamqINUinput_encodingqJU	utf-8-sigqKUsectsubtitle_xformqL‰Usource_linkqMNUconfigqNNU
sectnum_xformqOKUerror_encoding_error_handlerqPUbackslashreplaceqQU
_config_filesqR]Udump_internalsqSNUsmart_quotesqT‰Ucloak_email_addressesqUˆUraw_enabledqVKUstrip_elements_with_classesqWNUpep_base_urlqXU https://www.python.org/dev/peps/qYUreport_levelqZKUrfc_base_urlq[Uhttps://tools.ietf.org/html/q\U_destinationq]NUsyntax_highlightq^Ulongq_ubUautofootnote_refsq`]qaU
footnote_refsqb}qcUid_startqdKU
citation_refsqe}qfUsymbol_footnote_refsqg]qhUtransform_messagesqi]qjU	footnotesqk]qlUnameidsqm}qnhU food-based-subscription-examplesqosUrefnamesqp}qqUtransformerqrNUidsqs}qthocdocutils.nodes
section
qu)qv}qw(hhhUsectionqxh}qy(h
]h	]h]qzhah]q{hoah
]uUlineq|KUsourceq}hhUUparentq~hUchildrenq]q€(cdocutils.nodes
title
q)q‚}qƒ(hhhh&h}q„(h
]h	]h]h]h
]uh|Kh}hhX Food-based subscription examplesq…h~hvh]q†cdocutils.nodes
Text
q‡X Food-based subscription examplesqˆ…q‰}qŠ(hh…h~h‚ubaubcdocutils.nodes
paragraph
q‹)qŒ}q(hhhU	paragraphqŽh}q(h
]h	]h]h]h
]uh|Kh}hhXIThis file gives more subscription examples using a cooking-based example:qh~hvh]q‘h‡XIThis file gives more subscription examples using a cooking-based example:q’…q“}q”(hhh~hŒubaubcdocutils.nodes
literal_block
q•)q–}q—(hhhU
literal_blockq˜h}q™(h	]U	xml:spaceqšUpreserveq›h
]UtestnodetypeXdoctesth
]Ugroups]qœUdefaultqah]Uoptionsqž}h]uh|Kh}hhX+>>> from zope.interface.adapter import AdapterRegistry
>>> registry = AdapterRegistry()

>>> import zope.interface
>>> class IAnimal(zope.interface.Interface):
...     pass
>>> class IPoultry(IAnimal):
...     pass
>>> class IChicken(IPoultry):
...     pass
>>> class ISeafood(IAnimal):
...     passh~hvh]qŸh‡X+>>> from zope.interface.adapter import AdapterRegistry
>>> registry = AdapterRegistry()

>>> import zope.interface
>>> class IAnimal(zope.interface.Interface):
...     pass
>>> class IPoultry(IAnimal):
...     pass
>>> class IChicken(IPoultry):
...     pass
>>> class ISeafood(IAnimal):
...     passq …q¡}q¢(hUh~h–ubaubh‹)q£}q¤(hhhhŽh}q¥(h
]h	]h]h]h
]uh|Kh}hhXfAdapting to some other interface for which there is no
subscription adapter returns an empty sequence:q¦h~hvh]q§h‡XfAdapting to some other interface for which there is no
subscription adapter returns an empty sequence:q¨…q©}qª(hh¦h~h£ubaubh•)q«}q¬(hhhh˜h}q­(h	]hšh›h
]UtestnodetypeXdoctesth
]Ugroups]q®hah]hž}h]uh|Kh}hhXî>>> class IRecipe(zope.interface.Interface):
...     pass
>>> class ISausages(IRecipe):
...     pass
>>> class INoodles(IRecipe):
...     pass
>>> class IKFC(IRecipe):
...     pass

>>> list(registry.subscriptions([IPoultry], IRecipe))
[]h~hvh]q¯h‡Xî>>> class IRecipe(zope.interface.Interface):
...     pass
>>> class ISausages(IRecipe):
...     pass
>>> class INoodles(IRecipe):
...     pass
>>> class IKFC(IRecipe):
...     pass

>>> list(registry.subscriptions([IPoultry], IRecipe))
[]q°…q±}q²(hUh~h«ubaubh‹)q³}q´(hhhhŽh}qµ(h
]h	]h]h]h
]uh|K(h}hhX unless we define a subscription:q¶h~hvh]q·h‡X unless we define a subscription:q¸…q¹}qº(hh¶h~h³ubaubh•)q»}q¼(hhhh˜h}q½(h	]hšh›h
]UtestnodetypeXdoctesth
]Ugroups]q¾hah]hž}h]uh|K*h}hhX}>>> registry.subscribe([IAnimal], ISausages, 'sausages')
>>> list(registry.subscriptions([IPoultry], ISausages))
['sausages']h~hvh]q¿h‡X}>>> registry.subscribe([IAnimal], ISausages, 'sausages')
>>> list(registry.subscriptions([IPoultry], ISausages))
['sausages']qqÁ}qÂ(hUh~h»ubaubh‹)qÃ}qÄ(hhhhŽh}qÅ(h
]h	]h]h]h
]uh|K0h}hhX(And define another subscription adapter:qÆh~hvh]qÇh‡X(And define another subscription adapter:qȅqÉ}qÊ(hhÆh~hÃubaubh•)qË}qÌ(hhhh˜h}qÍ(h	]hšh›h
]UtestnodetypeXdoctesth
]Ugroups]qÎhah]hž}h]uh|K2h}hhXQ>>> registry.subscribe([IPoultry], INoodles, 'noodles')
>>> meals = list(registry.subscriptions([IPoultry], IRecipe))
>>> meals.sort()
>>> meals
['noodles', 'sausages']

>>> registry.subscribe([IChicken], IKFC, 'kfc')
>>> meals = list(registry.subscriptions([IChicken], IRecipe))
>>> meals.sort()
>>> meals
['kfc', 'noodles', 'sausages']h~hvh]qÏh‡XQ>>> registry.subscribe([IPoultry], INoodles, 'noodles')
>>> meals = list(registry.subscriptions([IPoultry], IRecipe))
>>> meals.sort()
>>> meals
['noodles', 'sausages']

>>> registry.subscribe([IChicken], IKFC, 'kfc')
>>> meals = list(registry.subscriptions([IChicken], IRecipe))
>>> meals.sort()
>>> meals
['kfc', 'noodles', 'sausages']qЅqÑ}qÒ(hUh~hËubaubh‹)qÓ}qÔ(hhhhŽh}qÕ(h
]h	]h]h]h
]uh|K@h}hhX*And the answer for poultry hasn't changed:qÖh~hvh]q×h‡X*And the answer for poultry hasn't changed:q؅qÙ}qÚ(hhÖh~hÓubaubh•)qÛ}qÜ(hhhh˜h}qÝ(h	]hšh›h
]UtestnodetypeXdoctesth
]Ugroups]qÞhah]hž}h]uh|KBh}hhXp>>> meals = list(registry.subscriptions([IPoultry], IRecipe))
>>> meals.sort()
>>> meals
['noodles', 'sausages']h~hvh]qßh‡Xp>>> meals = list(registry.subscriptions([IPoultry], IRecipe))
>>> meals.sort()
>>> meals
['noodles', 'sausages']qŁqá}qâ(hUh~hÛubaubeubsUsymbol_footnotesqã]qähhUindirect_targetsqå]qæUsubstitution_namesqç}qèUcurrent_lineqéNUsubstitution_defsqê}qëUsymbol_footnote_startqìKUautofootnote_startqíKU
autofootnotesqî]qïh]qðhvaUcurrent_sourceqñNUrefidsqò}qóub.