Skip to content
Snippets Groups Projects
Select Git revision
  • 19c408bfea09c865a90752a4866e966c70818cad
  • develop default protected
  • parallel-4-runners
  • 2422-2-upload-test-use-session-scope-fixtures
  • fix-tests-issue-transfer-bundle
  • 2429-list-of-fileeditquantitys-cannot-be-displayed-navigated-in-data-section
  • integrate-widget-tooltip-last
  • 2299-better-defaults-for-custom-plots
  • 2425-add-helper-info-for-widgets-in-old-gui
  • 2380-integrate-actions-transfer-endpoint-with-old-gui
  • github-129-jamesbates-james
  • migrate-from-setuptools-to-hatchling
  • fix-tests-issue-try-2
  • 2349-metainfo-endpoint-for-exporting-jsonschema
  • 2426-add-helper-info-for-widgets-in-new-gui
  • revert-8442dd7f
  • 2418-try-it-out-sections-in-docs-api-dashboard-wouldn-t-work-with-config-oasis
  • update-test-durations
  • processing-to-mongo
  • 2390-not-all-units-available-in-the-front-end
  • 2163-usage-of-inherited-quantities-in-apps
  • v1.3.17
  • v1.3.16
  • tag-skip-tests-for-docs
  • v1.3.15
  • v1.3.14
  • v1.3.13
  • v1.3.12
  • v1.3.11
  • v1.3.10
  • v1.3.9
  • v1.3.8
  • v1.3.7
  • v1.3.6
  • v1.3.5
  • v1.3.4
  • v1.3.3
  • v1.3.2
  • v1.3.1
  • v1.3.0
  • v1.2.1
41 results

setup.py

Blame
  • libddww.py 11.75 KiB
    """ ctypes bindings for libddww """
    import numpy.ctypeslib
    import ctypes
    from ctypes import c_int16, c_uint16, c_int32, c_uint32, c_int64, c_uint64, c_float, c_double, c_char_p, c_void_p, POINTER
    import os
    import copy
    
    #__libddww__ = numpy.ctypeslib.load_library('libddww8', "/afs/ipp-garching.mpg.de/aug/ads/lib64/%s" % os.environ['SYS'])
    ddww_dir = '/afs/ipp/aug/ads/lib64/@sys'
    ddww_dir = '/shares/software/aug-dv/moduledata/ads/Linux-generic-x86_64/lib64'
    if not os.path.isdir(ddww_dir):
        ddww_dir = '/afs/ipp/aug/ads/lib64/amd64_sles11'
    __libddww__ = numpy.ctypeslib.load_library('libddww8', ddww_dir)
    
    c_int16_p = POINTER(c_int16)
    c_uint16_p = POINTER(c_uint16)
    c_int32_p = POINTER(c_int32)
    c_uint32_p = POINTER(c_uint32)
    c_int64_p = POINTER(c_int64)
    c_uint64_p = POINTER(c_uint64)
    c_float_p = POINTER(c_float)
    c_double_p = POINTER(c_double)
    
    
    def function(argtypes, restype = c_int32):
        return {'argtypes':argtypes, 'restype':restype}
    
    functions = {
        'ddagroup':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, c_void_p, c_uint32_p]),
        'ddainfo':      function([c_int32_p, c_int32, c_char_p, numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.uint32, shape=(3)), numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.uint32, shape=(3)), c_int32_p]),
        'ddainfo2':     function([c_int32_p, c_int32, c_char_p, c_uint32_p, c_uint32_p, c_int32_p, c_char_p, c_int32_p]),
        'ddccsgnl':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(ndim=1), c_uint32_p, c_int32_p, c_char_p]),
        'ddccsgrp':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32_p, c_int32_p, c_char_p]),
        'ddccxsig':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32_p, c_uint32, c_uint32, c_void_p, c_uint32_p, c_int32_p, c_char_p]),
        'ddclose':      function([c_int32_p, c_int32]),
        'ddcsgnl':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(ndim=1), c_uint32_p, c_int32_p, c_char_p]),
        'ddcsgrp':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32_p, c_int32_p, c_char_p]),
        'ddcxsig':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32_p, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32_p, c_int32_p, c_char_p]),
        'ddcshotnr':    function([c_char_p, c_char_p, c_uint32, c_uint32_p]),
        'dddelay':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_void_p]),
        'dddim':        function([c_int32_p, c_int32, c_char_p]),
        'ddevent':      function([c_int32_p, c_int32, c_char_p, c_int32, c_void_p, c_uint32, c_void_p, c_float_p, c_uint64]),
        'ddflist':      function([c_int32_p, c_int32, c_uint32, c_int32_p, c_int32_p]),
    #    'ddgetaug':function(int32_t argc, void *argv[]);
        'dddgetsgr':    function([c_int32_p, c_char_p, c_char_p, c_uint32, c_int32, c_char_p, c_double, c_double, c_char_p, c_double_p, c_double_p, c_uint32_p, c_uint32_p, c_uint32, c_char_p]),
        'dddgetsig':    function([c_int32_p, c_char_p, c_char_p, c_uint32, c_int32, c_char_p, c_double, c_double, c_char_p, c_double_p, c_double_p, c_uint32_p, c_uint32, c_char_p]),
    
        'ddgetsgr':     function([c_int32_p, c_char_p, c_char_p, c_uint32, c_int32, c_char_p, c_float, c_float, c_char_p, c_float_p, c_float_p, c_uint32_p, c_uint32_p, c_uint32, c_char_p]),
        'ddgetsig':     function([c_int32_p, c_char_p, c_char_p, c_uint32, c_int32, c_char_p, c_float, c_float, c_char_p, c_float_p, c_float_p, c_uint32_p, c_uint32, c_char_p]),
        'ddlastshotnr': function([c_int32_p, c_uint32_p]),
        'ddlnames':     function([c_int32_p, c_int32, c_char_p, c_int32_p, c_char_p]),
        'ddmapinfo':    function([c_int32_p, c_int32, c_char_p, numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.int32), c_char_p, c_int32_p]),
        'ddobjdata':    function([c_int32_p, c_int32, c_char_p, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32_p]),
        'ddobjhdr':     function([c_int32_p, c_int32, c_char_p, numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.int32, shape=(26)), c_char_p]),
        'ddobjname':    function([c_int32_p, c_int32, c_int32, c_char_p]),
        #'ddobjval':     function([c_int32_p, c_int32, c_char_p, c_char_p, c_int32_p]),
        'ddobjval':     function([c_int32_p, c_int32, c_char_p, c_char_p, c_void_p]),
        'ddopen':       function([c_int32_p, c_char_p, c_char_p, c_uint32, c_int32, c_int32_p, c_char_p]),
        'ddparm':       function([c_int32_p, c_int32, c_char_p, c_char_p, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_int32_p]),
    
    #void   ddphys_ (int32_t *ier, int32_t *ref, char *name, uint32_t *type, uint32_t *vl, float *pdat, float *fmin, float *fmax, char *physdim, uint64_t lname, uint64_t lphysdim);
    
        'ddprinfo':     function([c_int32_p, c_int32, c_char_p, c_int32_p, c_char_p, numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.uint32), numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.uint16), numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.int32)]),
        'dd_prinfo':    function([c_int32_p, c_int32, c_char_p, c_char_p, c_uint32_p, c_uint16_p]),
        'ddqget':       function([c_int32_p, c_int32, c_char_p, c_int32_p, c_uint32_p, numpy.ctypeslib.ndpointer(dtype=numpy.int32)]),
        'ddqinfo':      function([c_int32_p, c_int32, c_char_p, c_int32_p, numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.uint32, shape=(3)), c_uint32_p]),
        'ddsgroup':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32_p]),
        #'ddshot_prefetch':function([c_int32_p, c_char_p, c_char_p, c_uint32_p, c_int32, c_uint32, c_int32]),
        'ddsignal':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(ndim=1), c_uint32_p]),
        'ddsinfo':      function([c_int32_p, c_int32, c_char_p, c_uint32_p, c_char_p, numpy.ctypeslib.ndpointer(ndim=1, dtype=numpy.uint32, shape=(4))]),
        'ddtbase':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(ndim=1), c_uint32_p]),
        'ddtindex':     function([c_int32_p, c_int32, c_char_p, c_float, c_float, c_uint32_p, c_uint32_p]),
        'dddtindex':    function([c_int32_p, c_int32, c_char_p, c_double, c_double, c_uint32_p, c_uint32_p]),
        'ddtindexneu':  function([c_int32_p, c_int32, c_char_p, c_float, c_float, c_uint32_p, c_uint32_p]),
        'dddtindexneu': function([c_int32_p, c_int32, c_char_p, c_double, c_double, c_uint32_p, c_uint32_p]),
    
        'ddtmout':      function([c_int32_p, c_int32]),
        'ddtrange':     function([c_int32_p, c_int32, c_char_p, c_float_p, c_float_p, c_uint32_p, c_uint32_p]),
        'dddtrange':    function([c_int32_p, c_int32, c_char_p, c_double_p, c_double_p, c_uint32_p, c_uint32_p]),
        'dduprmd':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_float_p, c_int32_p, c_int32_p, c_int32_p, c_uint32_p]),
        'dduprot':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_float_p, c_int32_p, c_uint32_p, c_uint32_p]),
        'ddwait':       function([c_int32_p, c_uint32_p]),
        'ddwaitt':      function([c_int32_p, c_uint32_p, c_int32]),
        'ddxtrsignal':  function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32_p, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32_p]),
        'wwainsert':    function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), numpy.ctypeslib.ndpointer(dtype=numpy.uint32, ndim=1, shape=(3))]),
        'wwclear':      function([c_int32_p, c_int32, c_char_p]),
        'wwclose':      function([c_int32_p, c_int32, c_char_p, c_char_p]),
        'wwinsert':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32, numpy.ctypeslib.ndpointer(dtype=numpy.uint32, ndim=1, shape=(3))]),
        'wwoinfo':      function([c_int32_p, c_int32, c_char_p, c_uint32_p, numpy.ctypeslib.ndpointer(dtype=numpy.uint16), c_uint32_p, numpy.ctypeslib.ndpointer(dtype=numpy.int32), numpy.ctypeslib.ndpointer(dtype=numpy.uint32)]),
        'wwonline':     function([c_int32_p, c_char_p, c_char_p, c_int32]),
        'wwopen':       function([c_int32_p, c_char_p, c_char_p, c_uint32, c_char_p, c_int32_p, c_int32_p, c_char_p]),
        'wwparm':       function([c_int32_p, c_int32, c_char_p, c_char_p, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32]),
        'wwpred':       function([c_int32_p, c_int32, c_char_p, c_char_p, c_uint32, c_int32]),
        'wwqset':       function([c_int32_p, c_int32, c_char_p, c_int16, c_uint32, c_int32]),
        'wwsfile':      function([c_int32_p, c_int32, c_int32]),
        'wwsignal':     function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32]),
        'wwtbase':      function([c_int32_p, c_int32, c_char_p, c_uint32, c_uint32, numpy.ctypeslib.ndpointer(), c_uint32]),
        'wwtext':       function([c_int32_p, c_int32, c_char_p, c_char_p]),
    
        'xxcom':        function([c_int32]),
        'xxerrprt':     function([c_int32, c_char_p, c_int32, c_uint32, c_char_p]),
        'xxerror':      function([c_int32, c_uint32, c_char_p]),
        'xxnote':       function([c_int32]),
        'xxsev':        function([c_int32]),
        'xxwarn':       function([c_int32])
    
    
    #void   xxdiaglog_ (char *msg, int32_t wohin);
    #
    #
    #/* definitions for the current DDB Fortran Library */
    #	int32_t    ddb_delete_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *p_time_out, uint64_t lexper, uint64_t  ldiag);
    #	int32_t    ddb_do_send (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *p_val1, int32_t *p_val2,
    #				            int32_t *p_val3, int32_t *p_time_out, char *buffer, int32_t *no_lines, int32_t request, uint64_t lexper, uint64_t ldiag, uint64_t  lline);
    #	int32_t    ddb_insert_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *p_time_out, char *buffer,
    #				       int32_t *no_lines, uint64_t lexper, uint64_t ldiag, uint64_t  lline);
    #	int32_t    ddb_list_ppred_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *p_time_out,
    #		          char *buffer, int32_t *no_lines, uint64_t lexper, uint64_t ldiag, uint64_t  lline);
    #	int32_t    ddb_list_pred_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *p_time_out,
    #		         char *no_lines, int32_t *l_text, uint64_t lexper, uint64_t ldiag, uint64_t  lline);
    #	int32_t    ddb_list_succ_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *p_time_out,
    #		          char *buffer, int32_t *no_lines, uint64_t lexper, uint64_t ldiag, uint64_t  lline);
    #	int32_t    ddb_mod_quality_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *p_quality,
    #					         int32_t *p_time_out, uint64_t lexper, uint64_t ldiag);
    #	int32_t    ddb_mod_status_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *status,
    #					        int32_t *p_time_out, uint64_t lexper, uint64_t ldiag);
    #	int32_t    ddb_query_file_ (int32_t *error, char *exper, char *diag, uint32_t *shot, int32_t *edition, int32_t *status,
    #					        int32_t *p_verification, int32_t *p_quality, int32_t *p_time_out, char *buffer, int32_t *no_lines,
    #					        uint64_t lexper, uint64_t ldiag, uint64_t  lline);
    #	int32_t    ddb_query_user_ (int32_t *error, char *exper, char *diag, char *p_user, char *p_capability, int32_t *p_time_out, uint64_t lexper, uint64_t ldiag, uint64_t luser, uint64_t lcap);
    #	void   ddbgetuid_num_ (int32_t *error, int32_t *num, char *username, uint64_t lusername);
    
            }
    
    for func in functions:
        try:
            vars()[func] = __libddww__[func]
            vars()[func].argtypes = functions[func]['argtypes']
            vars()[func].restype = functions[func]['restype']
        except Exception as Error: # modified git 07.05.19 for python3 compatibility
            print(Error)