/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)
|