~lgs/zcadoc/book

« back to all changes in this revision

Viewing changes to izca-es.txt

  • Committer: Lorenzo Gil Sanchez
  • Date: 2007-12-20 18:21:09 UTC
  • Revision ID: lgs@sicem.biz-20071220182109-1wxaq68j3f2o9yhu
Finished normal chapters. Reference is left

Show diffs side-by-side

added added

removed removed

Lines of Context:
1716
1716
  <includeOverrides file="overrides.zcml" />
1717
1717
 
1718
1718
 
1719
 
NameChooser (Elejidor de nombres)
 
1719
NameChooser (Elegidor de nombres)
1720
1720
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1721
1721
 
1722
1722
Situación: `zope.app.container.contained.NameChooser`
1723
1723
 
1724
 
Este es un adaptador para elejir un nombre único para un objeto dentro
 
1724
Este es un adaptador para elegir un nombre único para un objeto dentro
1725
1725
de un contenedor.
1726
1726
 
1727
1727
El registro del adaptador es así::
1745
1745
de forma separada.
1746
1746
 
1747
1747
 
1748
 
LocationPhysicallyLocatable
1749
 
~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
1748
LocationPhysicallyLocatable (LocalizaciónFisicaLocalizable)
 
1749
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1750
1750
 
1751
 
Location:
 
1751
Situación:
1752
1752
``zope.location.traversing.LocationPhysicallyLocatable``
1753
1753
 
1754
 
This adapter is frequently used in Zope 3 applications, but
1755
 
normally it is called through an API in ``zope.traversing.api``.
1756
 
(Some old code even use ``zope.app.zapi`` functions, which is
1757
 
again one more indirection)
 
1754
Este adaptador se usa a menudo en las aplicaciones Zope 3, pero
 
1755
normalmente se llama a través de una API en ``zope.traversing.api``.
 
1756
(Hay código antiguo que incluso usa las funciones de 
 
1757
``zope.app.zapi``, que es una indirección más).
1758
1758
 
1759
 
The registration of adapter is like this::
 
1759
El registro del adaptador es así::
1760
1760
 
1761
1761
  <adapter
1762
1762
      factory="zope.location.traversing.LocationPhysicallyLocatable"
1763
1763
      />
1764
1764
 
1765
 
The interface provided and adaptee interface is given in the
1766
 
implementation.
 
1765
La interfaz ofrecida y la interfaz del adaptado se da en la
 
1766
implementación.
1767
1767
 
1768
 
Here is the beginning of implementation::
 
1768
Aquí tenemos el inicio de la implementación::
1769
1769
 
1770
1770
  class LocationPhysicallyLocatable(object):
1771
1771
      """Provide location information for location objects
1774
1774
      zope.interface.implements(IPhysicallyLocatable)
1775
1775
      ...
1776
1776
 
1777
 
Normally, almost all persistent objects in Zope 3 application
1778
 
will be providing the ``ILocation`` interface.  This interface
1779
 
has only two attribute, ``__parent__`` and ``__name__``.  The
1780
 
``__parent__`` is the parent in the location hierarchy.  And
1781
 
``__name__`` is the name within the parent.
1782
 
 
1783
 
The ``IPhysicallyLocatable`` interface has four methods:
1784
 
``getRoot``, ``getPath``, ``getName``, and ``getNearestSite``.
1785
 
 
1786
 
  - ``getRoot`` function will return the physical root object.
1787
 
 
1788
 
  - ``getPath`` return the physical path to the object as a
1789
 
    string.
1790
 
 
1791
 
  - ``getName`` return the last segment of the physical path.
1792
 
 
1793
 
  - ``getNearestSite`` return the site the object is contained
1794
 
    in.  If the object is a site, the object itself is returned.
1795
 
 
1796
 
If you learn Zope 3, you can see that these are the important
1797
 
things which you required very often.  To understand the beauty
1798
 
of this system, you must see how Zope 2 actually get the physical
1799
 
root object and how it is implemented.  There is a method called
1800
 
``getPhysicalRoot`` virtually for all container objects.
1801
 
 
1802
 
 
1803
 
DefaultSized
1804
 
~~~~~~~~~~~~
1805
 
 
1806
 
Location: ``zope.size.DefaultSized``
1807
 
 
1808
 
This adapter is just a default implementation of ``ISized`` interface.
1809
 
This adapter is registered for all kind of objects.  If you want to
1810
 
register this adapter for a particular interface, then you have to
1811
 
override this registration for your implementation.
1812
 
 
1813
 
The registration of adapter is like this::
 
1777
Normalmente, casi todos los objetos persistentes en las aplicaciones
 
1778
Zope 3 ofrecerán la interfaz ``ILocation``. Esta interfaz sólo tiene
 
1779
dos atributos, ``__parent__`` y ``__name__``. El ``__parent__`` es
 
1780
el padre en la jerarquía de localización. Y ``__name__`` es el 
 
1781
nombre dentro del padre.
 
1782
 
 
1783
La interfaz ``IPhysicallyLocatable`` tiene cuatro métodos:
 
1784
``getRoot``, ``getPath``, ``getName``, y ``getNearestSite``.
 
1785
 
 
1786
  - ``getRoot`` devuelve el objeto raiz físico.
 
1787
 
 
1788
  - ``getPath`` devuelve la ruta física al objeto como una cadena.
 
1789
 
 
1790
  - ``getName`` devuelve el último segmento a la ruta física.
 
1791
 
 
1792
  - ``getNearestSite`` devuelve el sitio en el que el objeto está
 
1793
    contenido. Si el objeto es un sitio, devuelve el propio objeto.
 
1794
 
 
1795
Si aprendes Zope 3, puedes ver que estas son las cosas importantes
 
1796
que necesistas a menudo. Para comprender la belleza de este sistema,
 
1797
debes ver cómo Zope 2 obtiene el objeto raíz físico realmente y
 
1798
cómo está implementado. Hay un método llamado ``getPhysicalRoot``
 
1799
prácticamente para todos los objetos contenedores.
 
1800
 
 
1801
 
 
1802
DefaultSized (TamañoPredeterminado)
 
1803
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
1804
 
 
1805
Situación: ``zope.size.DefaultSized``
 
1806
 
 
1807
Este adaptador es sólo una implementación inicial para la interfaz
 
1808
``ISized``. Este adaptador se registra para todo tipo de objetos. Si
 
1809
quieres registrar este adaptador para una interfaz particular, tendrás
 
1810
que redefinir este registro para tu implementación.
 
1811
 
 
1812
El registro del adaptador es así::
1814
1813
 
1815
1814
  <adapter
1816
1815
      for="*"
1819
1818
      permission="zope.View"
1820
1819
      />
1821
1820
 
1822
 
As you can see, the adaptee interface is `*`, so it can adapt any kind
1823
 
of objects.
 
1821
Como puees ver, la interfaz del adaptado es `*`, por lo que puede
 
1822
adaptar cualquier tipo de objetos.
1824
1823
 
1825
 
The ``ISized`` is a simple interface with two method contracts::
 
1824
``ISized`` es una interfaz simple con dos métodos::
1826
1825
 
1827
1826
  class ISized(Interface):
1828
1827
 
1837
1836
          """Returns a string giving the size.
1838
1837
          """
1839
1838
 
1840
 
You can see another ``ISized`` adapter registered for ``IZPTPage`` in
1841
 
``zope.app.zptpage`` package.
1842
 
 
1843
 
 
1844
 
ZopeVersionUtility
1845
 
~~~~~~~~~~~~~~~~~~
1846
 
 
1847
 
Location: ``zope.app.applicationcontrol.ZopeVersionUtility``
1848
 
 
1849
 
This utility gives version of the running Zope.
1850
 
 
1851
 
The registration goes like this::
 
1839
El método ``sizeForSorting`` devuelve una tupla (unidad_base, cantidad).
 
1840
Se utiliza para ordenar distintos tipos de objetos dimensionables.
 
1841
La cantidad tiene que ser ordenable entre cosas que compartan el mismo
 
1842
tipo de unidad base.
 
1843
 
 
1844
El método ``sizeForDisplay`` devuelve una cadena que describe el tamaño.
 
1845
 
 
1846
Puedes ver otro adaptador para ``ISized`` registrado para ``IZPTPage``
 
1847
en el paquete ``zope.app.zptpage``.
 
1848
 
 
1849
 
 
1850
ZopeVersionUtility (UtilidadVersionZope)
 
1851
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
1852
 
 
1853
Situación: ``zope.app.applicationcontrol.ZopeVersionUtility``
 
1854
 
 
1855
Esta utilidad devuelve la versión del Zope que se está ejecutando.
 
1856
 
 
1857
El registro es así::
1852
1858
 
1853
1859
  <utility
1854
1860
      component=".zopeversion.ZopeVersionUtility"
1855
1861
      provides=".interfaces.IZopeVersion" />
1856
1862
 
1857
 
The interface provided, ``IZopeVersion``, has only one method named
1858
 
``getZopeVersion``.  This method return a string containing the Zope
1859
 
version (possibly including SVN information).
 
1863
La interfaz que se ofrece, ``IZopeVersion``, sólo tiene un método
 
1864
llamado ``getZopeVersion``. Este método devuelve una cadena que
 
1865
contiene la versión de Zope (posíblemente incluyendo información
 
1866
de SVN).
1860
1867
 
1861
 
The default implementation, ``ZopeVersionUtility``, get version info
1862
 
from a file ``version.txt`` in `zope/app` directory.  If Zope is
1863
 
running from subversion checkout, it will show the latest revision
1864
 
number.  If none of the above works it will set it to:
1865
 
`Development/Unknown`.
 
1868
La implementación predeterminada, ``ZopeVersionUtility``, obtiene
 
1869
la información de la versión a partir de un fichero ``version.txt``
 
1870
en el directorio `zope/app`. Si Zope se está ejecutando desde
 
1871
una copia local de subversion, mostrará el último número de revisión.
 
1872
Si ninguna de las opciones anteriores funciona devolverá la cadena:
 
1873
`Development/Unknown` (Desarrollo/Desconocido).
1866
1874
 
1867
1875
 
1868
1876
Referencia