code: def get_or_create(cls, host_info, session):
      h = dict(
          hostname=host_info["hostname"],
          cpu=host_info["cpu"],
          os=host_info["os"][0],
          os_info=host_info["os"][1],
          python_version=host_info["python_version"],
      )
  
      return session.query(cls).filter_by(**h).first() or cls(**h)
  
imports: import hashlib
  import json
  import os
  import sqlalchemy
  from sqlalchemy.ext.declarative import declarative_base
  from sacred.dependencies import get_digest
  from sacred.serializer import restore
label_desc: Use image node_id 1 for calling the Host obj's underlying member method code with example usage: obj.get_or_create(cls, host_info, session) and returns: unknown