LibAtomsParser.scala 2.3 KB
Newer Older
1
/*
2
3
4
5
6
7
8
9
10
11
12
13
14
 * Copyright 2016-2018 Fawzi Mohamed, Carl Poelking, Daria Tomecka
 * 
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 * 
 *     http://www.apache.org/licenses/LICENSE-2.0
 * 
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
15
 */
16

Carl Poelking's avatar
Carl Poelking committed
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package eu.nomad_lab.parsers

import eu.{ nomad_lab => lab }
import eu.nomad_lab.DefaultPythonInterpreter
import org.{ json4s => jn }
import scala.collection.breakOut

object LibAtomsParser extends SimpleExternalParserGenerator(
  name = "LibAtomsParser",
  parserInfo = jn.JObject(
    ("name" -> jn.JString("LibAtomsParser")) ::
      ("parserId" -> jn.JString("LibAtomsParser" + lab.LibAtomsVersionInfo.version)) ::
      ("versionInfo" -> jn.JObject(
        ("nomadCoreVersion" -> jn.JObject(lab.NomadCoreVersionInfo.toMap.map {
          case (k, v) => k -> jn.JString(v.toString)
        }(breakOut): List[(String, jn.JString)])) ::
          (lab.LibAtomsVersionInfo.toMap.map {
            case (key, value) =>
              (key -> jn.JString(value.toString))
          }(breakOut): List[(String, jn.JString)])
      )) :: Nil
  ),
39
  mainFileTypes = Seq("application/xml"),
Carl Poelking's avatar
Carl Poelking committed
40
  mainFileRe = """\s*<GAP_params\s""".r,
Carl Poelking's avatar
Carl Poelking committed
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
  cmd = Seq(DefaultPythonInterpreter.pythonExe(), "${envDir}/parsers/lib-atoms/parser/parser-lib-atoms/libAtomsParser.py",
    "${mainFilePath}"),
  resList = Seq(
    "parser-lib-atoms/libAtomsParser.py",
    "parser-lib-atoms/libLibAtomsParser.py",
    "parser-lib-atoms/libMomo.py",
    "parser-lib-atoms/setup_paths.py",
    "nomad_meta_info/public.nomadmetainfo.json",
    "nomad_meta_info/common.nomadmetainfo.json",
    "nomad_meta_info/meta_types.nomadmetainfo.json",
    "nomad_meta_info/lib_atoms.nomadmetainfo.json"
  ) ++ DefaultPythonInterpreter.commonFiles(),
  dirMap = Map(
    "parser-lib-atoms" -> "parsers/lib-atoms/parser/parser-lib-atoms",
    "nomad_meta_info" -> "nomad-meta-info/meta_info/nomad_meta_info"
  ) ++ DefaultPythonInterpreter.commonDirMapping()
)