Derleme ve Yayınlama¶
Modülünüzü PyPl üzerinden yayınlayın¶
Kullanıcıların paketinizi yüklemelerinin en kolay yollarından biri, PyPI’de modülleri yayınlamaktır. Lütfen PyPI hakkında ilgili dokümanlara ve öğreticilere ve paketleri yayınlamak için pip’e bakınız.
For EFB modules, the package is RECOMMENDED to have
a name starts with efb-
, or in the format of
efb-platform-type
, e.g. efb-irc-slave
or
efb-wechat-mp-filter-middleware
. If there is a
collision of name, you MAY adjust the package name
accordingly while keeping the package name starting
with efb-
.
When you are ready, you may also want to add your module to the Modules Repository of EFB.
Modül keşfi¶
EH Forwarder Bot, kanalları ve orta sayfaları keşfetmek ve yönetmek için Setuptools’ Entry Point feature _ kullanır. setup.py
komut dosyanıza veya .egg-info/entry_points.txt
dizininde, grubu ve nesneyi aşağıdaki gibi belirtin:
Ana kanallar için grup:
ehforwarderbot.master
Bağımlı kanallar için grup:
ehforwarderbot.slave
Middlewares için grup:
ehforwarderbot.middleware
Convention for object names is <author>.<platform>
,
e.g. alice.irc
. This MUST also be your module’s ID.
Object reference MUST point to your module’s class,
which is a subclass of either Channel
or Middleware
.
Örnek¶
setup.py
komut dosyası
setup(
# ...
entry_points={
"ehforwarderbot.slave": ['alice.irc = efb_irc_slave:IRCChannel']
},
# ...
)
.egg-info/entry_points.txt
[ehforwarderbot.slave]
alice.irc = efb_irc_slave:IRCChannel
Özel modüller¶
Kendi kullanımınız için mevcut modüllerden uzatmak ya da değişiklikler yapmak isterseniz, modüllerinizi özel modüllere yerleştirebilirsiniz directory.
For such modules, your channel ID MUST be the fully-qualified
name of the class. For example, if your class is located
at <EFB_BASE_PATH>/modules/bob_irc_mod/__init__.py:IRCChannel
,
the channel MUST have ID bob_ric_mod.IRCChannel
for the
framework to recognise it.