from django.views.decorators.csrf import csrf_exempt from chembl_webservices.core.fields import monkeypatch_tastypie_field monkeypatch_tastypie_field() SUPPORTED_ENGINES = ['rdkit'] BEAKER_CTAB_TO_SVG_URL = settings.BEAKER_URL + '/ctab2svg' def fail_method(*args, **kwargs): raise NotImplementedError('This method should not be called, must be overridden.') fakeSerializer = ChEMBLApiSerializer('image') fakeSerializer.formats = fakeSerializer.formats + ['svg', 'png'] fakeSerializer.content_types['svg'] = 'image/svg+xml' fakeSerializer.content_types['png'] = 'image/png' fakeSerializer.to_svg = fail_method fakeSerializer.to_png = fakeSerializer.to_xml super(ChEMBLApiSerializer, fakeSerializer).__init__() available_fields = [f.name for f in MoleculeDictionary._meta.fields] # ---------------------------------------------------------------------------------------------------------------------- class ImageResource(ChemblModelResource): # ----------------------------------------------------------------------------------------------------------------------
Chem = None Draw = None AllChem = None try: from chembl_beaker.beaker.draw import DrawingOptions except ImportError: DrawingOptions = None from chembl_webservices.core.fields import monkeypatch_tastypie_field monkeypatch_tastypie_field() SUPPORTED_ENGINES = ['rdkit', 'indigo'] fakeSerializer = ChEMBLApiSerializer('image') fakeSerializer.formats = ['png', 'svg', 'json'] available_fields = [f.name for f in MoleculeDictionary._meta.fields] # ---------------------------------------------------------------------------------------------------------------------- class ImageResource(ChemblModelResource): # ---------------------------------------------------------------------------------------------------------------------- image = fields.ApiField() class Meta(ChemblResourceMeta): resource_name = 'image' serializer = fakeSerializer
cffi = True import io import cairo if not hasattr(cairo, 'HAS_PDF_SURFACE'): cairo.HAS_PDF_SURFACE = False if not hasattr(cairo, 'HAS_SVG_SURFACE'): cairo.HAS_SVG_SURFACE = True SUPPORTED_ENGINES = ['rdkit', 'indigo'] options = DrawingOptions() options.useFraction = 1.0 options.dblBondOffset = .13 fakeSerializer = ChEMBLApiSerializer('image') fakeSerializer.formats = ['png', 'svg', 'json'] available_fields = [f.name for f in MoleculeDictionary._meta.fields] #----------------------------------------------------------------------------------------------------------------------- class ImageResource(ChemblModelResource): #----------------------------------------------------------------------------------------------------------------------- class Meta(ChemblResourceMeta): resource_name = 'image' serializer = fakeSerializer default_format = 'image/png' description = {'api_dispatch_detail' : ''' Get image of the compound, specified by