Skip to content

Use a separate model for timing relationships #17

Description

@egeakman

To me this is mixing too many concerns:

  1. Representation of individual submissions
  2. Temporal relationship between submissions

I would prefer to store the relationships (parallel, before, after, next, previous) in a separate data structure which references these PretalxSubmission objects.
Then we wouldn't have this situation where creating a "complete" PretalxSubmission object requires to steps:

submission = PretalxSubmission(...)  # call `__init__`, which only initialized a part of the object
submission.set_talks_in_parallel(...)  # initialize another part of the object
submission.set_talks_after(...)  # initialize yet another part of the object
[...]

Field like talks_in_parallel: list[str] | None = None can easily cause to accidents: my_submission.talks_in_parallel sometimes contains the "talks in parallel to my submission", depending on when I access the field.

That would be a non-trivial change, and the current implementation seems to work, so I'm fine with merging it as it is. But let's try to not walk this path much further, else it might get messy 🙂

Originally posted by @NMertsch in #6 (comment)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions