added Asset.get_logs_of_type() NEXT: try deployment

This commit is contained in:
2024-11-03 17:28:00 +01:00
parent ba5afc852b
commit 829e4cb608
2 changed files with 17 additions and 3 deletions

View File

@@ -1,4 +1,5 @@
import jsonapi_requests import jsonapi_requests
import neofarm.orm.log as Log
from . my_meta import MyMeta from . my_meta import MyMeta
@@ -9,6 +10,18 @@ class Asset(jsonapi_requests.orm.ApiModel):
name = jsonapi_requests.orm.AttributeField('name') name = jsonapi_requests.orm.AttributeField('name')
timestamp = jsonapi_requests.orm.AttributeField('timestamp') timestamp = jsonapi_requests.orm.AttributeField('timestamp')
location = jsonapi_requests.orm.RelationField('location') location = jsonapi_requests.orm.RelationField('location')
def get_logs_of_type(self, type):
if not issubclass(type, Log.Log):
raise ValueError("type specified is not a type of log use for example: get_logs_of_type(Log.Harvest)")
logs = type.get_list()
related = []
for log in logs:
for asset in log.assets:
if asset.id == self.id:
related.append(log)
break;
return related
class Land(Asset): class Land(Asset):
class Meta(Asset.Meta): class Meta(Asset.Meta):

View File

@@ -1,6 +1,7 @@
import neofarm.lib as neo import neofarm.lib as neo
if __name__ == "__main__": if __name__ == "__main__":
asset = neo.Asset.Product.from_id("4abf4918-5d08-4694-8e14-35a6dedceb72") asset = neo.Asset.Plant.from_id("76f89f82-1238-43bb-b34f-796a92d491a2")
name = asset.name logs = asset.get_logs_of_type(neo.Log.Activity)
print(name) for log in logs:
print(log.name)