Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Register
  • Sign in
  • erp5 erp5
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Merge requests 142
    • Merge requests 142
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • nexedinexedi
  • erp5erp5
  • Merge requests
  • !1054

WIP: inventory api: group by time interval list

  • Review changes

  • Download
  • Patches
  • Plain diff
Open Jérome Perrin requested to merge feat/inventory_api_group_by_time_interval_list into master Feb 18, 2020
  • 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
Reviewers
Request review from
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