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 flask.cli import AppGroup
|
||||||
|
|
||||||
from project import app
|
from project import app
|
||||||
|
from project.cli import click_logging
|
||||||
from project.services import cache
|
from project.services import cache
|
||||||
|
|
||||||
cache_cli = AppGroup("cache")
|
cache_cli = AppGroup("cache")
|
||||||
|
|
||||||
|
|
||||||
@cache_cli.command("clear-images")
|
@cache_cli.command("clear-images")
|
||||||
|
@click_logging
|
||||||
def clear_images():
|
def clear_images():
|
||||||
cache.clear_images()
|
cache.clear_images()
|
||||||
|
|
||||||
|
|||||||
@ -2,18 +2,21 @@ import click
|
|||||||
from flask.cli import AppGroup
|
from flask.cli import AppGroup
|
||||||
|
|
||||||
from project import app
|
from project import app
|
||||||
|
from project.cli import click_logging
|
||||||
from project.services import dump
|
from project.services import dump
|
||||||
|
|
||||||
dump_cli = AppGroup("dump")
|
dump_cli = AppGroup("dump")
|
||||||
|
|
||||||
|
|
||||||
@dump_cli.command("all")
|
@dump_cli.command("all")
|
||||||
|
@click_logging
|
||||||
def dump_all():
|
def dump_all():
|
||||||
dump.dump_all()
|
dump.dump_all()
|
||||||
|
|
||||||
|
|
||||||
@dump_cli.command("organization")
|
@dump_cli.command("organization")
|
||||||
@click.argument("admin_unit_id")
|
@click.argument("admin_unit_id")
|
||||||
|
@click_logging
|
||||||
def dump_admin_unit(admin_unit_id):
|
def dump_admin_unit(admin_unit_id):
|
||||||
dump.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 flask.cli import AppGroup
|
||||||
|
|
||||||
from project import app
|
from project import app
|
||||||
|
from project.cli import click_logging
|
||||||
from project.services import event
|
from project.services import event
|
||||||
|
|
||||||
event_cli = AppGroup("event")
|
event_cli = AppGroup("event")
|
||||||
|
|
||||||
|
|
||||||
@event_cli.command("update-recurring-dates")
|
@event_cli.command("update-recurring-dates")
|
||||||
|
@click_logging
|
||||||
def update_recurring_dates():
|
def update_recurring_dates():
|
||||||
event.update_recurring_dates()
|
event.update_recurring_dates()
|
||||||
|
|
||||||
@ -15,6 +17,7 @@ def update_recurring_dates():
|
|||||||
@event_cli.command("create-bulk-references")
|
@event_cli.command("create-bulk-references")
|
||||||
@click.argument("admin_unit_id")
|
@click.argument("admin_unit_id")
|
||||||
@click.argument("postal_codes", nargs=-1)
|
@click.argument("postal_codes", nargs=-1)
|
||||||
|
@click_logging
|
||||||
def create_bulk_event_references(admin_unit_id, postal_codes):
|
def create_bulk_event_references(admin_unit_id, postal_codes):
|
||||||
event.create_bulk_event_references(admin_unit_id, list(postal_codes))
|
event.create_bulk_event_references(admin_unit_id, list(postal_codes))
|
||||||
|
|
||||||
|
|||||||
@ -1,7 +1,8 @@
|
|||||||
import click
|
import click
|
||||||
from flask.cli import AppGroup, with_appcontext
|
from flask.cli import AppGroup
|
||||||
|
|
||||||
from project import app
|
from project import app
|
||||||
|
from project.cli import click_logging
|
||||||
from project.services import seo
|
from project.services import seo
|
||||||
|
|
||||||
seo_cli = AppGroup("seo")
|
seo_cli = AppGroup("seo")
|
||||||
@ -9,13 +10,13 @@ seo_cli = AppGroup("seo")
|
|||||||
|
|
||||||
@seo_cli.command("generate-sitemap")
|
@seo_cli.command("generate-sitemap")
|
||||||
@click.option("--pinggoogle/--no-pinggoogle", default=False)
|
@click.option("--pinggoogle/--no-pinggoogle", default=False)
|
||||||
@with_appcontext
|
@click_logging
|
||||||
def generate_sitemap(pinggoogle):
|
def generate_sitemap(pinggoogle):
|
||||||
seo.generate_sitemap(pinggoogle)
|
seo.generate_sitemap(pinggoogle)
|
||||||
|
|
||||||
|
|
||||||
@seo_cli.command("generate-robots-txt")
|
@seo_cli.command("generate-robots-txt")
|
||||||
@with_appcontext
|
@click_logging
|
||||||
def generate_robots_txt():
|
def generate_robots_txt():
|
||||||
seo.generate_robots_txt()
|
seo.generate_robots_txt()
|
||||||
|
|
||||||
|
|||||||
@ -46,7 +46,7 @@ from project.models import (
|
|||||||
sanitize_allday_instance,
|
sanitize_allday_instance,
|
||||||
)
|
)
|
||||||
from project.services.event_search import EventSearchParams
|
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.utils import get_pending_changes, get_place_str
|
||||||
from project.views.utils import truncate
|
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 = get_events_query(params)
|
||||||
query = query.filter(Event.admin_unit_id != admin_unit_id)
|
query = query.filter(Event.admin_unit_id != admin_unit_id)
|
||||||
|
|
||||||
count = 0
|
new_references = list()
|
||||||
events = query.all()
|
events = query.all()
|
||||||
for event in events:
|
for event in events:
|
||||||
if upsert_event_reference(event.id, admin_unit_id):
|
if not get_event_reference(event.id, admin_unit_id):
|
||||||
count = count + 1
|
reference = upsert_event_reference(event.id, admin_unit_id)
|
||||||
|
new_references.append(reference)
|
||||||
|
|
||||||
db.session.commit()
|
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)
|
return upsert_event_reference(request.event_id, request.admin_unit_id)
|
||||||
|
|
||||||
|
|
||||||
def upsert_event_reference(event_id: int, admin_unit_id: int):
|
def get_event_reference(event_id: int, admin_unit_id: int):
|
||||||
result = EventReference.query.filter(
|
return EventReference.query.filter(
|
||||||
and_(
|
and_(
|
||||||
EventReference.event_id == event_id,
|
EventReference.event_id == event_id,
|
||||||
EventReference.admin_unit_id == admin_unit_id,
|
EventReference.admin_unit_id == admin_unit_id,
|
||||||
)
|
)
|
||||||
).first()
|
).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:
|
if result is None:
|
||||||
result = EventReference(event_id=event_id, admin_unit_id=admin_unit_id)
|
result = EventReference(event_id=event_id, admin_unit_id=admin_unit_id)
|
||||||
result.rating = 50
|
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_38690 = _create_event(seeder, other_admin_unit_id, "38690")
|
||||||
event_id_55555 = _create_event(seeder, other_admin_unit_id, "55555")
|
event_id_55555 = _create_event(seeder, other_admin_unit_id, "55555")
|
||||||
|
|
||||||
|
app.config["SERVER_NAME"] = "localhost"
|
||||||
runner = app.test_cli_runner()
|
runner = app.test_cli_runner()
|
||||||
result = runner.invoke(
|
result = runner.invoke(
|
||||||
args=[
|
args=[
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user