[misc] Reformat to fit new black guidelines

This commit is contained in:
Cathy Hu 2020-09-05 01:39:24 +02:00
parent 3dca6d07ba
commit 32dd8b9207
10 changed files with 43 additions and 33 deletions

View file

@ -47,7 +47,10 @@ if argv[0].endswith('kibicara'):
help='path to config file',
)
parser.add_argument(
'-v', '--verbose', action="count", help="Raise verbosity level",
'-v',
'--verbose',
action="count",
help="Raise verbosity level",
)
args = parser.parse_args()

View file

@ -16,7 +16,7 @@ logger = getLogger(__name__)
def send_email(to, subject, sender='kibicara', body=''):
""" E-Mail sender.
"""E-Mail sender.
Sends an E-Mail to a specified recipient with a body

View file

@ -22,7 +22,7 @@ logger = getLogger(__name__)
class Main:
""" Entrypoint for Kibicara.
"""Entrypoint for Kibicara.
Initializes the platform bots and starts the hypercorn webserver serving the
Kibicara application and the specified frontend on port 8000.

View file

@ -44,7 +44,7 @@ class BotStatus(Enum):
class Censor:
""" The superclass for a platform bot.
"""The superclass for a platform bot.
The censor is the superclass for every platform bot. It distributes a message to all
other bots from the same hood if it passes the message filter. It provides methods
@ -111,14 +111,14 @@ class Censor:
self.status = BotStatus.STOPPED
async def run(self):
""" Entry point for a bot.
"""Entry point for a bot.
Note: Override this in the derived bot class.
"""
pass
async def publish(self, message):
""" Distribute a message to the bots in a hood.
"""Distribute a message to the bots in a hood.
Args:
message (Message): Message to distribute
@ -131,7 +131,7 @@ class Censor:
return True
async def receive(self):
""" Receive a message.
"""Receive a message.
Returns (Message): Received message
"""
@ -151,7 +151,7 @@ class Censor:
class Spawner:
""" Spawns a bot with a specific bot model.
"""Spawns a bot with a specific bot model.
Examples:
```
@ -183,8 +183,7 @@ class Spawner:
@classmethod
async def init_all(cls):
""" Instantiate and start a bot for every row in the corresponding ORM model.
"""
"""Instantiate and start a bot for every row in the corresponding ORM model."""
for spawner in cls.__instances:
await spawner._init()
@ -193,7 +192,7 @@ class Spawner:
self.start(item)
def start(self, item):
""" Instantiate and start a bot with the provided ORM object.
"""Instantiate and start a bot with the provided ORM object.
Example:
```
@ -209,7 +208,7 @@ class Spawner:
bot.start()
def stop(self, item):
""" Stop and delete a bot.
"""Stop and delete a bot.
Args:
item (ORM Model object): ORM object corresponding to bot.
@ -219,7 +218,7 @@ class Spawner:
bot.stop()
def get(self, item):
""" Get a running bot.
"""Get a running bot.
Args:
item (ORM Model object): ORM object corresponding to bot.

View file

@ -41,7 +41,9 @@ class EmailBot(Censor):
try:
logger.debug('Trying to send: \n%s' % body)
email.send_email(
subscriber.email, "Kibicara " + self.hood.name, body=body,
subscriber.email,
"Kibicara " + self.hood.name,
body=body,
)
except (ConnectionRefusedError, SMTPException):
logger.exception("Sending email to subscriber failed.")

View file

@ -51,7 +51,7 @@ class BodySubscriber(BaseModel):
async def get_email(email_id: int, hood=Depends(get_hood)):
""" Get Email row by hood.
"""Get Email row by hood.
You can specify an email_id to nail it down, but it works without as well.
:param hood: Hood the Email bot belongs to.
@ -102,7 +102,7 @@ async def email_read_all(hood=Depends(get_hood)):
operation_id='create_email',
)
async def email_create(values: BodyEmail, response: Response, hood=Depends(get_hood)):
""" Create an Email bot. Call this when creating a hood.
"""Create an Email bot. Call this when creating a hood.
:param hood: Hood row of the hood the Email bot is supposed to belong to.
:return: Email row of the new email bot.
@ -164,7 +164,7 @@ async def email_read(email=Depends(get_email)):
'/{email_id}', status_code=status.HTTP_204_NO_CONTENT, operation_id='delete_email'
)
async def email_delete(email=Depends(get_email)):
""" Delete an Email bot.
"""Delete an Email bot.
Stops and deletes the Email bot.
:param hood: Hood the Email bot belongs to.
@ -181,7 +181,7 @@ async def email_delete(email=Depends(get_email)):
async def email_subscribe(
subscriber: BodySubscriber, hood=Depends(get_hood_unauthorized)
):
""" Send a confirmation mail to subscribe to messages via email.
"""Send a confirmation mail to subscribe to messages via email.
:param subscriber: Subscriber object, holds the email address.
:param hood: Hood the Email bot belongs to.
@ -218,7 +218,7 @@ async def email_subscribe(
response_model=BaseModel,
)
async def email_subscribe_confirm(token, hood=Depends(get_hood_unauthorized)):
""" Confirm a new subscriber and add them to the database.
"""Confirm a new subscriber and add them to the database.
:param token: encrypted JSON token, holds the email of the subscriber.
:param hood: Hood the Email bot belongs to.
@ -241,7 +241,7 @@ async def email_subscribe_confirm(token, hood=Depends(get_hood_unauthorized)):
operation_id='unsubscribe',
)
async def email_unsubscribe(token, hood=Depends(get_hood_unauthorized)):
""" Remove a subscriber from the database when they click on an unsubscribe link.
"""Remove a subscriber from the database when they click on an unsubscribe link.
:param token: encrypted JSON token, holds subscriber email + hood.id.
:param hood: Hood the Email bot belongs to.
@ -284,7 +284,7 @@ async def subscribers_read(subscriber=Depends(get_subscriber)):
async def email_message_create(
message: BodyMessage, hood=Depends(get_hood_unauthorized)
):
""" Receive a message from the MDA and pass it to the censor.
"""Receive a message from the MDA and pass it to the censor.
:param message: BodyMessage object, holds the message.
:param hood: Hood the Email bot belongs to.

View file

@ -85,7 +85,7 @@ router = APIRouter()
operation_id='register',
)
async def admin_register(values: BodyAdmin):
""" Sends an email with a confirmation link.
"""Sends an email with a confirmation link.
- **email**: E-Mail Address of new hood admin
- **password**: Password of new hood admin
@ -104,7 +104,9 @@ async def admin_register(values: BodyAdmin):
body = f'{config["frontend_url"]}/confirm?token={register_token}'
logger.debug(body)
email.send_email(
to=values.email, subject='Confirm Account', body=body,
to=values.email,
subject='Confirm Account',
body=body,
)
except (ConnectionRefusedError, SMTPException):
logger.exception('Email sending failed')
@ -113,10 +115,12 @@ async def admin_register(values: BodyAdmin):
@router.post(
'/confirm/{register_token}', response_model=BodyAccessToken, operation_id='confirm',
'/confirm/{register_token}',
response_model=BodyAccessToken,
operation_id='confirm',
)
async def admin_confirm(register_token: str):
""" Registration confirmation and account creation.
"""Registration confirmation and account creation.
- **register_token**: Registration token received in email from /register
"""
@ -130,10 +134,12 @@ async def admin_confirm(register_token: str):
@router.post(
'/login/', response_model=BodyAccessToken, operation_id='login',
'/login/',
response_model=BodyAccessToken,
operation_id='login',
)
async def admin_login(form_data: OAuth2PasswordRequestForm = Depends()):
""" Get an access token.
"""Get an access token.
- **username**: Email of a registered hood admin
- **password**: Password of a registered hood admin

View file

@ -62,7 +62,7 @@ async def hood_read_all():
tags=['hoods'],
)
async def hood_create(values: BodyHood, response: Response, admin=Depends(get_admin)):
""" Creates a hood.
"""Creates a hood.
- **name**: Name of the hood
- **landingpage**: Markdown formatted description of the hood
@ -95,7 +95,7 @@ async def hood_read(hood=Depends(get_hood_unauthorized)):
tags=['hoods'],
)
async def hood_update(values: BodyHood, hood=Depends(get_hood)):
""" Updates hood with id **hood_id**.
"""Updates hood with id **hood_id**.
- **name**: New name of the hood
- **landingpage**: New Markdown formatted description of the hood

View file

@ -52,7 +52,7 @@ async def badword_read_all(hood=Depends(get_hood)):
async def badword_create(
values: BodyBadWord, response: Response, hood=Depends(get_hood)
):
""" Creates a new badword for hood with id **hood_id**.
"""Creates a new badword for hood with id **hood_id**.
- **pattern**: Regular expression which is used to match a badword.
"""
@ -83,7 +83,7 @@ async def badword_read(badword=Depends(get_badword)):
operation_id='update_badword',
)
async def badword_update(values: BodyBadWord, badword=Depends(get_badword)):
""" Updates badword with id **badword_id** for hood with id **hood_id**.
"""Updates badword with id **badword_id** for hood with id **hood_id**.
- **pattern**: Regular expression which is used to match a badword
"""

View file

@ -53,7 +53,7 @@ async def trigger_read_all(hood=Depends(get_hood)):
async def trigger_create(
values: BodyTrigger, response: Response, hood=Depends(get_hood)
):
""" Creates a new trigger for hood with id **hood_id**.
"""Creates a new trigger for hood with id **hood_id**.
- **pattern**: Regular expression which is used to match a trigger.
"""
@ -84,7 +84,7 @@ async def trigger_read(trigger=Depends(get_trigger)):
operation_id='update_trigger',
)
async def trigger_update(values: BodyTrigger, trigger=Depends(get_trigger)):
""" Updates trigger with id **trigger_id** for hood with id **hood_id**.
"""Updates trigger with id **trigger_id** for hood with id **hood_id**.
- **pattern**: Regular expression which is used to match a trigger
"""