Skip to content

Commit

Permalink
Documentation, typing info. Prepare RTD
Browse files Browse the repository at this point in the history
  • Loading branch information
penguinolog committed Mar 21, 2018
1 parent 4e5ef30 commit 5627cba
Show file tree
Hide file tree
Showing 6 changed files with 134 additions and 10 deletions.
3 changes: 3 additions & 0 deletions README.rst
Expand Up @@ -7,6 +7,9 @@ Advanced descriptors
:target: https://ci.appveyor.com/project/penguinolog/advanced-descriptors
.. image:: https://coveralls.io/repos/github/penguinolog/advanced-descriptors/badge.svg?branch=master
:target: https://coveralls.io/github/penguinolog/advanced-descriptors?branch=master
.. image:: https://readthedocs.org/projects/advanced-descriptors/badge/?version=latest
:target: http://advanced-descriptors.readthedocs.io/
:alt: Documentation Status
.. image:: https://img.shields.io/pypi/v/advanced-descriptors.svg
:target: https://pypi.python.org/pypi/advanced-descriptors
.. image:: https://img.shields.io/pypi/pyversions/advanced-descriptors.svg
Expand Down
2 changes: 1 addition & 1 deletion advanced_descriptors/__init__.py
Expand Up @@ -21,7 +21,7 @@
'AdvancedProperty',
)

__version__ = '0.5.5'
__version__ = '0.5.6'
__author__ = "Alexey Stepanov"
__author_email__ = 'penguinolog@gmail.com'
__url__ = 'https://github.com/penguinolog/advanced-descriptors'
Expand Down
18 changes: 9 additions & 9 deletions advanced_descriptors/advanced_property.py
Expand Up @@ -159,7 +159,7 @@ def __init__(
:type fcget:
typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]
.. note: doc argument is not supported due to class wide getter usage.
.. note:: doc argument is not supported due to class wide getter usage.
"""
self.__fget = fget
self.__fset = fset
Expand Down Expand Up @@ -210,15 +210,15 @@ def __delete__(self, instance): # type: (...) -> None
return self.__fdel(instance)

@property
def fget(self): # type: (AdvancedProperty) -> GetterType
def fget(self): # type: () -> GetterType
"""Getter instance.
:rtype: typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]
"""
return self.__fget

@property
def fset(self): # type: (AdvancedProperty) -> SetterType
def fset(self): # type: () -> SetterType
"""Setter instance.
:rtype:
Expand All @@ -227,15 +227,15 @@ def fset(self): # type: (AdvancedProperty) -> SetterType
return self.__fset

@property
def fdel(self): # type: (AdvancedProperty) -> DeleterType
def fdel(self): # type: () -> DeleterType
"""Deleter instance.
:rtype: typing.Optional[typing.Callable[[typing.Any, ], None]]
"""
return self.__fdel

@property
def fcget(self): # type: (AdvancedProperty) -> GetterType
def fcget(self): # type: () -> GetterType
"""Class wide getter instance.
:rtype: typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]
Expand All @@ -251,7 +251,7 @@ def getter(
:param fget: new normal getter.
:type fget:
typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]
:rtype: GetterType
:rtype: AdvancedProperty
"""
self.__fget = fget
return self
Expand All @@ -265,7 +265,7 @@ def setter(
:param fset: new setter.
:type fset:
typing.Optional[typing.Callable[[typing.Any, typing.Any], None]]
:rtype: GetterType
:rtype: AdvancedProperty
"""
self.__fset = fset
return self
Expand All @@ -278,7 +278,7 @@ def deleter(
:param fdel: New deleter.
:type fdel: typing.Optional[typing.Callable[[typing.Any, ], None]]
:rtype: GetterType
:rtype: AdvancedProperty
"""
self.__fdel = fdel
return self
Expand All @@ -292,7 +292,7 @@ def cgetter(
:param fcget: new class-wide getter.
:type fcget:
typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]
:rtype: GetterType
:rtype: AdvancedProperty
"""
self.__fcget = fcget
return self
Expand Down
75 changes: 75 additions & 0 deletions doc/source/advanced_property.rst
@@ -0,0 +1,75 @@
.. AdvancedProperty
API: AdvancedProperty
========================

.. py:module:: advanced_descriptors
.. py:currentmodule:: advanced_descriptors
.. py:class:: AdvancedProperty(fget=None, fset=None, fdel=None, fcget=None, )
Advanced property main entry point.

:param fget: normal getter.
:type fget: ``typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]``
:param fset: normal setter.
:type fset: ``typing.Optional[typing.Callable[[typing.Any, typing.Any], None]]``
:param fdel: normal deleter.
:type fdel: ``typing.Optional[typing.Callable[[typing.Any, ], None]]``
:param fcget: class getter. Used as normal, if normal is None.
:type fcget: ``typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]``

.. note:: doc argument is not supported due to class wide getter usage.

.. py:method:: getter(fget)
Descriptor to change the getter on a property.

:param fget: new normal getter.
:type fget: ``typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]``
:rtype: ``AdvancedProperty``

.. py:method:: setter(fset)
Descriptor to change the setter on a property.

:param fset: new setter.
:type fset: ``typing.Optional[typing.Callable[[typing.Any, typing.Any], None]]``
:rtype: ``AdvancedProperty``

.. py:method:: deleter(fdel)
Descriptor to change the deleter on a property.

:param fdel: New deleter.
:type fdel: ``typing.Optional[typing.Callable[[typing.Any, ], None]]``
:rtype: ``AdvancedProperty``

.. py:method:: cgetter(fcget)
Descriptor to change the class wide getter on a property.

:param fcget: new class-wide getter.
:type fcget: ``typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]``
:rtype: ``AdvancedProperty``

.. py:attribute:: fget
``typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]``
Getter instance.

.. py:attribute:: fset
``typing.Optional[typing.Callable[[typing.Any, typing.Any], None]]``
Setter instance.

.. py:attribute:: fdel
``typing.Optional[typing.Callable[[typing.Any, ], None]]``
Deleter instance.

.. py:attribute:: fcget
``typing.Optional[typing.Callable[[typing.Any, ], typing.Any]]``
Class wide getter instance.
3 changes: 3 additions & 0 deletions doc/source/index.rst
Expand Up @@ -10,6 +10,9 @@ Contents:
.. toctree::
:maxdepth: 2

separate_classmethod
advanced_property

Indices and tables
==================

Expand Down
43 changes: 43 additions & 0 deletions doc/source/separate_classmethod.rst
@@ -0,0 +1,43 @@
.. SeparateClassMethod
API: SeparateClassMethod
========================

.. py:module:: advanced_descriptors
.. py:currentmodule:: advanced_descriptors
.. py:class:: SeparateClassMethod(imeth=None, cmeth=None, )
Separate class method and instance methods.

:param imeth: Instance method
:type imeth: ``typing.Optional[typing.Callable[..., typing.Any]]``
:param cmeth: Class method
:type cmeth: ``typing.Optional[typing.Callable[..., typing.Any]]``

.. py:method:: instance_method(imeth)
Descriptor to change instance method.

:param imeth: New instance method.
:type imeth: ``typing.Optional[typing.Callable[..., typing.Any]]``
:rtype: ``SeparateClassMethod``

.. py:method:: class_method(cmeth)
Descriptor to change class method.

:type cmeth: New class method.
:type cmeth: ``typing.Optional[typing.Callable[..., typing.Any]]``
:rtype: ``SeparateClassMethod``

.. py:attribute:: imeth
``typing.Optional[typing.Callable[..., typing.Any]]``
Instance method instance.

.. py:attribute:: cmeth
``typing.Optional[typing.Callable[..., typing.Any]]``
Class method instance.

0 comments on commit 5627cba

Please sign in to comment.