This file is indexed.

/usr/share/pyshared/asrun/dev/routines.py is in code-aster-run 1.13.1-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# -*- coding: utf-8 -*-

# ==============================================================================
# COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
# (AT YOUR OPTION) ANY LATER VERSION.
#
# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
#
# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
# ==============================================================================

"""
Tools for developpers :
    - search available routines numbers (te, op, lc...)
"""


import os.path as osp
from glob import glob

from asrun.common.i18n import _
from asrun.mystring import print3
from asrun.config import build_config_of_version



def _get_available_routine(templ, max, format):
    """Return the list of available routines numbers."""
    lpos = set([format % i for i in range(max + 1)])
    lexis = [osp.basename(f) for f in glob(templ)]
    lavail = list(lpos.difference(lexis))
    lavail.sort()
    return lavail


def get_available_te(bibfor):
    """Return the list of available te routines numbers."""
    templ = osp.join(bibfor, '*', 'te[0-9]*.f')
    return _get_available_routine(templ, 600, "te%04d.f")


def get_available_op(bibfor):
    """Return the list of available te routines numbers."""
    templ = osp.join(bibfor, '*', 'op[0-9]*.f')
    return _get_available_routine(templ, 200, "op%04d.f")


def get_available_lc(bibfor):
    """Return the list of available te routines numbers."""
    templ = osp.join(bibfor, '*', 'lc[0-9]*.f')
    return _get_available_routine(templ, 200, "lc%04d.f")


def FreeSubroutines(run, *args):
    """Return available subroutines numbers.
    """
    MAX = 8
    if not run.get('aster_vers'):
        run.parser.error(_(u"You must define 'default_vers' in 'aster' configuration file or use '--vers' option."))
    fconf = run.get('config')
    if fconf:
        fconf = osp.abspath(fconf)
    conf = build_config_of_version(run, run['aster_vers'], fconf)

    if run['nolocal']:
        run.Mess(_(u'This operation only works on local source files. "--nolocal" option ignored'))

    bibfor = conf.get_with_absolute_path('SRCFOR')[0]

    lte = get_available_te(bibfor)
    lop = get_available_op(bibfor)
    llc = get_available_lc(bibfor)
    if not run.get('all_test'):
        lte = lte[:MAX]
        lop = lop[:MAX]
        llc = llc[:MAX]
    print3(_(u'List of the available TE subroutines :'))
    print ' '.join(lte)
    print
    print3(_(u'List of the available OP subroutines :'))
    print ' '.join(lop)
    print
    print3(_(u'List of the available LC subroutines :'))
    print ' '.join(llc)