Beispiel #1
0
 def collectMovement(self, movement_list):
   """
     group movements in the way we want. Thanks to this method, we are able
     to retrieve movement classed by order, resource, criterion,....
     movement_list : the list of movement wich we want to group
     class_list : the list of classes used to group movements. The order
                  of the list is important and determines by what we will
                  group movement first
                  Typically, check_list is :
                  [DateMovementGroup,PathMovementGroup,...]
   """
   movement_group_list = self.getMovementGroupList()
   last_line_movement_group = self.getDeliveryMovementGroupList()[-1]
   separate_method_name_list = self.getDeliveryCellSeparateOrderList([])
   root_group_node = MovementGroupNode(
     separate_method_name_list=separate_method_name_list,
     movement_group_list=movement_group_list,
     last_line_movement_group=last_line_movement_group)
   root_group_node.append(movement_list)
   return root_group_node
Beispiel #2
0
 def collectMovement(self, movement_list):
     """
   group movements in the way we want. Thanks to this method, we are able
   to retrieve movement classed by order, resource, criterion,....
   movement_list : the list of movement wich we want to group
   class_list : the list of classes used to group movements. The order
                of the list is important and determines by what we will
                group movement first
                Typically, check_list is :
                [DateMovementGroup,PathMovementGroup,...]
 """
     movement_group_list = self.getMovementGroupList()
     last_line_movement_group = self.getDeliveryMovementGroupList()[-1]
     separate_method_name_list = self.getDeliveryCellSeparateOrderList([])
     root_group_node = MovementGroupNode(
         separate_method_name_list=separate_method_name_list,
         movement_group_list=movement_group_list,
         last_line_movement_group=last_line_movement_group)
     root_group_node.append(movement_list)
     return root_group_node
Beispiel #3
0
  def collectMovement(self, movement_list):
    """
      group movements in the way we want. Thanks to this method, we are able
      to retrieve movement classed by order, resource, criterion,....
      movement_list : the list of movement wich we want to group
      class_list : the list of classes used to group movements. The order
                   of the list is important and determines by what we will
                   group movement first
                   Typically, check_list is :
                   [DateMovementGroup,PathMovementGroup,...]
    """
    movement_group_list = self.getMovementGroupList()

    # Need to find the last branch movement group for separate methods.
    last_line_movement_group = None
    previous_collect_order_group = None
    for movement_group in movement_group_list:
      collect_order_group = movement_group.getCollectOrderGroup()
      if collect_order_group == 'line':
        if previous_collect_order_group == 'delivery' \
                or movement_group.isBranch():
          last_line_movement_group = movement_group
      elif collect_order_group == 'cell':
        break
      previous_collect_order_group = collect_order_group
    if last_line_movement_group is None:
      # XXX I think this is an error, but there are many tests which
      # fail, so for now I permit falling back to the last one.
      #raise CollectError('No branch movement group found at %r' % (self,))
      last_line_movement_group = movement_group

    separate_method_name_list = self.getDeliveryCellSeparateOrderList([])
    root_group_node = MovementGroupNode(
      separate_method_name_list=separate_method_name_list,
      movement_group_list=movement_group_list,
      last_line_movement_group=last_line_movement_group)
    root_group_node.append(movement_list)
    return root_group_node