Showing 10,536 of 10,536 total issues

Function lists has 156 lines of code (exceeds 25 allowed). Consider refactoring.
Open

            lists: (function( ) {
                // Use a closure to hide a few variables.
                var any_list = "[*+-]|\\d+\\.",
                    bullet_list = /[*+-]/,
                    number_list = /\d+\./,
Severity: Major
Found in myems-admin/js/plugins/bootstrap-markdown/markdown.js - About 6 hrs to fix

    Function ExifRestore has 156 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    function () {
      function ExifRestore() {
        _classCallCheck(this, ExifRestore);
      }
    
    
    Severity: Major
    Found in myems-admin/js/plugins/dropzone/dropzone.js - About 6 hrs to fix

      File virtualmeterplan.py has 425 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      import re
      from datetime import datetime, timedelta, timezone
      from decimal import Decimal
      import falcon
      import mysql.connector
      Severity: Minor
      Found in myems-api/reports/virtualmeterplan.py - About 6 hrs to fix

        File offlinemetersaving.py has 425 lines of code (exceeds 250 allowed). Consider refactoring.
        Open

        import re
        from datetime import datetime, timedelta, timezone
        from decimal import Decimal
        import falcon
        import mysql.connector
        Severity: Minor
        Found in myems-api/reports/offlinemetersaving.py - About 6 hrs to fix

          File virtualmetersaving.py has 425 lines of code (exceeds 250 allowed). Consider refactoring.
          Open

          import re
          from datetime import datetime, timedelta, timezone
          from decimal import Decimal
          import falcon
          import mysql.connector
          Severity: Minor
          Found in myems-api/reports/virtualmetersaving.py - About 6 hrs to fix

            File offlinemeterplan.py has 425 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            import re
            from datetime import datetime, timedelta, timezone
            from decimal import Decimal
            import falcon
            import mysql.connector
            Severity: Minor
            Found in myems-api/reports/offlinemeterplan.py - About 6 hrs to fix

              Identical blocks of code found in 2 locations. Consider refactoring.
              Open

                          $scope.showhide = function () {
                              var ibox = $element.closest('div.ibox');
                              var icon = $element.find('i:first');
                              var content = ibox.find('div.ibox-content');
                              content.slideToggle(200);
              Severity: Major
              Found in myems-admin/app/directives/directives.js and 1 other location - About 6 hrs to fix
              myems-admin/app/directives/directives.js on lines 106..118

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 159.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              Identical blocks of code found in 2 locations. Consider refactoring.
              Open

                          $scope.showhide = function () {
                              var ibox = $element.closest('div.ibox');
                              var icon = $element.find('i:first');
                              var content = ibox.find('div.ibox-content');
                              content.slideToggle(200);
              Severity: Major
              Found in myems-admin/app/directives/directives.js and 1 other location - About 6 hrs to fix
              myems-admin/app/directives/directives.js on lines 138..150

              Duplicated Code

              Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

              Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

              When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

              Tuning

              This issue has a mass of 159.

              We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

              The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

              If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

              See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

              Refactorings

              Further Reading

              File EnterProduction.js has 424 lines of code (exceeds 250 allowed). Consider refactoring.
              Open

              import React, { Fragment, useEffect, useState } from 'react';
              import {
                Breadcrumb,
                BreadcrumbItem,
                Button,
              Severity: Minor
              Found in myems-web/src/components/MyEMS/Space/EnterProduction.js - About 6 hrs to fix

                File gateway.py has 424 lines of code (exceeds 250 allowed). Consider refactoring.
                Open

                import uuid
                from datetime import datetime, timezone, timedelta
                import falcon
                import mysql.connector
                import simplejson as json
                Severity: Minor
                Found in myems-api/core/gateway.py - About 6 hrs to fix

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT power_point_id "
                                               " FROM tbl_microgrids_loads "
                                               " WHERE microgrid_id = %s "
                                               " LIMIT 1 ")
                  Severity: Major
                  Found in myems-api/reports/microgridlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 214..223

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT tescpcs.run_state_point_id "
                                               " FROM tbl_energy_storage_power_stations_containers tespsesc, "
                                               "     tbl_energy_storage_containers_power_conversion_systems tescpcs "
                                               " WHERE tespsesc.energy_storage_power_station_id  = %s "
                  Severity: Major
                  Found in myems-api/reports/energystoragepowerstationlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 214..223
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT tescl.power_point_id "
                                               " FROM tbl_energy_storage_power_stations_containers tespsesc, "
                                               "      tbl_energy_storage_containers_loads tescl "
                                               " WHERE tespsesc.energy_storage_power_station_id = %s "
                  Severity: Major
                  Found in myems-api/reports/energystoragepowerstationlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 214..223
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT tescg.power_point_id "
                                               " FROM tbl_energy_storage_power_stations_containers tespsesc, "
                                               "      tbl_energy_storage_containers_grids tescg "
                                               " WHERE tespsesc.energy_storage_power_station_id = %s "
                  Severity: Major
                  Found in myems-api/reports/energystoragepowerstationlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 214..223
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT run_state_point_id "
                                               " FROM tbl_microgrids_power_conversion_systems "
                                               " WHERE microgrid_id = %s "
                                               " LIMIT 1 ")
                  Severity: Major
                  Found in myems-api/reports/microgridlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 214..223
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT battery_state_point_id "
                                               " FROM tbl_microgrids_batteries "
                                               " WHERE microgrid_id = %s "
                                               " LIMIT 1 ")
                  Severity: Major
                  Found in myems-api/reports/microgridlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 214..223
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT power_point_id "
                                               " FROM tbl_microgrids_grids "
                                               " WHERE microgrid_id = %s "
                                               " LIMIT 1 ")
                  Severity: Major
                  Found in myems-api/reports/microgridlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT tescb.battery_state_point_id "
                                               " FROM tbl_energy_storage_power_stations_containers tespsesc, "
                                               "      tbl_energy_storage_containers_batteries tescb "
                                               " WHERE tespsesc.energy_storage_power_station_id = %s "
                  Severity: Major
                  Found in myems-api/reports/energystoragepowerstationlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 201..210
                  myems-api/reports/microgridlist.py on lines 214..223
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 9 locations. Consider refactoring.
                  Open

                                  if is_online:
                                      query = (" SELECT power_point_id "
                                               " FROM tbl_microgrids_photovoltaics "
                                               " WHERE microgrid_id = %s "
                                               " LIMIT 1 ")
                  Severity: Major
                  Found in myems-api/reports/microgridlist.py and 8 other locations - About 6 hrs to fix
                  myems-api/reports/energystoragepowerstationlist.py on lines 122..133
                  myems-api/reports/energystoragepowerstationlist.py on lines 167..178
                  myems-api/reports/energystoragepowerstationlist.py on lines 225..236
                  myems-api/reports/energystoragepowerstationlist.py on lines 240..251
                  myems-api/reports/microgridlist.py on lines 118..127
                  myems-api/reports/microgridlist.py on lines 156..166
                  myems-api/reports/microgridlist.py on lines 214..223
                  myems-api/reports/microgridlist.py on lines 227..236

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Similar blocks of code found in 2 locations. Consider refactoring.
                  Open

                              try:
                                  update_row = (" UPDATE tbl_offline_meter_files "
                                                " SET status = %s "
                                                " WHERE id = %s ")
                                  cursor.execute(update_row, ('done' if is_valid_file else 'error', excel_file['id'],))
                  Severity: Major
                  Found in myems-normalization/offlinemeter.py and 1 other location - About 6 hrs to fix
                  myems-normalization/datarepair.py on lines 306..320

                  Duplicated Code

                  Duplicated code can lead to software that is hard to understand and difficult to change. The Don't Repeat Yourself (DRY) principle states:

                  Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.

                  When you violate DRY, bugs and maintenance problems are sure to follow. Duplicated code has a tendency to both continue to replicate and also to diverge (leaving bugs as two similar implementations differ in subtle ways).

                  Tuning

                  This issue has a mass of 100.

                  We set useful threshold defaults for the languages we support but you may want to adjust these settings based on your project guidelines.

                  The threshold configuration represents the minimum mass a code block must have to be analyzed for duplication. The lower the threshold, the more fine-grained the comparison.

                  If the engine is too easily reporting duplication, try raising the threshold. If you suspect that the engine isn't catching enough duplication, try lowering the threshold. The best setting tends to differ from language to language.

                  See codeclimate-duplication's documentation for more information about tuning the mass threshold in your .codeclimate.yml.

                  Refactorings

                  Further Reading

                  Severity
                  Category
                  Status
                  Source
                  Language