Skip to content

group_queue

AppLoidx edited this page Oct 23, 2018 · 3 revisions

group_queue wiki - работа с очередью

Для корректной работы программы необходимы следующие модули:

  1. Date (из parser_m.parser) для day.py
    Нужен для получения текущей даты и четности недели.
  2. [random] (стандартная библиотека Python)

Основы работы

Во-первых, необходимо создать экземпляр класса ScheduleFromFile:
from group_queue.queue import Queue
queue = Queue()
Во-вторых, нужно создать очередь:
queue.new_queue()
После этого можно редактировать эту очередь, используя соответствующие методы.

Для получения описания метода сделайте вызов:
help(<имя_метода>)
Например:
help(queue.new_queue)

Интерфейс класса Queue:

new_queue(self, group_list: list=None) -> None

Создает очередь

<$group_list: list> - список с элементами класса Person, с которыми будет создана очередь. По-умолчанию None

person_passed(self) -> None:

Инициализирует прохождение очереди одним объектом из списка.

get_last_person_in_queue(self) -> Person:

Возвращает объект класса Person из очереди, который проходил последним. Person("0","None"), если такого нет.

get_current_person_in_queue(self) -> Person:

Возвращает объект класса Person который стоит первым в очереди.

get_next_person_in_queue(self) -> Person:

Возвращает объект класса Person следующего в очереди (т.е. второго), если круг уже закончился начинает его заново.

get_queue(self) -> list:

Возвращает списки с элементами класса Person, соответствующая текущего списка очереди.

get_person_queue_position(self, person_id: str) -> int:

Возвращает позицию объекта по индексному номеру (из класса Person). Возвращает 0, если не найден.

<$person_id> - индекс искомого объекта.

delete_person(self, person_id: str):

Удаляет объект из очереди.

<$person_id> - индекс удаляемого объекта.

add_person(self, person_id: str, position: int=-1)

Добавляет объект в очередь. Невозможно добавить объект, который раньше не был в очереди

<$person_id> - индекс добавляемого объекта.
<$position> - позиция, в которую будет помещен объект. По умолчанию в конец очереди.

swap(self, person1_id: str, person2_id: str):

Меняет объекты местами в очереди

<$person1_id> - индекс первого объекта.
<$person2_id> - индекс второго объекта

Удачной работы

...From Lilly