mirror of
https://github.com/aiogram/aiogram.git
synced 2026-04-08 16:37:47 +00:00
Adding new code-generator (Butcher) (#1069)
* Re-generate types * Re-generate methods (only attributes) * Added enums * Base init generator * Added butcher configs * Fixed tests, bump butcher * Added changelog * Added enum docs * Added templates for docs index * Re-generate bot class, remove deprecated methods
This commit is contained in:
parent
c7779abc50
commit
d034c1ba9f
387 changed files with 32036 additions and 3144 deletions
13
.butcher/templates/enums/entity.rst.jinja2
Normal file
13
.butcher/templates/enums/entity.rst.jinja2
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{{ object.name|header('#') }}
|
||||
{{ object.name }}
|
||||
{{ object.name|header('#') }}
|
||||
|
||||
|
||||
.. automodule:: aiogram.enums.{{ object.name|pythonize_name }}
|
||||
:members:
|
||||
:member-order: bysource
|
||||
:undoc-members: True
|
||||
|
||||
{% if docs %}
|
||||
{{ docs }}
|
||||
{% endif %}
|
||||
13
.butcher/templates/enums/index.rst.jinja2
Normal file
13
.butcher/templates/enums/index.rst.jinja2
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
#####
|
||||
Types
|
||||
#####
|
||||
|
||||
Here is list of all available enums:
|
||||
|
||||
{% for title, group in groups.items() %}
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
{% for name in group %}
|
||||
{{ name|pythonize_name }}
|
||||
{%- endfor %}
|
||||
{% endfor %}
|
||||
54
.butcher/templates/methods/entity.rst.jinja2
Executable file
54
.butcher/templates/methods/entity.rst.jinja2
Executable file
|
|
@ -0,0 +1,54 @@
|
|||
{{ object.name|header('#') }}
|
||||
{{ object.name }}
|
||||
{{ object.name|header('#') }}
|
||||
|
||||
Returns: :obj:`{{ object.returning.parsed_type|type }}`
|
||||
|
||||
.. automodule:: aiogram.methods.{{ object.name|pythonize_name }}
|
||||
:members:
|
||||
:member-order: bysource
|
||||
:undoc-members: True
|
||||
|
||||
|
||||
Usage
|
||||
=====
|
||||
|
||||
As bot method
|
||||
-------------
|
||||
|
||||
.. code-block::
|
||||
|
||||
result: {{ object.returning.parsed_type|type }} = await bot.{{ object.name|pythonize_name }}(...)
|
||||
|
||||
|
||||
Method as object
|
||||
----------------
|
||||
|
||||
Imports:
|
||||
|
||||
- :code:`from aiogram.methods.{{ object.name|pythonize_name }} import {{ object.name|pythonize_class_name }}`
|
||||
- alias: :code:`from aiogram.methods import {{ object.name|pythonize_class_name }}`
|
||||
|
||||
With specific bot
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
result: {{ object.returning.parsed_type|type }} = await bot({{ object.name|pythonize_class_name }}(...))
|
||||
|
||||
{% if can_be_used_in_webhook -%}
|
||||
As reply into Webhook in handler
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
return {{ object.name|pythonize_class_name }}(...)
|
||||
{%- endif %}
|
||||
|
||||
{% if aliased %}
|
||||
As shortcut from received object
|
||||
-------------------
|
||||
{% for alias in aliased %}
|
||||
- :meth:`aiogram.types.{{ alias.type|pythonize_name }}.{{ alias.type|pythonize_class_name }}.{{ alias.name }}`
|
||||
{%- endfor %}
|
||||
{% endif %}
|
||||
16
.butcher/templates/methods/index.rst.jinja2
Normal file
16
.butcher/templates/methods/index.rst.jinja2
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#######
|
||||
Methods
|
||||
#######
|
||||
|
||||
Here is list of all available API methods:
|
||||
|
||||
{% for title, group in groups.items() %}
|
||||
{{ title }}
|
||||
{{ title|header('=') }}
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
{% for name in group %}
|
||||
{{ name|pythonize_name }}
|
||||
{%- endfor %}
|
||||
{% endfor %}
|
||||
9
.butcher/templates/types/entity.rst.jinja2
Normal file
9
.butcher/templates/types/entity.rst.jinja2
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
{{ object.name|header('#') }}
|
||||
{{ object.name }}
|
||||
{{ object.name|header('#') }}
|
||||
|
||||
|
||||
.. automodule:: aiogram.types.{{ object.name|pythonize_name }}
|
||||
:members:
|
||||
:member-order: bysource
|
||||
:undoc-members: True
|
||||
16
.butcher/templates/types/index.rst.jinja2
Normal file
16
.butcher/templates/types/index.rst.jinja2
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#####
|
||||
Types
|
||||
#####
|
||||
|
||||
Here is list of all available API types:
|
||||
|
||||
{% for title, group in groups.items() %}
|
||||
{{ title }}
|
||||
{{ title|header('=') }}
|
||||
|
||||
.. toctree::
|
||||
:maxdepth: 1
|
||||
{% for name in group %}
|
||||
{{ name|pythonize_name }}
|
||||
{%- endfor %}
|
||||
{% endfor %}
|
||||
Loading…
Add table
Add a link
Reference in a new issue