Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[PY-401][external] Restore Meta Item & ItemQuery functions #718

Merged
merged 5 commits into from
Nov 16, 2023
Merged

Conversation

JBWilkie
Copy link
Collaborator

Problem

Currently no Meta methods for restoring items

Solution

Introduced functions to do this for Meta Items & ItemQuery objects

Changelog

Meta methods to restore Items & ItemQuery objects

Copy link

linear bot commented Nov 14, 2023

PY-401 Restore item from archive

ex.

# `item` is of type Item, within meta scope

item.unarchive() # will unarchive item

# `items` is of type ItemQuery
items = team.datasets[0].items.where(some_query)

items.unarchive() # will unarchive all items in query

Could be concurrent with IO-1987

Copy link
Contributor

@owencjones owencjones left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comments for consideration as before, but ok with you making your own changes afterwards, and merging.

darwin/future/meta/objects/item.py Show resolved Hide resolved
],
json={},
)
item.restore()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As with the other one, I would sad path these, but in these, they are small enough, that it isn't a massive deal. Red/Green/Refactor is a good approach.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Quick Q on this - Since neither item.restore() or item_query.restore() take any parameters nor do they return anything, what could we consider the sad path?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@owencjones I discussed these tests with Nathan - Since they don't return anything or take any arguments, there should only be one path these functions can actually take

Error responses from the API are covered in the underlying Core method tests. Given this, I'll proceed to merge but let me know if you disagree or have any other thoughts

],
json={},
)
item_query.restore()
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

And with this one ideally, but again, small ticket, not the end of the world.

The thing I would aim to be testing is each path through the function

@JBWilkie JBWilkie merged commit edd9c76 into master Nov 16, 2023
13 checks passed
ChristofferEdlund pushed a commit that referenced this pull request Nov 17, 2023
* Meta functions & tests to restore items

* Test fixes
Nathanjp91 added a commit that referenced this pull request Dec 12, 2023
* fixing test

* added polygon and complex polygon tests with bounding boxes

* extended convertion tests

* formatter

* updated test to reflect adding of bounding box

* updated tests to check for new format

* added additional test for box and tag

* removed prints

* black reformat

* black format

* removed an import

* added schema ref

* reformated utils

* added support RemoteDatasetV1 parsing and updated tests

* black fomrat

* additional black magic

* fixed conflic

* minor fixes

* removed ignore of empty files

* updated tests for new (old) behaviour

* added test case

* updated test

* updated code to work with bounding boxes and polygon, also added toggle to use all or only non empty annotations to local dataset class

* black

* adjusting paths to pass tests

* black

* handling polyg and bbox bounding box anno

* [PY-401][external] Restore Meta Item & ItemQuery functions (#718)

* Meta functions & tests to restore items

* Test fixes

* [PY-402][external] Archive Meta Item & ItemQuery functions (#719)

* Meta functions & tests to archive items

* Test improvements

* Linting

* [PY-403][external] Set Priority Meta Item & ItemQuery functions (#720)

* Fixed missing path parameter in core move items to folder method

* Fixed missing priority parameter in core set item priority method

* Linting

* Meta Item & ItemQuery functions to move between folders

* Update darwin/future/tests/meta/queries/test_item.py

Co-authored-by: Owen Jones <owencjones+github@gmail.com>

* Added sad path tests

* Meta functions & tests to set item priority

* Linting

---------

Co-authored-by: Owen Jones <owencjones+github@gmail.com>

* automatic ruff --fix changes (#723)

* automatic ruff --fix changes

* black changes

* revert of client

* minor updates to tests

* added make polygon tests for darwin_v2 format

* updating tests to accomidate darwin V2 format

* black

* added nifty V2 test

* black

* refactor

* ruff --fix

* removed try catch in stacked targets

* removed print

* Reverted specific files to state in commit 09b105e

* converting complex and regular polygon to import format

* added a potential e2e import fix

* removed debug prints

* latest sync

* updated code to pass e2e tests

* black and ruff --fix all

* updated formatting

* minor changes to complex polygon

* minor fix

* black

* minor updates based on comments

* added PolygonPath and PolygonPaths definitions

* merge

* extended convertion tests

* local changes

* reverted changes to internal darwin format, convertion to v2 only done when writing to file now

* black

* ruff and black

* removed settings.json changes

* reverting to non-v2 data.zip

* merged darwin_v1_test changes from origin master

* changed json stream to normal json

* Fix `RecursionError` in `Item` class (#732)

* Item missing `__str__` method raises `RecursionError`

* update `MetaBase` class - add the missing `__str__` method

* commiting changes

* fixed json-stream error when checking for non-empty lists

* remove unused import

* fixed video to image convertion bug when folders are used

* removed debug print

* removed debug print

---------

Co-authored-by: John Wilkie <124276291+JBWilkie@users.noreply.github.com>
Co-authored-by: Owen Jones <owencjones+github@gmail.com>
Co-authored-by: Nathan Perkins <nathanjp91@gmail.com>
Co-authored-by: saurbhc <sc@saurabhchopra.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants