mirror of
https://github.com/lucaspalomodevelop/eventcally.git
synced 2026-03-13 00:07:22 +00:00
CLI logging #480
This commit is contained in:
parent
ea77295b5c
commit
e5c883dd1a
@ -0,0 +1,17 @@
|
||||
import logging
|
||||
from functools import wraps
|
||||
|
||||
from flask import current_app
|
||||
|
||||
|
||||
def click_logging(func):
|
||||
@wraps(func)
|
||||
def wrapper(*args, **kwargs):
|
||||
logger = current_app.logger
|
||||
original_level = logger.level
|
||||
logger.setLevel(logging.INFO)
|
||||
result = func(*args, **kwargs)
|
||||
logger.setLevel(original_level)
|
||||
return result
|
||||
|
||||
return wrapper
|
||||
@ -1,12 +1,14 @@
|
||||
from flask.cli import AppGroup
|
||||
|
||||
from project import app
|
||||
from project.cli import click_logging
|
||||
from project.services import cache
|
||||
|
||||
cache_cli = AppGroup("cache")
|
||||
|
||||
|
||||
@cache_cli.command("clear-images")
|
||||
@click_logging
|
||||
def clear_images():
|
||||
cache.clear_images()
|
||||
|
||||
|
||||
@ -2,18 +2,21 @@ import click
|
||||
from flask.cli import AppGroup
|
||||
|
||||
from project import app
|
||||
from project.cli import click_logging
|
||||
from project.services import dump
|
||||
|
||||
dump_cli = AppGroup("dump")
|
||||
|
||||
|
||||
@dump_cli.command("all")
|
||||
@click_logging
|
||||
def dump_all():
|
||||
dump.dump_all()
|
||||
|
||||
|
||||
@dump_cli.command("organization")
|
||||
@click.argument("admin_unit_id")
|
||||
@click_logging
|
||||
def dump_admin_unit(admin_unit_id):
|
||||
dump.dump_admin_unit(admin_unit_id)
|
||||
|
||||
|
||||
@ -2,12 +2,14 @@ import click
|
||||
from flask.cli import AppGroup
|
||||
|
||||
from project import app
|
||||
from project.cli import click_logging
|
||||
from project.services import event
|
||||
|
||||
event_cli = AppGroup("event")
|
||||
|
||||
|
||||
@event_cli.command("update-recurring-dates")
|
||||
@click_logging
|
||||
def update_recurring_dates():
|
||||
event.update_recurring_dates()
|
||||
|
||||
@ -15,6 +17,7 @@ def update_recurring_dates():
|
||||
@event_cli.command("create-bulk-references")
|
||||
@click.argument("admin_unit_id")
|
||||
@click.argument("postal_codes", nargs=-1)
|
||||
@click_logging
|
||||
def create_bulk_event_references(admin_unit_id, postal_codes):
|
||||
event.create_bulk_event_references(admin_unit_id, list(postal_codes))
|
||||
|
||||
|
||||
@ -1,7 +1,8 @@
|
||||
import click
|
||||
from flask.cli import AppGroup, with_appcontext
|
||||
from flask.cli import AppGroup
|
||||
|
||||
from project import app
|
||||
from project.cli import click_logging
|
||||
from project.services import seo
|
||||
|
||||
seo_cli = AppGroup("seo")
|
||||
@ -9,13 +10,13 @@ seo_cli = AppGroup("seo")
|
||||
|
||||
@seo_cli.command("generate-sitemap")
|
||||
@click.option("--pinggoogle/--no-pinggoogle", default=False)
|
||||
@with_appcontext
|
||||
@click_logging
|
||||
def generate_sitemap(pinggoogle):
|
||||
seo.generate_sitemap(pinggoogle)
|
||||
|
||||
|
||||
@seo_cli.command("generate-robots-txt")
|
||||
@with_appcontext
|
||||
@click_logging
|
||||
def generate_robots_txt():
|
||||
seo.generate_robots_txt()
|
||||
|
||||
|
||||
@ -46,7 +46,7 @@ from project.models import (
|
||||
sanitize_allday_instance,
|
||||
)
|
||||
from project.services.event_search import EventSearchParams
|
||||
from project.services.reference import upsert_event_reference
|
||||
from project.services.reference import get_event_reference, upsert_event_reference
|
||||
from project.utils import get_pending_changes, get_place_str
|
||||
from project.views.utils import truncate
|
||||
|
||||
@ -662,11 +662,16 @@ def create_bulk_event_references(admin_unit_id: int, postalCodes: list):
|
||||
query = get_events_query(params)
|
||||
query = query.filter(Event.admin_unit_id != admin_unit_id)
|
||||
|
||||
count = 0
|
||||
new_references = list()
|
||||
events = query.all()
|
||||
for event in events:
|
||||
if upsert_event_reference(event.id, admin_unit_id):
|
||||
count = count + 1
|
||||
if not get_event_reference(event.id, admin_unit_id):
|
||||
reference = upsert_event_reference(event.id, admin_unit_id)
|
||||
new_references.append(reference)
|
||||
|
||||
db.session.commit()
|
||||
app.logger.info(f"{count} reference(s) created.")
|
||||
app.logger.info(f"{len(new_references)} reference(s) created.")
|
||||
|
||||
for new_reference in new_references:
|
||||
url = url_for("event", event_id=new_reference.event_id, _external=True)
|
||||
app.logger.info(url)
|
||||
|
||||
@ -15,14 +15,18 @@ def create_event_reference_for_request(request):
|
||||
return upsert_event_reference(request.event_id, request.admin_unit_id)
|
||||
|
||||
|
||||
def upsert_event_reference(event_id: int, admin_unit_id: int):
|
||||
result = EventReference.query.filter(
|
||||
def get_event_reference(event_id: int, admin_unit_id: int):
|
||||
return EventReference.query.filter(
|
||||
and_(
|
||||
EventReference.event_id == event_id,
|
||||
EventReference.admin_unit_id == admin_unit_id,
|
||||
)
|
||||
).first()
|
||||
|
||||
|
||||
def upsert_event_reference(event_id: int, admin_unit_id: int):
|
||||
result = get_event_reference(event_id, admin_unit_id)
|
||||
|
||||
if result is None:
|
||||
result = EventReference(event_id=event_id, admin_unit_id=admin_unit_id)
|
||||
result.rating = 50
|
||||
|
||||
@ -31,6 +31,7 @@ def test_create_bulk_event_references(client, seeder, app):
|
||||
event_id_38690 = _create_event(seeder, other_admin_unit_id, "38690")
|
||||
event_id_55555 = _create_event(seeder, other_admin_unit_id, "55555")
|
||||
|
||||
app.config["SERVER_NAME"] = "localhost"
|
||||
runner = app.test_cli_runner()
|
||||
result = runner.invoke(
|
||||
args=[
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user