news.models.sqlalchemy — Model SQLAlchemy implementations

Provides factory functions for both abstract and concrete News models.

news.models.sqlalchemy.create_schedule_abc(user_model)

Abstract base schedule model factory

Parameters:user_model (AbstractModel implementation.) – User model to use as schedule owners.
Returns:A abstract base schedule model.
Return type:Abstract base sqlalchemy model of AbstractSchedule implementation
news.models.sqlalchemy.create_news_abc(schedule_model)

Abstract base news model factory

Parameters:schedule_model (Any concrete schedule model of abc models from create_abc_schedule() factory function.) – Schedule model to use as news’s schedule.
Returns:A abstract base news model.
Return type:Abstract base sqlalchemy model of Abstractnews implementation
news.models.sqlalchemy.create_schedule(abc_schedule, base, mixins=None, persister=None)

Concrete schedule model factory.

Parameters:
  • abc_schedule (Any ABC schedule from create_abc_schedule() factory function.) – Abstract base schedule to use as base.
  • base (Any SQLAlchemy model base from sqlalchemy.ext.declarative.declarative_base() factory function) – SQLAlchemy model base to use.
  • mixins (Iterable mixin classes.) – Mixins to be mixed into concrete schedule model.
  • persister (ScheduleNotifier) – Persister to use for the schedule persistence.
Returns:

Concrete schedule model based on given abc schedule.

Return type:

AbstractSchedule SQLAlchemy implementation based on given abc schedule, model base and mixins.

news.models.sqlalchemy.create_news(abc_news, base, mixins=None)

Concrete news model factory.

Parameters:
  • abc_news (Any ABC news from create_abc_news() factory function.) – Abstract base news to use as base.
  • base (Any SQLAlchemy model base from sqlalchemy.ext.declarative.declarative_base() factory function) – SQLAlchemy model base to use.
  • mixins (Iterable mixin classes.) – Mixins to be mixed into concrete news model.
Returns:

Concrete news model based on given abc news and mixins.

Return type:

AbstractNews SQLAlchemy implementation based on given abc news and model base.

news.models.sqlalchemy.create_default_schedule(user_model, base, persister=None)

Default schedule model factory.

Parameters:user_model (AbstractModel implementation) – User model to use as schedule owners.
Returns:A default schedule model.
Return type:Default SQLAlchemy AbstractSchedule implementation
news.models.sqlalchemy.create_default_news(schedule_model, base)

Default news model factory.

Parameters:schedule_model (AbstractSchedule implementation) – Schedule model to use as news’s schedule.
Returns:A abstract base news model.
Return type:Default SQLAlchemy Abstractnews implementation