diff --git a/.github/labeler.yml b/.github/labeler.yml index a8383ad..faf0257 100644 --- a/.github/labeler.yml +++ b/.github/labeler.yml @@ -32,8 +32,8 @@ rust: c: - changed-files: - - any-glob-to-any-file: "c/**" + - any-glob-to-any-file: "c/**" d: - changed-files: - - any-glob-to-any-file: "d/**" + - any-glob-to-any-file: "d/**" diff --git a/.github/workflows/c-gen-docs.yml b/.github/workflows/c-gen-docs.yml index a8a5875..44d64b3 100644 --- a/.github/workflows/c-gen-docs.yml +++ b/.github/workflows/c-gen-docs.yml @@ -38,8 +38,8 @@ jobs: - name: Build docs with Doxygen uses: mattnotmitt/doxygen-action@v1.9.5 with: - working-directory: 'c/' - doxyfile-path: 'Doxyfile' + working-directory: "c/" + doxyfile-path: "Doxyfile" - name: Publish to GitHub Pages if: success() diff --git a/.github/workflows/c-releases.yml b/.github/workflows/c-releases.yml index 49eed81..086746f 100644 --- a/.github/workflows/c-releases.yml +++ b/.github/workflows/c-releases.yml @@ -4,7 +4,7 @@ on: workflow_dispatch: inputs: tag: - description: 'Release tag (.eg v1.0.0)' + description: "Release tag (.eg v1.0.0)" required: true type: string @@ -51,15 +51,15 @@ jobs: - name: Create archive uses: TheDoctor0/zip-release@0.7.6 with: - type: 'tar' - filename: 'github-release/c-release.tar.gz' - directory: 'c' - exclusions: './build/* github-release' + type: "tar" + filename: "github-release/c-release.tar.gz" + directory: "c" + exclusions: "./build/* github-release" - name: Upload release uses: ncipollo/release-action@v1.14.0 with: - name: 'Kuliya latest' - artifacts: 'c/github-release/c-release.tar.gz' - tag: 'c-${{ inputs.tag }}' + name: "Kuliya latest" + artifacts: "c/github-release/c-release.tar.gz" + tag: "c-${{ inputs.tag }}" token: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/draft-new-release.yml b/.github/workflows/draft-new-release.yml index 84031d3..dde4109 100644 --- a/.github/workflows/draft-new-release.yml +++ b/.github/workflows/draft-new-release.yml @@ -2,77 +2,77 @@ name: "Draft New Release" run-name: "Draft: ${{ github.event.inputs.project }}-${{ github.event.inputs.version }}" on: - workflow_dispatch: - inputs: - project: - type: choice - options: - - "c" - - "csharp" - - "d" - - "java" - - "javascript" - - "php" - - "python" - - "rust" - required: true - version: - description: "eg. 0.1.0" - required: true + workflow_dispatch: + inputs: + project: + type: choice + options: + - "c" + - "csharp" + - "d" + - "java" + - "javascript" + - "php" + - "python" + - "rust" + required: true + version: + description: "eg. 0.1.0" + required: true jobs: - apply-version-rust: - name: "Apply Version for: ${{ github.event.inputs.project }}" - runs-on: ubuntu-latest - if: ${{ github.event.inputs.project == 'rust' }} - env: - CWD: "./${{ github.event.inputs.project }}" - PROJECT: ${{ github.event.inputs.project }} - PUBLISH_VERSION: ${{ github.event.inputs.version }} - BRANCH: "main" - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - - uses: actions-rust-lang/setup-rust-toolchain@v1 - - run: cargo install cargo-bump - working-directory: ${{ env.CWD }} - - run: cargo bump ${{ env.PUBLISH_VERSION }} - working-directory: ${{ env.CWD }} - - run: cargo build - working-directory: ${{ env.CWD }} - - name: "Commit and Push" - run: | - git config user.name github-actions[bot] - git config user.email github-actions[bot]@users.noreply.github.com - git checkout ${{ env.BRANCH }} - git add . - git commit -m "$PROJECT$PUBLISH_VERSION" - git push origin HEAD:refs/heads/${{ env.BRANCH }} + apply-version-rust: + name: "Apply Version for: ${{ github.event.inputs.project }}" + runs-on: ubuntu-latest + if: ${{ github.event.inputs.project == 'rust' }} + env: + CWD: "./${{ github.event.inputs.project }}" + PROJECT: ${{ github.event.inputs.project }} + PUBLISH_VERSION: ${{ github.event.inputs.version }} + BRANCH: "main" + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - run: cargo install cargo-bump + working-directory: ${{ env.CWD }} + - run: cargo bump ${{ env.PUBLISH_VERSION }} + working-directory: ${{ env.CWD }} + - run: cargo build + working-directory: ${{ env.CWD }} + - name: "Commit and Push" + run: | + git config user.name github-actions[bot] + git config user.email github-actions[bot]@users.noreply.github.com + git checkout ${{ env.BRANCH }} + git add . + git commit -m "$PROJECT$PUBLISH_VERSION" + git push origin HEAD:refs/heads/${{ env.BRANCH }} - draft-github-release: - name: "Draft GitHub Release" - runs-on: ubuntu-latest - needs: [apply-version-rust] - permissions: - contents: write - env: - PROJECT: ${{ github.event.inputs.project }} - PUBLISH_VERSION: ${{ github.event.inputs.version }} - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - BRANCH: "main" - steps: - - name: "Create Release" - run: | - curl -X POST \ - -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ - -H "Content-Type: application/json" \ - -d '{ - "tag_name": "${{ env.PROJECT }}-${{ env.PUBLISH_VERSION }}", - "target_commitish": "${{ env.BRANCH }}", - "name": "${{ env.PROJECT }}-${{ env.PUBLISH_VERSION }}", - "body": "", - "draft": true, - "prerelease": false - }' \ - https://api.github.com/repos/${{ github.repository }}/releases + draft-github-release: + name: "Draft GitHub Release" + runs-on: ubuntu-latest + needs: [apply-version-rust] + permissions: + contents: write + env: + PROJECT: ${{ github.event.inputs.project }} + PUBLISH_VERSION: ${{ github.event.inputs.version }} + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + BRANCH: "main" + steps: + - name: "Create Release" + run: | + curl -X POST \ + -H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \ + -H "Content-Type: application/json" \ + -d '{ + "tag_name": "${{ env.PROJECT }}-${{ env.PUBLISH_VERSION }}", + "target_commitish": "${{ env.BRANCH }}", + "name": "${{ env.PROJECT }}-${{ env.PUBLISH_VERSION }}", + "body": "", + "draft": true, + "prerelease": false + }' \ + https://api.github.com/repos/${{ github.repository }}/releases diff --git a/.github/workflows/rust-checks.yml b/.github/workflows/rust-checks.yml index abd0336..93ef8cf 100644 --- a/.github/workflows/rust-checks.yml +++ b/.github/workflows/rust-checks.yml @@ -13,20 +13,29 @@ jobs: build_and_test: name: kuliya - latest runs-on: ubuntu-latest - strategy: - matrix: - toolchain: - - stable - - beta - - nightly + env: + CWD: "rust" steps: - uses: actions/checkout@v4 - - run: rustup update ${{ matrix.toolchain }} - - run: rustup default ${{ matrix.toolchain }} - - run: rustup component add clippy - - run: cd rust && cargo clippy --all-features -- -Dwarnings - - run: cd rust && cargo build --verbose - - run: cd rust && cargo test --verbose - - run: cd rust && cargo test --verbose --lib --bins --tests --features serde_derive - - run: cd rust && cargo test --verbose --lib --bins --tests --no-default-features --features storage - - run: cd rust && cargo test --verbose --all-features + with: + fetch-depth: 0 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + with: + components: clippy + - run: cargo install cargo-readme + - run: cargo readme > README.md + working-directory: ${{ env.CWD }} + - run: cargo clippy --all-features -- -Dwarnings + working-directory: ${{ env.CWD }} + - run: cargo build --verbose + working-directory: ${{ env.CWD }} + - name: "is docs updated and generated files are committed" + run: exit $(git status --porcelain | wc -l) + - run: cargo test --verbose + working-directory: ${{ env.CWD }} + - run: cargo test --verbose --lib --bins --tests --features serde_derive + working-directory: ${{ env.CWD }} + - run: cargo test --verbose --lib --bins --tests --no-default-features --features storage + working-directory: ${{ env.CWD }} + - run: cargo test --verbose --all-features + working-directory: ${{ env.CWD }} diff --git a/.github/workflows/rust-publish.yml b/.github/workflows/rust-publish.yml new file mode 100644 index 0000000..52f6ea5 --- /dev/null +++ b/.github/workflows/rust-publish.yml @@ -0,0 +1,22 @@ +name: "CD" +run-name: "Publish: ${{ github.ref_name }}" + +on: + push: + tags: + - "rust-*" + +jobs: + publish: + name: cargo publish + runs-on: ubuntu-latest + env: + CARGO_REGISTRY_TOKEN: ${{ secrets.CARGO_REGISTRY_TOKEN }} + CWD: "rust" + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 + - uses: actions-rust-lang/setup-rust-toolchain@v1 + - run: cargo publish + working-directory: ${{ env.CWD }} diff --git a/rust/.gitignore b/rust/.gitignore index 6e06eef..d913617 100644 --- a/rust/.gitignore +++ b/rust/.gitignore @@ -1,2 +1,2 @@ target -src/static/_auto_generated + diff --git a/rust/Cargo.toml b/rust/Cargo.toml index 86e4f51..e5eff24 100644 --- a/rust/Cargo.toml +++ b/rust/Cargo.toml @@ -1,7 +1,9 @@ [package] name = "kuliya" +description = "A library for querying Algerian education dataset." version = "0.1.0" edition = "2021" +license = "MIT" [package.metadata.docs.rs] all-features = true diff --git a/rust/README.md b/rust/README.md index f49ed30..101f90e 100644 --- a/rust/README.md +++ b/rust/README.md @@ -1,13 +1,24 @@ -# kuliya for Rust +# kuliya -Algeria's college hierarchy dataset as Cargo package +Algeria's college hierarchy dataset as a crate with useful APIs. -# Get started +Example -WIP +```rust +use kuliya::r#static::api::get_node_by_path; -# Contribute +let faculty_of_science_and_technology = get_node_by_path("umkb/fst"); -Please install Rust compiler using https://rustup.rs/ +assert_eq!(faculty_of_science_and_technology.is_some(), true); -Feel free to ask for help in [#kuliya](https://dzcode.slack.com/archives/C01C0155CKC) group chat +let faculty_of_science_and_technology = faculty_of_science_and_technology.unwrap(); + +assert_eq!(faculty_of_science_and_technology.name.ar, "كلية العلوم والتكنلوجيا"); + +// when the path is not found, the function returns None +let non_existing_node = get_node_by_path("umkb/fst/unknown"); + +assert_eq!(non_existing_node.is_none(), true); +``` + +License: MIT diff --git a/rust/build.rs b/rust/build.rs index aaa3695..203019b 100644 --- a/rust/build.rs +++ b/rust/build.rs @@ -83,22 +83,26 @@ mod r#static { }; let sub_dirs = fs::read_dir(&dir).unwrap(); - let children = sub_dirs.filter_map(|entry| { - let entry = entry.unwrap(); - let ty = entry.file_type().unwrap(); - if ty.is_dir() { - Some(dir_tree_to_list(entry.path())) - } else { - None - } - }); + let mut children: Vec<(String, String)> = sub_dirs + .filter_map(|entry| { + let entry = entry.unwrap(); + let ty = entry.file_type().unwrap(); + if ty.is_dir() { + Some(dir_tree_to_list(entry.path())) + } else { + None + } + }) + .collect(); + // to ensure deterministic output on different platforms + children.sort(); let mut constants = String::new(); let mut matches = String::new(); - children.for_each(|(c, m)| { + for (c, m) in children { constants.push_str(&c); matches.push_str(&m); - }); + } ( format!("{}{}", this_node, constants), @@ -134,7 +138,11 @@ pub mod data; } pub fn main() { - generate_data_file().unwrap(); + if Path::new("../_data").exists() { + generate_data_file().unwrap(); + } else { + println!("No _data directory found. Skipping data generation."); + } } } diff --git a/rust/src/static/_auto_generated/data.rs b/rust/src/static/_auto_generated/data.rs new file mode 100644 index 0000000..3f67843 --- /dev/null +++ b/rust/src/static/_auto_generated/data.rs @@ -0,0 +1,1860 @@ +// This is auto-generated. Do not edit manually. + +use super::super::node::{Node, NodeName, NodeType, NodeTerms}; + +const UA2AKS: Node = Node { + name: NodeName { + en: "University of Algiers 2 Abou El-kacem Saâdallah", + ar: "جامعة الجزائر 2 أبو القاسم سعد الله", + fr: "Université d’Alger 2 Abou El Kacem Saâdallah", + }, + r#type: NodeType::University, +}; +const UA2AKS_FALAOL: Node = Node { + name: NodeName { + en: "Faculty of Humanities", + ar: "كلية العلوم الإنسانية", + fr: "Faculté des Sciences Humaines", + }, + r#type: NodeType::Faculty, +}; +const UA2AKS_FALAOL_DALA: Node = Node { + name: NodeName { + en: "Department of Arabic Language and Arts", + ar: "قسم اللغة العربية وآدابها ", + fr: "Département de Langue et Lettres arabes et Langues Orientales", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FALAOL_DART: Node = Node { + name: NodeName { + en: "Department of Arts", + ar: "قسم الفنون ", + fr: "Département des Arts", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FALAOL_DTRL: Node = Node { + name: NodeName { + en: "Department of Turkish and Russian Languages", + ar: "قسم اللغة التركية والروسية ", + fr: "Département de langues Turque et Russe", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FALAOL_DTS: Node = Node { + name: NodeName { + en: "Department of Tongue Sciences", + ar: "قسم علوم اللسان ", + fr: "Département des Sciences du Langage", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FLE: Node = Node { + name: NodeName { + en: "Faculty of Humanities", + ar: "كلية العلوم الإنسانية", + fr: "Faculté des Sciences Humaines", + }, + r#type: NodeType::Faculty, +}; +const UA2AKS_FLE_DEN: Node = Node { + name: NodeName { + en: "Department of English", + ar: "قسم اللغة الانجليزية ", + fr: "Département de Langue Anglaise", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FLE_DFR: Node = Node { + name: NodeName { + en: "Department of French", + ar: "قسم اللغة الفرنسية ", + fr: "Département de Langue Française", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FLE_DSGI: Node = Node { + name: NodeName { + en: "Department of Spanish, German & Italian", + ar: "قسم اللغات الاسبانية , الألمانية , الايطالية ", + fr: "Département des Langues Espagnole, Allemande, et Italienne", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FSH: Node = Node { + name: NodeName { + en: "Faculty of Humanities", + ar: "كلية العلوم الإنسانية", + fr: "Faculté des Sciences Humaines", + }, + r#type: NodeType::Faculty, +}; +const UA2AKS_FSH_DH: Node = Node { + name: NodeName { + en: "Department of philosophy", + ar: "قسم الفلسفة", + fr: "Département de philosophie", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FSH_DLD: Node = Node { + name: NodeName { + en: "Department of librarianship and documentation", + ar: "قسم علم المكتبات والتوثيق", + fr: "Département de bibliothéconomie", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FSH_DPH: Node = Node { + name: NodeName { + en: "Department of history", + ar: "قسم التاريخ", + fr: "Département d'اhistoire", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FSS: Node = Node { + name: NodeName { + en: "Faculty of humanities", + ar: "كلية العلوم الإنسانية", + fr: "Faculté des sciences humaines", + }, + r#type: NodeType::Faculty, +}; +const UA2AKS_FSS_DEDU: Node = Node { + name: NodeName { + en: "Department of educational sciences", + ar: "قسم علوم التربية", + fr: "Département de sciences de l’éducation", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FSS_DPSY: Node = Node { + name: NodeName { + en: "Department of psychology", + ar: "قسم علم النفس", + fr: "Département de psychologie", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FSS_DSOCIO: Node = Node { + name: NodeName { + en: "Department of sociology", + ar: "قسم علم الاجتماع", + fr: "Département de sociologie", + }, + r#type: NodeType::Department, +}; +const UA2AKS_FSS_DST: Node = Node { + name: NodeName { + en: "Department of speech therapy", + ar: "قسم الأرطوفونيا", + fr: "Département d'orthophonie", + }, + r#type: NodeType::Department, +}; +const UA2AKS_IA: Node = Node { + name: NodeName { + en: "Institute of translation", + ar: "معهد الترجمة", + fr: "Institut de traduction", + }, + r#type: NodeType::Institute, +}; +const UA2AKS_IT: Node = Node { + name: NodeName { + en: "Institute of archology", + ar: "معهد الآثار", + fr: "Institut d’archéologie", + }, + r#type: NodeType::Institute, +}; +const UBMA_FACDR: Node = Node { + name: NodeName { + en: "Faculty Of Law", + ar: "كلية الحقوق", + fr: "Faculté De Droit", + }, + r#type: NodeType::Faculty, +}; +const UBMA_FACDR_PLD: Node = Node { + name: NodeName { + en: "Public Law Department", + ar: "قسم القانون العام", + fr: "Département De Droit Public", + }, + r#type: NodeType::Department, +}; +const UBMA_FACDR_PSD: Node = Node { + name: NodeName { + en: "Political Sciences Department", + ar: "قسم العلوم السياسية", + fr: "Département Des Sciences Politiques", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS: Node = Node { + name: NodeName { + en: "Faculty Of Letters, Humanities And Social Sciences", + ar: "كلية الآداب والعلوم الإنسانية والاجتماعية", + fr: "Faculté Des Lettres, Sciences Humaines Et Sociales", + }, + r#type: NodeType::Faculty, +}; +const UBMA_FACLSCHS_ALLD: Node = Node { + name: NodeName { + en: "Arabic Language And Literature Department", + ar: "قسم اللغة العربية وآدابها", + fr: "Département De Langue Et Littérature Arabes", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_BD: Node = Node { + name: NodeName { + en: "Biblitheconomy Department", + ar: "قسم علم المكتبيات", + fr: "Département Biblitheconomy", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_ELD: Node = Node { + name: NodeName { + en: "English Language Department", + ar: "قسم اللغة الإنجليزية", + fr: "Département De Langue Anglaise", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_FLD: Node = Node { + name: NodeName { + en: "French Language Department", + ar: "قسم اللغة الفرنسية", + fr: "Département De Langue Française", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_HD: Node = Node { + name: NodeName { + en: "History Department", + ar: "قسم التاريخ", + fr: "Département D'Histoire", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_HSSD: Node = Node { + name: NodeName { + en: "Human And Social Sciences Department", + ar: "قسم العلوم الإنسانية والاجتماعية", + fr: "Département Des Sciences Humaines Et Sociales", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_ICSD: Node = Node { + name: NodeName { + en: "Information And Communication Sciences Department", + ar: "قسم علوم الإعلام والاتصال", + fr: "Département Des Sciences De L'Information Et De La Communication", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_ILD: Node = Node { + name: NodeName { + en: "Italian Language Department", + ar: "قسم اللغة الإيطالية", + fr: "Département De Langue Italienne", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_PD: Node = Node { + name: NodeName { + en: "Philosophy Department", + ar: "قسم الفلسفة", + fr: "Département De Philosophie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_PSED: Node = Node { + name: NodeName { + en: "Physical And Sports Education Department", + ar: "قسم التربية البدنية والرياضية", + fr: "Service D'Éducation Physique Et Sportive", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_SD: Node = Node { + name: NodeName { + en: "Sociology Department", + ar: "قسم الاجتماع", + fr: "Département De Sociologie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACLSCHS_TD: Node = Node { + name: NodeName { + en: "Translation Department", + ar: "قسم الترجمة", + fr: "Service De Traduction", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC: Node = Node { + name: NodeName { + en: "Faculty Of Sciences", + ar: "كلية العلوم", + fr: "Faculté Des Sciences", + }, + r#type: NodeType::Faculty, +}; +const UBMA_FACSC_BD: Node = Node { + name: NodeName { + en: "Biology Department", + ar: "قسم علم المكتبيات", + fr: "Département Biblitheconomy", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC_CD: Node = Node { + name: NodeName { + en: "Chemistry Department", + ar: "قسم الكيمياء", + fr: "Département De Chimie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC_MCD: Node = Node { + name: NodeName { + en: "Mathematics And Computing Department", + ar: "قسم الرياضيات و الإعلام الألي", + fr: "Département Mathématiques Et Informatique", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC_MD: Node = Node { + name: NodeName { + en: "Mathematics Department", + ar: "قسم الرياضيات", + fr: "Département De Mathématiques", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC_MSD: Node = Node { + name: NodeName { + en: "Material Sciences Department", + ar: "قسم العلوم الإدارية", + fr: "Département Des Sciences De Gestion", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC_NLSD: Node = Node { + name: NodeName { + en: "Nature And Life Sciences Department", + ar: "قسم علوم الطبيعة والحياة", + fr: "Département Nature Et Sciences De La Vie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC_PD: Node = Node { + name: NodeName { + en: "Physics Department", + ar: "قسم الفلسفة", + fr: "Département De Philosophie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSC_SSD: Node = Node { + name: NodeName { + en: "Sea Sciences Department", + ar: "قسم علوم البحار", + fr: "Département Des Sciences De La Mer", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCEG: Node = Node { + name: NodeName { + en: "Faculty Of Economics And Management Sciences", + ar: "كلية الاقتصاد وعلوم التسيير", + fr: "Faculté Des Sciences Économiques Et De Gestion", + }, + r#type: NodeType::Faculty, +}; +const UBMA_FACSCEG_CT: Node = Node { + name: NodeName { + en: "Common Trunk", + ar: "جذع مشترك", + fr: "Tronc Commun", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCEG_ESD: Node = Node { + name: NodeName { + en: "Economic Sciences Department", + ar: "قسم العلوم الاقتصادية", + fr: "Département Des Sciences Économiques", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCEG_FSD: Node = Node { + name: NodeName { + en: "Financial Sciences Department", + ar: "قسم العلوم المالية", + fr: "Département Des Sciences Financières", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCEG_MSD: Node = Node { + name: NodeName { + en: "Management Sciences Department", + ar: "قسم العلوم الإدارية", + fr: "Département Des Sciences De Gestion", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI: Node = Node { + name: NodeName { + en: "Faculty Of Engineering Sciences", + ar: "كلية العلوم الهندسية", + fr: "Faculté Des Sciences De L'Ingénieur", + }, + r#type: NodeType::Faculty, +}; +const UBMA_FACSCI_CED: Node = Node { + name: NodeName { + en: "Civil Engineering Department", + ar: "قسم الهندسة المدنية", + fr: "Département Génie Civil", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_CSD: Node = Node { + name: NodeName { + en: "Computer Science Department", + ar: "قسم الإعلام الألي", + fr: "Département Informatique", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_D: Node = Node { + name: NodeName { + en: "Doctorat", + ar: "", + fr: "", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_ED: Node = Node { + name: NodeName { + en: "Electrotechnical Department", + ar: "القسم الكهروتقني", + fr: "Département Électrotechnique", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_HD: Node = Node { + name: NodeName { + en: "Hydraulic Department", + ar: "قسم الهيدروليك", + fr: "Département Hydraulique", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_MD: Node = Node { + name: NodeName { + en: "Metalurgy Department", + ar: "قسم علم المعادن", + fr: "Département Métallurgie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_MED: Node = Node { + name: NodeName { + en: "Mechanical Engineering Department", + ar: "قسم الهندسة الميكانيكية", + fr: "Département de Génie Mécanique", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_PED: Node = Node { + name: NodeName { + en: "Process Engineering Department", + ar: "قسم هندسة العمليات", + fr: "Département Génie Des Procédés", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_STD: Node = Node { + name: NodeName { + en: "Science And Technology Department", + ar: "قسم العلوم والتكنولوجيا", + fr: "Département Des Sciences Et De La Technologie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCI_TT: Node = Node { + name: NodeName { + en: "Teacher Training", + ar: "", + fr: "", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCM: Node = Node { + name: NodeName { + en: "Faculty Of Medical Sciences", + ar: "كلية العلوم الطبية", + fr: "Faculté Des Sciences Médicales", + }, + r#type: NodeType::Faculty, +}; +const UBMA_FACSCM_DDM: Node = Node { + name: NodeName { + en: "Department Of Dental Medicine", + ar: "قسم طب الأسنان", + fr: "Département De Médecine Dentaire", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCM_MD: Node = Node { + name: NodeName { + en: "Medicine Department", + ar: "قسم الطب", + fr: "Département De Mathématiques", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCM_PD: Node = Node { + name: NodeName { + en: "Pharmacy Department", + ar: "قسم الصيدلة", + fr: "Département de Pharmacie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCM_TT: Node = Node { + name: NodeName { + en: "Teacher Training", + ar: "", + fr: "", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCT: Node = Node { + name: NodeName { + en: "Faculty Of Earth Sciences", + ar: "كلية علوم الأرض", + fr: "Faculté Des Sciences De La Terre", + }, + r#type: NodeType::Faculty, +}; +const UBMA_FACSCT_AD: Node = Node { + name: NodeName { + en: "Architecture Department", + ar: "قسم العمارة", + fr: "Département D'Architecture", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCT_GD: Node = Node { + name: NodeName { + en: "Geology Department", + ar: "قسم الجيولوجيا", + fr: "Département De Géologie", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCT_MD: Node = Node { + name: NodeName { + en: "Mining Department", + ar: "قسم التعدين", + fr: "Département des Mines", + }, + r#type: NodeType::Department, +}; +const UBMA_FACSCT_PD: Node = Node { + name: NodeName { + en: "Planning Department", + ar: "قسم التخطيط", + fr: "Département de la Planification", + }, + r#type: NodeType::Department, +}; +const UMBM: Node = Node { + name: NodeName { + en: "University Mohamed Boudiaf M'sila", + ar: "جامعة محمد بوضياف مسيلة", + fr: "Université Mohamed Boudiaf de M'Sila", + }, + r#type: NodeType::University, +}; +const UMBM_FDSP: Node = Node { + name: NodeName { + en: "Faculty of Law and Political Sciences", + ar: "كلية الحقوق والعلوم السياسية", + fr: "Faculté de Droit et Sciences Politiques", + }, + r#type: NodeType::Faculty, +}; +const UMBM_FDSP_DDROIT: Node = Node { + name: NodeName { + en: "Department of Law", + ar: "قسم القانون", + fr: "Département de Droit", + }, + r#type: NodeType::Department, +}; +const UMBM_FDSP_DSP: Node = Node { + name: NodeName { + en: "Department of Political Science", + ar: "قسم العلوم السياسية", + fr: "Département de Sciences Politiques", + }, + r#type: NodeType::Department, +}; +const UMBM_FLL: Node = Node { + name: NodeName { + en: "Faculty of Letters and Languages", + ar: "كلية الآداب واللغات", + fr: "Faculté des Lettres et des Langues", + }, + r#type: NodeType::Faculty, +}; +const UMBM_FLL_DALL: Node = Node { + name: NodeName { + en: "Department of Arabic Language and Literature", + ar: "قسم اللغة العربية وآدابها", + fr: "Département de Langue et Littérature arabes", + }, + r#type: NodeType::Department, +}; +const UMBM_FLL_DELL: Node = Node { + name: NodeName { + en: "Department of English Language and Literature", + ar: "قسم اللغة الإنجليزية وآدابها", + fr: "Département de Langue et Littérature Anglaises", + }, + r#type: NodeType::Department, +}; +const UMBM_FLL_DFLL: Node = Node { + name: NodeName { + en: "Department of French Language and Literature", + ar: "قسم اللغة الفرنسية وآدابها", + fr: "Département de Langue et Littérature Françaises", + }, + r#type: NodeType::Department, +}; +const UMBM_FMI: Node = Node { + name: NodeName { + en: "Faculty of Mathematics and Computer Science", + ar: "كلية الرياضيات و اﻹعلام اﻵلي", + fr: "Faculté des mathématiques et de l'informatique", + }, + r#type: NodeType::Faculty, +}; +const UMBM_FMI_DCS: Node = Node { + name: NodeName { + en: "Department of Computer Science", + ar: "قسم اﻹعلام اﻵلي", + fr: "Département Informatique", + }, + r#type: NodeType::Department, +}; +const UMBM_FMI_DMATH: Node = Node { + name: NodeName { + en: "Department of Mathematics", + ar: "قسم الرياضيات", + fr: "Département des Mathématiques", + }, + r#type: NodeType::Department, +}; +const UMBM_FSCI: Node = Node { + name: NodeName { + en: "Faculty of Sciences", + ar: "كلية العلوم", + fr: "Faculté des sciences", + }, + r#type: NodeType::Faculty, +}; +const UMBM_FSCI_DBCMB: Node = Node { + name: NodeName { + en: "Department of Biochemistry and Microbiology", + ar: "قسم الكيمياء الحيوية والأحياء الدقيقة", + fr: "Département de Biochimie et de Microbiologie", + }, + r#type: NodeType::Department, +}; +const UMBM_FSCI_DCHI: Node = Node { + name: NodeName { + en: "Department of Chemistry", + ar: "قسم الكيمياء", + fr: "Département de Chimie", + }, + r#type: NodeType::Department, +}; +const UMBM_FSCI_DPHY: Node = Node { + name: NodeName { + en: "Department of Physics", + ar: "قسم الفيزياء", + fr: "Département de Physique", + }, + r#type: NodeType::Department, +}; +const UMBM_FSCI_DSA: Node = Node { + name: NodeName { + en: "Department of Argonomic Sciences", + ar: "قسم علوم الأرغونوميك", + fr: "Département des Sciences Argonomiques", + }, + r#type: NodeType::Department, +}; +const UMBM_FSCI_DSNV: Node = Node { + name: NodeName { + en: "Department of Natural and Life Sciences", + ar: "قسم علوم الطبيعة و الحياة", + fr: "Département des Sciences de la Nature et de la Vie", + }, + r#type: NodeType::Department, +}; +const UMBM_FSEGC: Node = Node { + name: NodeName { + en: "Faculty of Economics, Business and Management Sciences", + ar: "كلية العلوم الإقتصادية والتجارية وعلوم التسيير", + fr: "Faculté des Sciences économiques, Commerciales et de Gestion", + }, + r#type: NodeType::Faculty, +}; +const UMBM_FSEGC_DSC: Node = Node { + name: NodeName { + en: "Department of Commercial Sciences", + ar: "قسم العلوم التجارية", + fr: "Département des Sciences Commerciales", + }, + r#type: NodeType::Department, +}; +const UMBM_FSEGC_DSE: Node = Node { + name: NodeName { + en: "Department of Economic Sciences", + ar: "قسم العلوم الإقتصادية", + fr: "Département des Sciences économiques", + }, + r#type: NodeType::Department, +}; +const UMBM_FSEGC_DSFC: Node = Node { + name: NodeName { + en: "Department of Finance and Accounting Sciences", + ar: "قسم علوم المالية والمحاسبة", + fr: "Département des Sciences Financières et Comptables", + }, + r#type: NodeType::Department, +}; +const UMBM_FSEGC_DSG: Node = Node { + name: NodeName { + en: "Department of Management Sciences", + ar: "قسم علوم التسيير", + fr: "Département des Sciences de Gestion", + }, + r#type: NodeType::Department, +}; +const UMBM_FSHS: Node = Node { + name: NodeName { + en: "Faculty of Human Sciences and Social Sciences", + ar: "كلية العلوم الإنسانية والاجتماعية", + fr: "Faculté des sciences humaines et sociales", + }, + r#type: NodeType::Faculty, +}; +const UMBM_FSHS_DHIST: Node = Node { + name: NodeName { + en: "Department of History", + ar: "قسم التاريخ", + fr: "Département d'Histoire", + }, + r#type: NodeType::Department, +}; +const UMBM_FSHS_DPHILO: Node = Node { + name: NodeName { + en: "Department of Philosophy", + ar: "قسم الفلسفة", + fr: "Département de Philosophie", + }, + r#type: NodeType::Department, +}; +const UMBM_FSHS_DSCI: Node = Node { + name: NodeName { + en: "Department of Information and Communication Sciences", + ar: "قسم علوم الاعلام والاتصال", + fr: "Département des Sciences de l'Information et de la Communication", + }, + r#type: NodeType::Department, +}; +const UMBM_FSHS_DSI: Node = Node { + name: NodeName { + en: "Department of Islamic Sciences", + ar: "قسم العلوم الإسلامية", + fr: "Département des sciences islamiques", + }, + r#type: NodeType::Department, +}; +const UMBM_FSHS_DSOCIO: Node = Node { + name: NodeName { + en: "Department of Sociology", + ar: "قسم علم الاجتماع", + fr: "Département de Sociologie", + }, + r#type: NodeType::Department, +}; +const UMBM_FTECH: Node = Node { + name: NodeName { + en: "Faculty of Technology", + ar: "كلية التكنولوجيا", + fr: "Faculté de Technologie", + }, + r#type: NodeType::Faculty, +}; +const UMBM_FTECH_DCE: Node = Node { + name: NodeName { + en: "Department of Civil Engineering", + ar: "قسم الهندسة المدنية", + fr: "Département de Génie Civil", + }, + r#type: NodeType::Department, +}; +const UMBM_FTECH_DEE: Node = Node { + name: NodeName { + en: "Department of Electrical Engineering", + ar: "قسم الهندسة الكهربائية", + fr: "Département de Génie Electrique", + }, + r#type: NodeType::Department, +}; +const UMBM_FTECH_DELEC: Node = Node { + name: NodeName { + en: "Department of Electronics", + ar: "قسم الالكترونيات", + fr: "Département d'Electronique", + }, + r#type: NodeType::Department, +}; +const UMBM_FTECH_DHYDR: Node = Node { + name: NodeName { + en: "Department of Hydraulics", + ar: "قسم الهيدروليكا", + fr: "Département d'Hydraulique", + }, + r#type: NodeType::Department, +}; +const UMBM_FTECH_DME: Node = Node { + name: NodeName { + en: "Department of Mecanical Engineering", + ar: "قسم الهندسة الميكانيكية", + fr: "Département de Génie Mécanique", + }, + r#type: NodeType::Department, +}; +const UMBM_ISTAPS: Node = Node { + name: NodeName { + en: "Institute of Sciences and Technologies of Physical Activities", + ar: "معهد علوم وتقنيات النشاطات البدنية", + fr: "Institut des sciences et technologies des activités physiques", + }, + r#type: NodeType::Institute, +}; +const UMBM_ISTAPS_DAGS: Node = Node { + name: NodeName { + en: "Department of Sports Administration and Management", + ar: "قسم الإدارة و التسيير الرياضي", + fr: "Département d'administration et de gestion des sports", + }, + r#type: NodeType::Department, +}; +const UMBM_ISTAPS_DAPSA: Node = Node { + name: NodeName { + en: "Department of Adapted physical and sports activity", + ar: "قسم النشاط البدني و الرياضي المكيف", + fr: "Département d'Activité Physique et Sportive Adaptée", + }, + r#type: NodeType::Department, +}; +const UMBM_ISTAPS_DCBF: Node = Node { + name: NodeName { + en: "Department of Common Basal Formation", + ar: "قسم التكوين القاعدي المشترك", + fr: "Département de Formation Basale Commune", + }, + r#type: NodeType::Department, +}; +const UMBM_ISTAPS_DEP: Node = Node { + name: NodeName { + en: "Department of Physical Education", + ar: "قسم التربية البدنية", + fr: "Département d'éducation Physique", + }, + r#type: NodeType::Department, +}; +const UMBM_ISTAPS_DFC: Node = Node { + name: NodeName { + en: "Sports Training Department", + ar: "قسم التدريب الرياضي", + fr: "Département de la formation sportive", + }, + r#type: NodeType::Department, +}; +const UMBM_ISTAPS_DMCS: Node = Node { + name: NodeName { + en: "Department of Media and Sports Communication", + ar: "قسم الإعلام و الإتصال الرياضي", + fr: "Département des Médias et de la Communication Sportive", + }, + r#type: NodeType::Department, +}; +const UMBM_IUTM: Node = Node { + name: NodeName { + en: "Urban Technology Management Institute", + ar: "معهد إدارة التكنولوجيا الحضرية", + fr: "Institut de Gestion des Technologies Urbaines", + }, + r#type: NodeType::Institute, +}; +const UMBM_IUTM_DCG: Node = Node { + name: NodeName { + en: "Departement of common ground", + ar: "قسم الأرضية المشتركة", + fr: "Département de terrain d'entente", + }, + r#type: NodeType::Department, +}; +const UMBM_IUTM_DCM: Node = Node { + name: NodeName { + en: "Department of Scientific Counsil", + ar: "قسم الاستشارات العلمية", + fr: "Département du Conseil Scientifique", + }, + r#type: NodeType::Department, +}; +const UMBM_IUTM_DUE: Node = Node { + name: NodeName { + en: "Department of Urban Engineering", + ar: "قسم الهندسة الحضرية", + fr: "Département de Génie Urbain", + }, + r#type: NodeType::Department, +}; +const UMKB: Node = Node { + name: NodeName { + en: "University of Mohamed Khider Biskra", + ar: "جامعة محمد خيضر بسكرة", + fr: "Université Mohamed Khider Biskra", + }, + r#type: NodeType::University, +}; +const UMKB_FDSP: Node = Node { + name: NodeName { + en: "Faculty of Law and Political Science", + ar: "كلية العلوم الاقتصادية والتجارية وعلوم التسيير", + fr: "Faculté de Droit et et des Sciences politiques", + }, + r#type: NodeType::Faculty, +}; +const UMKB_FLL: Node = Node { + name: NodeName { + en: "Faculty of Arts and Languages", + ar: "كلية الآداب واللغات", + fr: "Faculté des Lettres et des Langues", + }, + r#type: NodeType::Faculty, +}; +const UMKB_FSECSG: Node = Node { + name: NodeName { + en: "Faculty of Economic, Commercial and Management Sciences", + ar: "كلية العلوم الاقتصادية والتجارية وعلوم التسيير", + fr: "Faculté des Sciences Economiques et Commerciales et des Sciences de Gestion", + }, + r#type: NodeType::Faculty, +}; +const UMKB_FSESNV: Node = Node { + name: NodeName { + en: "Faculty of The Exact Sciences, Natural, and Life Sciences", + ar: "كلية العلوم الدقيقة و علوم الطبيعة و الحياة", + fr: "Faculté des Sciences Exactes, des Sciences de la nature et de la Vie", + }, + r#type: NodeType::Faculty, +}; +const UMKB_FSHS: Node = Node { + name: NodeName { + en: "Faculty of Humanities and Social Sciences", + ar: "كلية العلوم الانسانية و الاجتماعية", + fr: "Faculté des Sciences Humaines et Sociales", + }, + r#type: NodeType::Faculty, +}; +const UMKB_FST: Node = Node { + name: NodeName { + en: "Faculty of Science and Technology", + ar: "كلية العلوم والتكنلوجيا", + fr: "Faculté des Sciences et de la Technologie", + }, + r#type: NodeType::Faculty, +}; +const UMKB_FST_DEE: Node = Node { + name: NodeName { + en: "Department of Electrical Engeniering", + ar: "قسم الهندسة كهربائية", + fr: "Departement de Génie Electrique", + }, + r#type: NodeType::Department, +}; +const UMKB_FST_DEE_SEC: Node = Node { + name: NodeName { + en: "Specialy of Electrical Control", + ar: "تخصص التحكم الكهربائي", + fr: "Spécialité de commande électrique", + }, + r#type: NodeType::Specialty{ + terms: NodeTerms { + per_year: 2, + slots: &[7, 8, 9, 10], + }, + }, +}; +const UMKB_ISTAPS: Node = Node { + name: NodeName { + en: "Institute of Sciences and Techniques of Physical Activities and Sports", + ar: "معهد علوم و تتقنيات النشاطات البدنية و الرياضية", + fr: "Institut des Sciences et Techniques des Activités Physiques et Sportives", + }, + r#type: NodeType::Institute, +}; +const UMMTO: Node = Node { + name: NodeName { + en: "University of Mouloud Mammeri", + ar: "جامعة مولود معمري", + fr: "Université Mouloud Mammeri", + }, + r#type: NodeType::University, +}; +const UMMTO_DMI: Node = Node { + name: NodeName { + en: "Mathematics - Computer Science Department", + ar: "قسم الإعلام الآلي والرياضيات", + fr: "Département Mathématiques - Informatique", + }, + r#type: NodeType::Department, +}; +const UMMTO_DSAT: Node = Node { + name: NodeName { + en: "Department of Applied Sciences and Technologies", + ar: "قسم العلوم التطبيقية والتقنيات", + fr: "Département des Sciences Appliquée et des Technologies", + }, + r#type: NodeType::Department, +}; +const UMMTO_FDSP: Node = Node { + name: NodeName { + en: "Faculty of Law and Political Sciences", + ar: "كلية الحقوق والعلوم السياسية", + fr: "Faculté de Droit et des Sciences Politiques", + }, + r#type: NodeType::Faculty, +}; +const UMMTO_FGC: Node = Node { + name: NodeName { + en: "Faculty of Construction Engineering", + ar: "كلية هندسة التشييد", + fr: "Faculté du Génie de la Construction", + }, + r#type: NodeType::Faculty, +}; +const UMMTO_FGEI: Node = Node { + name: NodeName { + en: "Faculty of Electrical and Computer Engineering", + ar: "كلية الهندسة الكهربائية وهندسة الإعلام الآلي", + fr: "Faculté de Génie Electrique et Informatique", + }, + r#type: NodeType::Faculty, +}; +const UMMTO_FMED: Node = Node { + name: NodeName { + en: "Faculty of Medicine", + ar: "كلية الطب", + fr: "Faculté de Médecine", + }, + r#type: NodeType::Faculty, +}; +const UMMTO_FSBSA: Node = Node { + name: NodeName { + en: "Faculty of Biological Sciences and Agronomic Sciences", + ar: "كلية العلوم البيولوجية والعلوم الزراعية", + fr: "Faculté des Sciences Biologiques et des Sciences Agronomiques", + }, + r#type: NodeType::Faculty, +}; +const UMMTO_FSECSG: Node = Node { + name: NodeName { + en: "Faculty of Economics, Business and Management Sciences", + ar: "كلية الاقتصاد والأعمال وعلوم التسيير", + fr: "Faculté des Sciences Economiques, Commerciales et des Sciences de Gestion", + }, + r#type: NodeType::Faculty, +}; +const UMMTO_FSHS: Node = Node { + name: NodeName { + en: "Faculty of Humanities and Social Sciences", + ar: "كلية العلوم الإنسانية والاجتماعية", + fr: "Faculté des sciences humaines et sociales", + }, + r#type: NodeType::Faculty, +}; +const USTHB: Node = Node { + name: NodeName { + en: "University of Sciences and Technology Houari Boumediene", + ar: "جامعة هواري بومدين للعلوم والتكنولوجيا", + fr: "Université Des Sciences et de la Technologie Houari Boumediene", + }, + r#type: NodeType::University, +}; +const USTHB_FCHIMIE: Node = Node { + name: NodeName { + en: "Faculty of Chemsitry", + ar: "كلية الكيمياء", + fr: "Faculté de Chimie", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FCHIMIE_DCM: Node = Node { + name: NodeName { + en: "Department of Macromolecular Chemistry", + ar: "قسم الكيمياء الجزيئية", + fr: "Département de Chimie Macromoleculaire", + }, + r#type: NodeType::Department, +}; +const USTHB_FCHIMIE_DCOA: Node = Node { + name: NodeName { + en: "Department of Applied Organic Chemistry", + ar: "قسم الكيمياء العضوية التطبيقية", + fr: "Département de Chimie Organique Appliquée", + }, + r#type: NodeType::Department, +}; +const USTHB_FCHIMIE_DCPMI: Node = Node { + name: NodeName { + en: "Department of Chemistry and Physics of Inorganic Materials", + ar: "قسم كيمياء وفيزياء المواد غير العضوية", + fr: "Département de Chimie et Physique des Matériaux Inorganique", + }, + r#type: NodeType::Department, +}; +const USTHB_FCHIMIE_DCPT: Node = Node { + name: NodeName { + en: "Department of Physical and Theoretical Chemistry", + ar: "قسم الكيمياء الفيزيائية والنظرية", + fr: "Département de Chimie Physique et Théorique", + }, + r#type: NodeType::Department, +}; +const USTHB_FEI: Node = Node { + name: NodeName { + en: "Faculty of Electronics and Computer Science", + ar: "كلية اﻹلكترونيك و اﻹعلام اﻵلي", + fr: "Faculté d’Electronique et d’Informatique", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FEI_AUTO: Node = Node { + name: NodeName { + en: "Instrumentation and Automation Department", + ar: "قسم الأجهزة والأتمتة", + fr: "Département Instrumentation et Automatique", + }, + r#type: NodeType::Department, +}; +const USTHB_FEI_ELT: Node = Node { + name: NodeName { + en: "Department of Electronics", + ar: "قسم اﻹلكترونيك", + fr: "Département Electrotechnique", + }, + r#type: NodeType::Department, +}; +const USTHB_FEI_INFO: Node = Node { + name: NodeName { + en: "Department of Computer Science", + ar: "قسم اﻹعلام اﻵلي", + fr: "Département Informatique", + }, + r#type: NodeType::Department, +}; +const USTHB_FEI_TELECOM: Node = Node { + name: NodeName { + en: "Telecommunications Department", + ar: "قسم اﻹتصال", + fr: "Département Télécommunication", + }, + r#type: NodeType::Department, +}; +const USTHB_FGC: Node = Node { + name: NodeName { + en: "Faculty of Civil Engineering", + ar: "كلية الهندسة المدنية", + fr: "Faculté de Génie Civil", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FGC_DGH: Node = Node { + name: NodeName { + en: "Department of Geotechnics and Hydraulics", + ar: "قسم الجيوتكنيك والهيدروليكا", + fr: "Département de Géotechnique et Hydraulique", + }, + r#type: NodeType::Department, +}; +const USTHB_FGC_DSM: Node = Node { + name: NodeName { + en: "Department of Structures and Materials", + ar: "قسم الهياكل والمواد", + fr: "Département de Structures et Matérieux", + }, + r#type: NodeType::Department, +}; +const USTHB_FGMGP: Node = Node { + name: NodeName { + en: "Faculty of Mechanical Engineering and Process Engineering", + ar: "كلية الهندسة الميكانيكية وهندسة الطرائق", + fr: "Faculté de Génie Mécanique et Génie de Procédés", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FGMGP_DCMP: Node = Node { + name: NodeName { + en: "Mechanical Construction and Manufacturing Department", + ar: "قسم الإنشاءات الميكانيكية والتصنيع", + fr: "Département Construction Mécanique and Productique", + }, + r#type: NodeType::Department, +}; +const USTHB_FGMGP_DGCC: Node = Node { + name: NodeName { + en: "Department of Chemical Engineering and Cryogenics", + ar: "قسم الهندسة الكيميائية وعلم التبريد", + fr: "Département Génie Chimique & Cryogénie", + }, + r#type: NodeType::Department, +}; +const USTHB_FGMGP_DGEGP: Node = Node { + name: NodeName { + en: "Environmental Engineering and Pharmaceutical Engineering Department", + ar: "قسم الهندسة البيئية والهندسة الصيدلانية", + fr: "Département Génie Environnement & Génie Pharmaceutique", + }, + r#type: NodeType::Department, +}; +const USTHB_FGMGP_DSM: Node = Node { + name: NodeName { + en: "Department of Materials Sciences", + ar: "قسم علوم المواد", + fr: "Département Sciences des Matériaux", + }, + r#type: NodeType::Department, +}; +const USTHB_FGMGP_DTE: Node = Node { + name: NodeName { + en: "Thermo Energy Department", + ar: "قسم الطاقة الحرارية", + fr: "Département Thermo Énergétique", + }, + r#type: NodeType::Department, +}; +const USTHB_FMATH: Node = Node { + name: NodeName { + en: "Faculty of Mathematics", + ar: "كلية الرياضيات", + fr: "Faculté de Mathématiques", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FMATH_DA: Node = Node { + name: NodeName { + en: "Analysis Department", + ar: "قسم التحليل", + fr: "Département Analyse", + }, + r#type: NodeType::Department, +}; +const USTHB_FMATH_DATN: Node = Node { + name: NodeName { + en: "Department of Algebra and Number Theory", + ar: "قسم الجبر ونظرية الأعداد", + fr: "Département Algèbre et théorie des nombres", + }, + r#type: NodeType::Department, +}; +const USTHB_FMATH_DPS: Node = Node { + name: NodeName { + en: "Probability and Statistics Department", + ar: "قسم الاحتمالات والإحصاء", + fr: "Département Probabilités et statistiques", + }, + r#type: NodeType::Department, +}; +const USTHB_FMATH_DRO: Node = Node { + name: NodeName { + en: "Operational Research Department", + ar: "قسم البحوث التشغيلية", + fr: "Département Recherche Opérationnelle", + }, + r#type: NodeType::Department, +}; +const USTHB_FPHY: Node = Node { + name: NodeName { + en: "Faculty of Physics", + ar: "كلية الفيزياء", + fr: "Faculté de Physique", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FPHY_DEMF: Node = Node { + name: NodeName { + en: "Department of Energy and Fluid Mechanics", + ar: "قسم ميكانيكا الطاقة والموائع", + fr: "Département d’Energétique et Mécanique des Fluides", + }, + r#type: NodeType::Department, +}; +const USTHB_FPHY_DMC: Node = Node { + name: NodeName { + en: "Materials and Components Department", + ar: "قسم المواد والمكونات", + fr: "Département Matériaux et Composant", + }, + r#type: NodeType::Department, +}; +const USTHB_FPHY_DPR: Node = Node { + name: NodeName { + en: "Department of Radiation Physics", + ar: "قسم الفيزياء الإشعاعية", + fr: "Département de Physique des Rayonnements", + }, + r#type: NodeType::Department, +}; +const USTHB_FPHY_DPT: Node = Node { + name: NodeName { + en: "Department of Theoretical Physics", + ar: "قسم الفيزياء النظرية", + fr: "Département de Physique Théorique", + }, + r#type: NodeType::Department, +}; +const USTHB_FSB: Node = Node { + name: NodeName { + en: "Faculty of Biological Sciences", + ar: "كلية العلوم البيولوجية", + fr: "Faculté des Sciences Biologiques", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FSB_DBCM: Node = Node { + name: NodeName { + en: "Cellular and Molecular Biology Department", + ar: "قسم البيولوجيا الخلوية والجزيئية", + fr: "Département Biologie Cellulaire et Moléculaire", + }, + r#type: NodeType::Department, +}; +const USTHB_FSB_DBPO: Node = Node { + name: NodeName { + en: "Department of Biology and Physiology of Organisms", + ar: "قسم علم الأحياء ووظائف الأعضاء", + fr: "Département Biologie et Physiologie des Organismes", + }, + r#type: NodeType::Department, +}; +const USTHB_FSB_DEE: Node = Node { + name: NodeName { + en: "Department of Ecology and Environment", + ar: "قسم البيئة", + fr: "Département Écologie et Environnement", + }, + r#type: NodeType::Department, +}; +const USTHB_FSTGAT: Node = Node { + name: NodeName { + en: "Faculty of Earth Sciences and Country Planning", + ar: "كلية علوم اﻷرض و تهيئة اﻹقليم", + fr: "Faculté des Sciences de la terre et Aménagement du Territoire", + }, + r#type: NodeType::Faculty, +}; +const USTHB_FSTGAT_DG: Node = Node { + name: NodeName { + en: "Department of Geology", + ar: "قسم الجيولوجيا", + fr: "Département de Géologie", + }, + r#type: NodeType::Department, +}; +const USTHB_FSTGAT_DGAT: Node = Node { + name: NodeName { + en: "Department of Geophysics", + ar: "قسم الجيوفيزياء", + fr: "Département de Géophysique", + }, + r#type: NodeType::Department, +}; +const USTHB_FSTGAT_DGP: Node = Node { + name: NodeName { + en: "Department of Geography and Regional Planning", + ar: "قسم الجغرافيا والتخطيط الإقليمي", + fr: "Département de Géographie et de l’Aménagement du Territoire", + }, + r#type: NodeType::Department, +}; +const USTO: Node = Node { + name: NodeName { + en: "University of Sciences and Technology Oran Mohamed Boudiaf", + ar: "جامعة وهران للعلوم و التكنولوجيا محمد بوضياف", + fr: "Université Des Sciences et de la Technologie Oran Mohamed Boudiaf", + }, + r#type: NodeType::University, +}; +const USTO_FAG: Node = Node { + name: NodeName { + en: "Water engineering department", + ar: "قسم هندسة المياه", + fr: "Déparement Génie de l'eau", + }, + r#type: NodeType::Department, +}; +const USTO_FAG_DA: Node = Node { + name: NodeName { + en: "Architecture department", + ar: "قسم العمارة", + fr: "déparetement Architecture", + }, + r#type: NodeType::Department, +}; +const USTO_FAG_DGC: Node = Node { + name: NodeName { + en: "Civil engineering department", + ar: "قسم الهندسة المدنية", + fr: "Déparement Génie civil", + }, + r#type: NodeType::Department, +}; +const USTO_FAG_DGE: Node = Node { + name: NodeName { + en: "Faculty of Architecture and Civil Engineering", + ar: "كلية العمارة والهندسة المدنية", + fr: "Faculté d'architecture et génie civil", + }, + r#type: NodeType::Faculty, +}; +const USTO_FCH: Node = Node { + name: NodeName { + en: "Faculty of Chemistry", + ar: "كلية الكيمياء", + fr: "Faculté de chimie", + }, + r#type: NodeType::Faculty, +}; +const USTO_FCH_DCHM: Node = Node { + name: NodeName { + en: "Departement of Materials chemistry", + ar: "قسم كيمياء المواد", + fr: "Déparetement Chimie des matériaux", + }, + r#type: NodeType::Department, +}; +const USTO_FCH_DCHP: Node = Node { + name: NodeName { + en: "Departement of Physical chemistry", + ar: "قسم الكيمياء الفيزيائية", + fr: "Déparetement Chimie physique", + }, + r#type: NodeType::Department, +}; +const USTO_FCH_DGC: Node = Node { + name: NodeName { + en: "Departement of chemical engineering", + ar: "قسم الهندسة الكيميائية", + fr: "Déparetement Génie chimique", + }, + r#type: NodeType::Department, +}; +const USTO_FGE: Node = Node { + name: NodeName { + en: "Faculty of Electrical Engineering", + ar: "كلية الهندسة الكهربائية", + fr: "Faculté de génie électrique", + }, + r#type: NodeType::Faculty, +}; +const USTO_FGE_DAU: Node = Node { + name: NodeName { + en: "Department Automatic", + ar: "قسم الإلكترونيات", + fr: "Department Automatique", + }, + r#type: NodeType::Department, +}; +const USTO_FGE_DEL: Node = Node { + name: NodeName { + en: "Departement of Electrical engineering", + ar: "قسم الهندسة الكهربائية", + fr: "Déparetement Électrotechnique", + }, + r#type: NodeType::Department, +}; +const USTO_FGE_DELT: Node = Node { + name: NodeName { + en: "Departement of Electrical engineering ", + ar: "قسم الهندسة الكهربائية", + fr: "Déparetement Électrotechnique", + }, + r#type: NodeType::Department, +}; +const USTO_FGM: Node = Node { + name: NodeName { + en: "Faculty of Mechanical Engineering", + ar: "كلية الهندسة الميكانيكية", + fr: "Faculté de génie mécanique", + }, + r#type: NodeType::Faculty, +}; +const USTO_FGM_DGMA: Node = Node { + name: NodeName { + en: "Department of Marine Engineering", + ar: "قسم الهندسة البحرية", + fr: "Department Génie Maritime", + }, + r#type: NodeType::Department, +}; +const USTO_FGM_DGME: Node = Node { + name: NodeName { + en: "Department of Mechanical Engineering ", + ar: "قسم الهندسة الميكانيكية", + fr: "Department Génie Mécanique", + }, + r#type: NodeType::Department, +}; +const USTO_FGM_DMM: Node = Node { + name: NodeName { + en: "Departement of Mining and Metallurgy", + ar: "قسم التعدين والمعادن", + fr: "Déparetement Mine et Métallurgie", + }, + r#type: NodeType::Department, +}; +const USTO_FMI: Node = Node { + name: NodeName { + en: "Faculty Mathematics and Computer Science", + ar: "كلية الرياضيات و الاعلام الالي ", + fr: "Faculté des Mathématiques et Informatique", + }, + r#type: NodeType::Faculty, +}; +const USTO_FMI_DINF: Node = Node { + name: NodeName { + en: "Departement of Mathematics", + ar: "قسم الرياضيات", + fr: "Déparetement mathématiques", + }, + r#type: NodeType::Department, +}; +const USTO_FMI_DMA: Node = Node { + name: NodeName { + en: "Departement of Computer science", + ar: "قسم الاعلام الالي", + fr: "Déparetement Informatique", + }, + r#type: NodeType::Department, +}; +const USTO_FPH: Node = Node { + name: NodeName { + en: "Faculty of Materials technology ", + ar: "قسم تكنولوجيا المواد", + fr: "Faculté Technologie des matériaux ", + }, + r#type: NodeType::Department, +}; +const USTO_FPH_DGP: Node = Node { + name: NodeName { + en: "Departement of physics Engineering ", + ar: "قسم الهندسة الفيزيائية", + fr: "Déparetement Génie Phisique", + }, + r#type: NodeType::Department, +}; +const USTO_FPH_DPE: Node = Node { + name: NodeName { + en: "Departement of Physics energetics", + ar: "قسم فيزياء الطاقة", + fr: "deparetement Physique énergétique", + }, + r#type: NodeType::Department, +}; +const USTO_FPH_DTM: Node = Node { + name: NodeName { + en: "Departement of Computer science", + ar: "قسم الاعلام الالي", + fr: "Déparetement Informatique", + }, + r#type: NodeType::Department, +}; +const USTO_FSNV: Node = Node { + name: NodeName { + en: "Departement of Living and environment", + ar: "قسم المعيشة والبيئة", + fr: "Déparetement Vivant et environnement", + }, + r#type: NodeType::Faculty, +}; +const USTO_FSNV_DBIO: Node = Node { + name: NodeName { + en: "Departement of Biotechnology", + ar: "قسم التكنولوجيا الحيوية", + fr: "Déparetement Biotechnologie", + }, + r#type: NodeType::Department, +}; +const USTO_FSNV_DGMA: Node = Node { + name: NodeName { + en: "Departement Applied Molecular Genetics", + ar: "قسم علم الوراثة الجزيئية التطبيقية", + fr: "Déparetement Génétique moléculaire appliquée", + }, + r#type: NodeType::Department, +}; +const USTO_FSNV_DVE: Node = Node { + name: NodeName { + en: "Departement of physics Engineering ", + ar: "قسم الهندسة الفيزيائية", + fr: "Déparetement Génie Phisique", + }, + r#type: NodeType::Department, +}; +const USTO_IEPS: Node = Node { + name: NodeName { + en: "Institute Of Physical Education And Sport", + ar: "معهد التربية البدنية والرياضة", + fr: "Institut d'éducation physique et de sport", + }, + r#type: NodeType::Institute, +}; +const USTO_ISTA: Node = Node { + name: NodeName { + en: "Institute of Applied Science and Technology", + ar: "معهد العلوم التطبيقية والتكنولوجيا", + fr: "Institut des Sciences et Techniques Appliquées", + }, + r#type: NodeType::Institute, +}; + +pub fn get_node_by_path(path: &str) -> Option<&Node> { + match path { + "ua2aks" => Some(&UA2AKS), + "ua2aks/falaol" => Some(&UA2AKS_FALAOL), + "ua2aks/falaol/dala" => Some(&UA2AKS_FALAOL_DALA), + "ua2aks/falaol/dart" => Some(&UA2AKS_FALAOL_DART), + "ua2aks/falaol/dtrl" => Some(&UA2AKS_FALAOL_DTRL), + "ua2aks/falaol/dts" => Some(&UA2AKS_FALAOL_DTS), + "ua2aks/fle" => Some(&UA2AKS_FLE), + "ua2aks/fle/den" => Some(&UA2AKS_FLE_DEN), + "ua2aks/fle/dfr" => Some(&UA2AKS_FLE_DFR), + "ua2aks/fle/dsgi" => Some(&UA2AKS_FLE_DSGI), + "ua2aks/fsh" => Some(&UA2AKS_FSH), + "ua2aks/fsh/dh" => Some(&UA2AKS_FSH_DH), + "ua2aks/fsh/dld" => Some(&UA2AKS_FSH_DLD), + "ua2aks/fsh/dph" => Some(&UA2AKS_FSH_DPH), + "ua2aks/fss" => Some(&UA2AKS_FSS), + "ua2aks/fss/dedu" => Some(&UA2AKS_FSS_DEDU), + "ua2aks/fss/dpsy" => Some(&UA2AKS_FSS_DPSY), + "ua2aks/fss/dsocio" => Some(&UA2AKS_FSS_DSOCIO), + "ua2aks/fss/dst" => Some(&UA2AKS_FSS_DST), + "ua2aks/ia" => Some(&UA2AKS_IA), + "ua2aks/it" => Some(&UA2AKS_IT), + "ubma/facdr" => Some(&UBMA_FACDR), + "ubma/facdr/pld" => Some(&UBMA_FACDR_PLD), + "ubma/facdr/psd" => Some(&UBMA_FACDR_PSD), + "ubma/faclschs" => Some(&UBMA_FACLSCHS), + "ubma/faclschs/alld" => Some(&UBMA_FACLSCHS_ALLD), + "ubma/faclschs/bd" => Some(&UBMA_FACLSCHS_BD), + "ubma/faclschs/eld" => Some(&UBMA_FACLSCHS_ELD), + "ubma/faclschs/fld" => Some(&UBMA_FACLSCHS_FLD), + "ubma/faclschs/hd" => Some(&UBMA_FACLSCHS_HD), + "ubma/faclschs/hssd" => Some(&UBMA_FACLSCHS_HSSD), + "ubma/faclschs/icsd" => Some(&UBMA_FACLSCHS_ICSD), + "ubma/faclschs/ild" => Some(&UBMA_FACLSCHS_ILD), + "ubma/faclschs/pd" => Some(&UBMA_FACLSCHS_PD), + "ubma/faclschs/psed" => Some(&UBMA_FACLSCHS_PSED), + "ubma/faclschs/sd" => Some(&UBMA_FACLSCHS_SD), + "ubma/faclschs/td" => Some(&UBMA_FACLSCHS_TD), + "ubma/facsc" => Some(&UBMA_FACSC), + "ubma/facsc/bd" => Some(&UBMA_FACSC_BD), + "ubma/facsc/cd" => Some(&UBMA_FACSC_CD), + "ubma/facsc/mcd" => Some(&UBMA_FACSC_MCD), + "ubma/facsc/md" => Some(&UBMA_FACSC_MD), + "ubma/facsc/msd" => Some(&UBMA_FACSC_MSD), + "ubma/facsc/nlsd" => Some(&UBMA_FACSC_NLSD), + "ubma/facsc/pd" => Some(&UBMA_FACSC_PD), + "ubma/facsc/ssd" => Some(&UBMA_FACSC_SSD), + "ubma/facsceg" => Some(&UBMA_FACSCEG), + "ubma/facsceg/ct" => Some(&UBMA_FACSCEG_CT), + "ubma/facsceg/esd" => Some(&UBMA_FACSCEG_ESD), + "ubma/facsceg/fsd" => Some(&UBMA_FACSCEG_FSD), + "ubma/facsceg/msd" => Some(&UBMA_FACSCEG_MSD), + "ubma/facsci" => Some(&UBMA_FACSCI), + "ubma/facsci/ced" => Some(&UBMA_FACSCI_CED), + "ubma/facsci/csd" => Some(&UBMA_FACSCI_CSD), + "ubma/facsci/d" => Some(&UBMA_FACSCI_D), + "ubma/facsci/ed" => Some(&UBMA_FACSCI_ED), + "ubma/facsci/hd" => Some(&UBMA_FACSCI_HD), + "ubma/facsci/md" => Some(&UBMA_FACSCI_MD), + "ubma/facsci/med" => Some(&UBMA_FACSCI_MED), + "ubma/facsci/ped" => Some(&UBMA_FACSCI_PED), + "ubma/facsci/std" => Some(&UBMA_FACSCI_STD), + "ubma/facsci/tt" => Some(&UBMA_FACSCI_TT), + "ubma/facscm" => Some(&UBMA_FACSCM), + "ubma/facscm/ddm" => Some(&UBMA_FACSCM_DDM), + "ubma/facscm/md" => Some(&UBMA_FACSCM_MD), + "ubma/facscm/pd" => Some(&UBMA_FACSCM_PD), + "ubma/facscm/tt" => Some(&UBMA_FACSCM_TT), + "ubma/facsct" => Some(&UBMA_FACSCT), + "ubma/facsct/ad" => Some(&UBMA_FACSCT_AD), + "ubma/facsct/gd" => Some(&UBMA_FACSCT_GD), + "ubma/facsct/md" => Some(&UBMA_FACSCT_MD), + "ubma/facsct/pd" => Some(&UBMA_FACSCT_PD), + "umbm" => Some(&UMBM), + "umbm/fdsp" => Some(&UMBM_FDSP), + "umbm/fdsp/ddroit" => Some(&UMBM_FDSP_DDROIT), + "umbm/fdsp/dsp" => Some(&UMBM_FDSP_DSP), + "umbm/fll" => Some(&UMBM_FLL), + "umbm/fll/dall" => Some(&UMBM_FLL_DALL), + "umbm/fll/dell" => Some(&UMBM_FLL_DELL), + "umbm/fll/dfll" => Some(&UMBM_FLL_DFLL), + "umbm/fmi" => Some(&UMBM_FMI), + "umbm/fmi/dcs" => Some(&UMBM_FMI_DCS), + "umbm/fmi/dmath" => Some(&UMBM_FMI_DMATH), + "umbm/fsci" => Some(&UMBM_FSCI), + "umbm/fsci/dbcmb" => Some(&UMBM_FSCI_DBCMB), + "umbm/fsci/dchi" => Some(&UMBM_FSCI_DCHI), + "umbm/fsci/dphy" => Some(&UMBM_FSCI_DPHY), + "umbm/fsci/dsa" => Some(&UMBM_FSCI_DSA), + "umbm/fsci/dsnv" => Some(&UMBM_FSCI_DSNV), + "umbm/fsegc" => Some(&UMBM_FSEGC), + "umbm/fsegc/dsc" => Some(&UMBM_FSEGC_DSC), + "umbm/fsegc/dse" => Some(&UMBM_FSEGC_DSE), + "umbm/fsegc/dsfc" => Some(&UMBM_FSEGC_DSFC), + "umbm/fsegc/dsg" => Some(&UMBM_FSEGC_DSG), + "umbm/fshs" => Some(&UMBM_FSHS), + "umbm/fshs/dhist" => Some(&UMBM_FSHS_DHIST), + "umbm/fshs/dphilo" => Some(&UMBM_FSHS_DPHILO), + "umbm/fshs/dsci" => Some(&UMBM_FSHS_DSCI), + "umbm/fshs/dsi" => Some(&UMBM_FSHS_DSI), + "umbm/fshs/dsocio" => Some(&UMBM_FSHS_DSOCIO), + "umbm/ftech" => Some(&UMBM_FTECH), + "umbm/ftech/dce" => Some(&UMBM_FTECH_DCE), + "umbm/ftech/dee" => Some(&UMBM_FTECH_DEE), + "umbm/ftech/delec" => Some(&UMBM_FTECH_DELEC), + "umbm/ftech/dhydr" => Some(&UMBM_FTECH_DHYDR), + "umbm/ftech/dme" => Some(&UMBM_FTECH_DME), + "umbm/istaps" => Some(&UMBM_ISTAPS), + "umbm/istaps/dags" => Some(&UMBM_ISTAPS_DAGS), + "umbm/istaps/dapsa" => Some(&UMBM_ISTAPS_DAPSA), + "umbm/istaps/dcbf" => Some(&UMBM_ISTAPS_DCBF), + "umbm/istaps/dep" => Some(&UMBM_ISTAPS_DEP), + "umbm/istaps/dfc" => Some(&UMBM_ISTAPS_DFC), + "umbm/istaps/dmcs" => Some(&UMBM_ISTAPS_DMCS), + "umbm/iutm" => Some(&UMBM_IUTM), + "umbm/iutm/dcg" => Some(&UMBM_IUTM_DCG), + "umbm/iutm/dcm" => Some(&UMBM_IUTM_DCM), + "umbm/iutm/due" => Some(&UMBM_IUTM_DUE), + "umkb" => Some(&UMKB), + "umkb/fdsp" => Some(&UMKB_FDSP), + "umkb/fll" => Some(&UMKB_FLL), + "umkb/fsecsg" => Some(&UMKB_FSECSG), + "umkb/fsesnv" => Some(&UMKB_FSESNV), + "umkb/fshs" => Some(&UMKB_FSHS), + "umkb/fst" => Some(&UMKB_FST), + "umkb/fst/dee" => Some(&UMKB_FST_DEE), + "umkb/fst/dee/sec" => Some(&UMKB_FST_DEE_SEC), + "umkb/istaps" => Some(&UMKB_ISTAPS), + "ummto" => Some(&UMMTO), + "ummto/dmi" => Some(&UMMTO_DMI), + "ummto/dsat" => Some(&UMMTO_DSAT), + "ummto/fdsp" => Some(&UMMTO_FDSP), + "ummto/fgc" => Some(&UMMTO_FGC), + "ummto/fgei" => Some(&UMMTO_FGEI), + "ummto/fmed" => Some(&UMMTO_FMED), + "ummto/fsbsa" => Some(&UMMTO_FSBSA), + "ummto/fsecsg" => Some(&UMMTO_FSECSG), + "ummto/fshs" => Some(&UMMTO_FSHS), + "usthb" => Some(&USTHB), + "usthb/fchimie" => Some(&USTHB_FCHIMIE), + "usthb/fchimie/dcm" => Some(&USTHB_FCHIMIE_DCM), + "usthb/fchimie/dcoa" => Some(&USTHB_FCHIMIE_DCOA), + "usthb/fchimie/dcpmi" => Some(&USTHB_FCHIMIE_DCPMI), + "usthb/fchimie/dcpt" => Some(&USTHB_FCHIMIE_DCPT), + "usthb/fei" => Some(&USTHB_FEI), + "usthb/fei/auto" => Some(&USTHB_FEI_AUTO), + "usthb/fei/elt" => Some(&USTHB_FEI_ELT), + "usthb/fei/info" => Some(&USTHB_FEI_INFO), + "usthb/fei/telecom" => Some(&USTHB_FEI_TELECOM), + "usthb/fgc" => Some(&USTHB_FGC), + "usthb/fgc/dgh" => Some(&USTHB_FGC_DGH), + "usthb/fgc/dsm" => Some(&USTHB_FGC_DSM), + "usthb/fgmgp" => Some(&USTHB_FGMGP), + "usthb/fgmgp/dcmp" => Some(&USTHB_FGMGP_DCMP), + "usthb/fgmgp/dgcc" => Some(&USTHB_FGMGP_DGCC), + "usthb/fgmgp/dgegp" => Some(&USTHB_FGMGP_DGEGP), + "usthb/fgmgp/dsm" => Some(&USTHB_FGMGP_DSM), + "usthb/fgmgp/dte" => Some(&USTHB_FGMGP_DTE), + "usthb/fmath" => Some(&USTHB_FMATH), + "usthb/fmath/da" => Some(&USTHB_FMATH_DA), + "usthb/fmath/datn" => Some(&USTHB_FMATH_DATN), + "usthb/fmath/dps" => Some(&USTHB_FMATH_DPS), + "usthb/fmath/dro" => Some(&USTHB_FMATH_DRO), + "usthb/fphy" => Some(&USTHB_FPHY), + "usthb/fphy/demf" => Some(&USTHB_FPHY_DEMF), + "usthb/fphy/dmc" => Some(&USTHB_FPHY_DMC), + "usthb/fphy/dpr" => Some(&USTHB_FPHY_DPR), + "usthb/fphy/dpt" => Some(&USTHB_FPHY_DPT), + "usthb/fsb" => Some(&USTHB_FSB), + "usthb/fsb/dbcm" => Some(&USTHB_FSB_DBCM), + "usthb/fsb/dbpo" => Some(&USTHB_FSB_DBPO), + "usthb/fsb/dee" => Some(&USTHB_FSB_DEE), + "usthb/fstgat" => Some(&USTHB_FSTGAT), + "usthb/fstgat/dg" => Some(&USTHB_FSTGAT_DG), + "usthb/fstgat/dgat" => Some(&USTHB_FSTGAT_DGAT), + "usthb/fstgat/dgp" => Some(&USTHB_FSTGAT_DGP), + "usto" => Some(&USTO), + "usto/fag" => Some(&USTO_FAG), + "usto/fag/da" => Some(&USTO_FAG_DA), + "usto/fag/dgc" => Some(&USTO_FAG_DGC), + "usto/fag/dge" => Some(&USTO_FAG_DGE), + "usto/fch" => Some(&USTO_FCH), + "usto/fch/dchm" => Some(&USTO_FCH_DCHM), + "usto/fch/dchp" => Some(&USTO_FCH_DCHP), + "usto/fch/dgc" => Some(&USTO_FCH_DGC), + "usto/fge" => Some(&USTO_FGE), + "usto/fge/dau" => Some(&USTO_FGE_DAU), + "usto/fge/del" => Some(&USTO_FGE_DEL), + "usto/fge/delt" => Some(&USTO_FGE_DELT), + "usto/fgm" => Some(&USTO_FGM), + "usto/fgm/dgma" => Some(&USTO_FGM_DGMA), + "usto/fgm/dgme" => Some(&USTO_FGM_DGME), + "usto/fgm/dmm" => Some(&USTO_FGM_DMM), + "usto/fmi" => Some(&USTO_FMI), + "usto/fmi/dinf" => Some(&USTO_FMI_DINF), + "usto/fmi/dma" => Some(&USTO_FMI_DMA), + "usto/fph" => Some(&USTO_FPH), + "usto/fph/dgp" => Some(&USTO_FPH_DGP), + "usto/fph/dpe" => Some(&USTO_FPH_DPE), + "usto/fph/dtm" => Some(&USTO_FPH_DTM), + "usto/fsnv" => Some(&USTO_FSNV), + "usto/fsnv/dbio" => Some(&USTO_FSNV_DBIO), + "usto/fsnv/dgma" => Some(&USTO_FSNV_DGMA), + "usto/fsnv/dve" => Some(&USTO_FSNV_DVE), + "usto/ieps" => Some(&USTO_IEPS), + "usto/ista" => Some(&USTO_ISTA), + _ => None, + } +} \ No newline at end of file diff --git a/rust/src/static/_auto_generated/mod.rs b/rust/src/static/_auto_generated/mod.rs new file mode 100644 index 0000000..1e51120 --- /dev/null +++ b/rust/src/static/_auto_generated/mod.rs @@ -0,0 +1,2 @@ +// This is auto-generated. Do not edit manually +pub mod data;