view Sphinx/source/plugins/python/storage-area.py @ 748:a296fe06fd86

Implementing a custom storage area in Python
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 12 Aug 2021 17:51:54 +0200
parents
children
line wrap: on
line source

import orthanc
import os

def GetPath(uuid, contentType):
    # Returns the path where to store the given attachment
    return 'attachment-%d-%s' % (contentType, uuid)

def OnCreate(uuid, contentType, data):
    with open(GetPath(uuid, contentType), 'wb') as f:
        f.write(data)

def OnRead(uuid, contentType):
    with open(GetPath(uuid, contentType), 'rb') as f:
        return f.read()

def OnRemove(uuid, contentType):
    os.remove(GetPath(uuid, contentType))

orthanc.RegisterStorageArea(OnCreate, OnRead, OnRemove)