Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
erp5 erp5
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Labels
    • Labels
  • Merge requests 141
    • Merge requests 141
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Environments
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedi
  • erp5erp5
  • Merge requests
  • !1054

Open
Created Feb 18, 2020 by Jérome Perrin@jeromeOwner
  • Report abuse
Report abuse

WIP: inventory api: group by time interval list

  • Overview 1
  • Commits 2
  • Pipelines 1
  • Changes 4

This is an old patch (used in production for months, but this version is a bit different, I will have to check again that it's still OK from query performance point of view) that I'm cleaning up and trying to merge.

This allow to group inventory results by arbitrary time intervals.

What's still being discussed / considered:

  • is it cool to pass intervals as a list ? passing a mapping and getting back the key on brain seems a bit better:
inventory_list = portal.portal_simulation.getInventoryList(group_by_time_sequence_mapping={key1: {'from_date': DateTime()}, key2: {'at_date': DateTime()})
inventory_dict_by_time_sequence = {brain.time_sequence_key: brain.inventory for brain in inventory_list}
assert key1 in inventory_dict_by_time_sequence
assert key2 in inventory_dict_by_time_sequence

a bit like we can do:

inventory_list = portal.portal_simulation.getInventoryList(group_by_node=True, node_uid=(node1.getUid(), node2.getUid())
inventory_dict_by_node = {brain.node_value: brain.inventory for brain in inventory_list}
assert node1 in inventory_dict_by_node
assert node2 in inventory_dict_by_node
  • if we look at underlying query, it's not only "group by", so maybe this parameter should use another name ? (but from inventory, this is seems similar concept)
Assignee
Assign to
Reviewer
Request review from
None
Milestone
None
Assign milestone
Time tracking
Source branch: feat/inventory_api_group_by_time_interval_list
GitLab Nexedi Edition | About GitLab | About Nexedi | 沪ICP备2021021310号-2 | 沪ICP备2021021310号-7