Subversion Repositories wimsdev

Rev

Rev 12559 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

mailchar=.-@_$alnum

!if $modreq!=$empty
  modreq=!word 1 of $modreq
  !if $wims_developer!=$empty
    !set modreq=!replace internal devel/$wims_developer/ by in $modreq
  !endif
  !if / isin $modreq or .. isin $modreq
    modreq=
  !endif
  mtest=!filelist $devdir/$modreq
  !if $mtest=$empty and ($modreq!=.new or $inddef=$empty)
    modreq=
  !endif
  !if $modreq=$empty
    job=modname
    !changeto $job.proc
  !endif

  !read scripts/getindex $modreq
  !if $title=$empty and $inddef=$empty
    job=modname
    modreq=
    !changeto $job.proc
  !endif

  mod=$modreq

  !if $inddef!=$empty
    inddef=
    !if $mod=.new
      !read scripts/target
      !if $error!=$empty or $target=$empty
        job=create
        !distribute item $target1,$t2,$t3,$target4 into o1,o2,o3,o4
        !changeto create.proc
      !endif
      mod=$target
    !endif
    !for i in title, description, category
      i_$i=!trim $(i_$i)
      !if $(i_$i)=$empty
        error=empty_data
        empty_data=$i
        job=index
        mod=
        !exit
      !endif
    !next i
    !if exercise isitemof $i_category or oef isitemof $i_category or\
        deductio isitemof $i_category
      !if exercise notitemof $i_category
        i_category=$i_category, exercise
      !endif
      !if oef isitemof $i_category or $deductio isitemof $i_category
        default=yes
      !else
        default=no
      !endif
      !bound i_scoring within yes, no default $default
    !else
      i_scoring=no
    !endif
    !if deductio isitemof $i_category
      i_vardef=deduc/var.def
    !endif
    !if oef isitemof $i_category
      i_vardef=oef/var.def
    !endif
    !if document isitemof $i_category
      i_vardef=docu/var.def
    !endif

    c=!char 1 of $i_description
    c=!lower $c
    i_description=!replace char number 1 by $c in $i_description
    c=!char -1 of $i_description
    !if $c!=.
      i_description=$i_description.
    !endif
    !if $i_translation_language!=$empty
      !for l_ in $i_translation_language
        c=!char 1 of $(i_description_$l_)
        c=!lower $c
        i_description_$l_=!replace char number 1 by $c in $(i_description_$l_)
        c=!char -1 of $(i_description_$l_)
        !if $c!=. and $(i_description_$l_)!= $empty
          i_description_$l_=$(i_description_$l_).
        !endif
      !next
    !endif

    !bound i_language within $langlist default $module_language
    i_level=!listintersect $i_level and $levellist
    i_level_cnt=!itemcnt $i_level
    !if $i_level issametext $levellist or $i_level_cnt >= 10
      !reset i_level
    !endif
    level_def=!replace internal ~ by , in $modreq
    !default i_level=!listintersect $(level_def[1]) and $levellist
    i_copyright=$copyright
    !default i_copyright=$gnu
    i_copyright=!replace internal \COPYING\> by "COPYING"> in $i_copyright
    !if $year notwordof $i_copyright
      i_copyright=$i_copyright $year
    !endif
    i_require=!listintersect $i_require and $swlist
    !default i_author=$auth_name
    i_author=!char 1 to 100 of $i_author
    !if , notin in $i_author
      author1=!word 1 of $i_author
      author2=!word 2 to -1 of $i_author
      i_author=$author1, $author2
    !endif
    !default i_address=$auth_email
    i_address=!items2words $i_address
    !!i_address=!word 1 of $i_address
    i_address=!words2items $i_address
    i_address=!text select ;,$mailchar in $i_address
    i_translator=!char 1 to 100 of $i_translator
    i_translator_address=!word 1 of $i_translator_address
    i_translator_address=!text select $mailchar in $i_translator_address

    !if $i_translation_language!=$empty
      !for l_ in $i_translation_language
        i_translator_$l_=!char 1 to 100 of $(i_translator_$l_)
        i_translator_address_$l_=!word 1 of $(i_translator_address_$l_)
        i_translator_address_$l_=!text select $mailchar in $(i_translator_address_$l_)
      !next
    !endif
    i_version=!word 1 of $i_version
    tmp=!replace internal . by , in $i_version
    tmp=!charcnt $(tmp[2])
    !if $tmp<2
      !if $tmp=0
        !if . notin $i_version
          i_version=$i_version.00
        !else
          i_version=$(i_version)00
        !endif
      !endif
      !if $tmp=1
        i_version=$(i_version)0
      !endif
    !endif
    !reset tmp
    i_version=!char 1 to 4 of $i_version
    i_wims_version=!word 1 of $i_wims_version
    !default i_version=1.00
    !default i_wims_version=$wims_version

    !for l in $deflist1
      i_$l=$(i_$l)
    !next
    i_translation_language=!items2words $i_translation_language
    ###add fields not accessible by the interface for the moment
    ### will be useful in case of translation in the module itself
    i_mod_related=!words2items $i_mod_related
    i_mod_related=!text select _.-/,$alnum in $i_mod_related
    !default i_mod_related=$mod_related
    !if .. isin $i_mod_related
      i_mod_related=
    !endif

    !default i_data=$data
    !if .. isin $i_data
      i_data=
    !endif
    ind=# This file is automatically generated by $module_title $module_version.\
# Do not edit by hand.\
\

    !if dialog isitemof $category
      i_category=exercise,dialog
    !endif
    !if scenario isitemof $category
      i_category=exercise,scenario
    !endif
    cat1=!item 1 of $i_category
    !if document isin $i_category
      i_category=document
      cat1=doc
    !endif

    !for i in $deflist,$deflist1
      ind=$ind$i=$(i_$i)\

    !next i
    !if $cat1=exercise and , isin $i_category
      cat1=!item 2 of $i_category
    !endif
    !if $cat1=recreation
      cat1=exercise
    !endif
    dest=$devdir/$mod
    src=modules/template/$cat1.$i_language
    ind=!replace " by \\" in $ind
    !sh if [ ! -e "$dest" ]; then\
    mkdir -p $dest\
    cp -pR $src/* $dest\
    if [ "$cat1" = "doc" ]; then\
    echo '*' >$dest/doc/1/.code\
    cat >$dest/doc/1/.def <<@\
tit=$i_title\
author=$i_author\
email=$i_address\
copyright=gnu\
dlang=$i_language\
docopen=yes\
header=\
@\
   fi\
  fi\
  echo "$ind" >$dest/INDEX
    !if $i_common_images=yes
      !sh sed -i.bak 's/common_images=no/common_images=yes/g' $dest/var.proc\
      sed -i.bak 's/class_importation=yes/class_importation=no/g' $dest/var.proc\
      rm $dest/var.proc.bak
    !endif
    !read scripts/getindex $mod
    wims_module_log=$mod/INDEX
  !endif

  !read files
  !default useropts1=2
  !default useropts2=1
  !default useropts3=0
  !set usersize=$[$wims_texbasesize + ($useropts4)]

  !setdef wims_useropts=$(usersize)$(useropts1)$(useropts2)$(useropts3) in wimshome/sessions/$wims_session/var.stat
!endif