myems-api/core/point.py

Summary

Maintainability
F
3 wks
Test Coverage

File point.py has 1054 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import falcon
from datetime import datetime, timedelta
import mysql.connector
import simplejson as json
from core.useractivity import user_logger, admin_control
Severity: Major
Found in myems-api/core/point.py - About 2 days to fix

    Function on_put has a Cognitive Complexity of 32 (exceeds 5 allowed). Consider refactoring.
    Open

        def on_put(req, resp, id_):
            """Handles PUT requests"""
            admin_control(req)
            try:
                raw_json = req.stream.read().decode('utf-8')
    Severity: Minor
    Found in myems-api/core/point.py - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function on_post has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring.
    Open

        def on_post(req, resp):
            """Handles POST requests"""
            admin_control(req)
            try:
                raw_json = req.stream.read().decode('utf-8')
    Severity: Minor
    Found in myems-api/core/point.py - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function on_post has a Cognitive Complexity of 31 (exceeds 5 allowed). Consider refactoring.
    Open

        def on_post(req, resp):
            """Handles POST requests"""
            admin_control(req)
            try:
                raw_json = req.stream.read().decode('utf-8')
    Severity: Minor
    Found in myems-api/core/point.py - About 4 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function on_delete has a Cognitive Complexity of 26 (exceeds 5 allowed). Consider refactoring.
    Open

        def on_delete(req, resp, id_):
            admin_control(req)
            if not id_.isdigit() or int(id_) <= 0:
                raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
                                       description='API.INVALID_POINT_ID')
    Severity: Minor
    Found in myems-api/core/point.py - About 3 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Function on_delete has 57 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def on_delete(req, resp, id_):
            admin_control(req)
            if not id_.isdigit() or int(id_) <= 0:
                raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
                                       description='API.INVALID_POINT_ID')
    Severity: Major
    Found in myems-api/core/point.py - About 2 hrs to fix

      Function on_put has 42 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          def on_put(req, resp, id_):
              """Handles PUT requests"""
              admin_control(req)
              try:
                  raw_json = req.stream.read().decode('utf-8')
      Severity: Minor
      Found in myems-api/core/point.py - About 1 hr to fix

        Function on_post has 41 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            def on_post(req, resp):
                """Handles POST requests"""
                admin_control(req)
                try:
                    raw_json = req.stream.read().decode('utf-8')
        Severity: Minor
        Found in myems-api/core/point.py - About 1 hr to fix

          Function on_post has 41 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              def on_post(req, resp):
                  """Handles POST requests"""
                  admin_control(req)
                  try:
                      raw_json = req.stream.read().decode('utf-8')
          Severity: Minor
          Found in myems-api/core/point.py - About 1 hr to fix

            Function on_put has a Cognitive Complexity of 12 (exceeds 5 allowed). Consider refactoring.
            Open

                def on_put(req, resp, id_):
                    """Handles PUT requests"""
                    admin_control(req)
                    try:
                        raw_json = req.stream.read().decode('utf-8')
            Severity: Minor
            Found in myems-api/core/point.py - About 1 hr to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function on_get has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
            Open

                def on_get(req, resp):
                    """Handles GET requests"""
                    admin_control(req)
                    cnx = mysql.connector.connect(**config.myems_system_db)
                    cursor = cnx.cursor()
            Severity: Minor
            Found in myems-api/core/point.py - About 45 mins to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function on_post has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
            Open

                def on_post(req, resp, id_):
                    admin_control(req)
                    if not id_.isdigit() or int(id_) <= 0:
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
                                               description='API.INVALID_POINT_ID')
            Severity: Minor
            Found in myems-api/core/point.py - About 45 mins to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function on_get has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
            Open

                def on_get(req, resp, id_):
                    """Handles GET requests"""
                    admin_control(req)
                    if not id_.isdigit() or int(id_) <= 0:
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Minor
            Found in myems-api/core/point.py - About 35 mins to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

            Function on_get has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
            Open

                def on_get(req, resp, id_):
                    """Handles GET requests"""
                    admin_control(req)
                    if not id_.isdigit() or int(id_) <= 0:
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Minor
            Found in myems-api/core/point.py - About 35 mins to fix

            Cognitive Complexity

            Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

            A method's cognitive complexity is based on a few simple rules:

            • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
            • Code is considered more complex for each "break in the linear flow of the code"
            • Code is considered more complex when "flow breaking structures are nested"

            Further reading

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

                @staticmethod
                def on_get(req, resp, id_):
                    """Handles GET requests"""
                    admin_control(req)
                    if not id_.isdigit() or int(id_) <= 0:
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 4 days to fix
            myems-api/core/point.py on lines 237..287

            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 414.

            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

                @staticmethod
                def on_get(req, resp, id_):
                    """Handles GET requests"""
                    admin_control(req)
                    if not id_.isdigit() or int(id_) <= 0:
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 4 days to fix
            myems-api/core/point.py on lines 920..970

            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 414.

            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 4 locations. Consider refactoring.
            Open

                    if 'higher_limit' not in new_values['data'].keys() or \
                            new_values['data']['higher_limit'] is None:
                        higher_limit = None
                    elif not (isinstance(new_values['data']['higher_limit'], float) or
                              isinstance(new_values['data']['higher_limit'], int)):
            Severity: Major
            Found in myems-api/core/point.py and 3 other locations - About 1 day to fix
            myems-api/core/point.py on lines 135..143
            myems-api/core/point.py on lines 715..723
            myems-api/core/point.py on lines 726..734

            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 133.

            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 4 locations. Consider refactoring.
            Open

                    if 'lower_limit' not in new_values['data'].keys() or \
                            new_values['data']['lower_limit'] is None:
                        lower_limit = None
                    elif not (isinstance(new_values['data']['lower_limit'], float) or
                              isinstance(new_values['data']['lower_limit'], int)):
            Severity: Major
            Found in myems-api/core/point.py and 3 other locations - About 1 day to fix
            myems-api/core/point.py on lines 124..132
            myems-api/core/point.py on lines 135..143
            myems-api/core/point.py on lines 715..723

            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 133.

            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 4 locations. Consider refactoring.
            Open

                    if 'lower_limit' not in new_values['data'].keys() or \
                            new_values['data']['lower_limit'] is None:
                        lower_limit = None
                    elif not (isinstance(new_values['data']['lower_limit'], float) or
                              isinstance(new_values['data']['lower_limit'], int)):
            Severity: Major
            Found in myems-api/core/point.py and 3 other locations - About 1 day to fix
            myems-api/core/point.py on lines 124..132
            myems-api/core/point.py on lines 715..723
            myems-api/core/point.py on lines 726..734

            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 133.

            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 4 locations. Consider refactoring.
            Open

                    if 'higher_limit' not in new_values['data'].keys() or \
                            new_values['data']['higher_limit'] is None:
                        higher_limit = None
                    elif not (isinstance(new_values['data']['higher_limit'], float) or
                              isinstance(new_values['data']['higher_limit'], int)):
            Severity: Major
            Found in myems-api/core/point.py and 3 other locations - About 1 day to fix
            myems-api/core/point.py on lines 124..132
            myems-api/core/point.py on lines 135..143
            myems-api/core/point.py on lines 726..734

            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 133.

            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

                    if 'lower_limit' not in new_values.keys() or \
                            new_values['lower_limit'] is None:
                        lower_limit = None
                    elif not (isinstance(new_values['lower_limit'], float) or
                              isinstance(new_values['lower_limit'], int)):
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 6 hrs to fix
            myems-api/core/point.py on lines 1040..1048

            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 103.

            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

                    if 'higher_limit' not in new_values.keys() or \
                            new_values['higher_limit'] is None:
                        higher_limit = None
                    elif not (isinstance(new_values['higher_limit'], float) or
                              isinstance(new_values['higher_limit'], int)):
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 6 hrs to fix
            myems-api/core/point.py on lines 1051..1059

            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 103.

            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

                    if 'object_type' not in new_values['data'].keys() \
                       or str.strip(new_values['data']['object_type']) not in ('ENERGY_VALUE', 'ANALOG_VALUE', 'DIGITAL_VALUE'):
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 3 hrs to fix
            myems-api/core/point.py on lines 95..97

            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 72.

            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

                    if 'object_type' not in new_values['data'].keys() \
                       or str.strip(new_values['data']['object_type']) not in ('ENERGY_VALUE', 'ANALOG_VALUE', 'DIGITAL_VALUE'):
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 3 hrs to fix
            myems-api/core/point.py on lines 686..688

            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 72.

            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 7 locations. Consider refactoring.
            Open

                    if 'high_limit' not in new_values.keys() or \
                            not (isinstance(new_values['high_limit'], float) or
                                 isinstance(new_values['high_limit'], int)):
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Major
            Found in myems-api/core/point.py and 6 other locations - About 3 hrs to fix
            myems-api/core/meter.py on lines 1481..1484
            myems-api/core/meter.py on lines 1488..1491
            myems-api/core/offlinemeter.py on lines 771..774
            myems-api/core/offlinemeter.py on lines 778..781
            myems-api/core/point.py on lines 1032..1035
            myems-api/core/point.py on lines 1061..1064

            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 69.

            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 7 locations. Consider refactoring.
            Open

                    if 'ratio' not in new_values.keys() or \
                            not (isinstance(new_values['ratio'], float) or
                                 isinstance(new_values['ratio'], int)):
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Major
            Found in myems-api/core/point.py and 6 other locations - About 3 hrs to fix
            myems-api/core/meter.py on lines 1481..1484
            myems-api/core/meter.py on lines 1488..1491
            myems-api/core/offlinemeter.py on lines 771..774
            myems-api/core/offlinemeter.py on lines 778..781
            myems-api/core/point.py on lines 1025..1028
            myems-api/core/point.py on lines 1032..1035

            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 69.

            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 7 locations. Consider refactoring.
            Open

                    if 'low_limit' not in new_values.keys() or \
                            not (isinstance(new_values['low_limit'], float) or
                                 isinstance(new_values['low_limit'], int)):
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Major
            Found in myems-api/core/point.py and 6 other locations - About 3 hrs to fix
            myems-api/core/meter.py on lines 1481..1484
            myems-api/core/meter.py on lines 1488..1491
            myems-api/core/offlinemeter.py on lines 771..774
            myems-api/core/offlinemeter.py on lines 778..781
            myems-api/core/point.py on lines 1025..1028
            myems-api/core/point.py on lines 1061..1064

            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 69.

            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 20 locations. Consider refactoring.
            Open

                    if 'is_trend' not in new_values.keys() or \
                            not isinstance(new_values['is_trend'], bool):
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Major
            Found in myems-api/core/point.py and 19 other locations - About 2 hrs to fix
            myems-api/core/advancedreport.py on lines 516..518
            myems-api/core/advancedreport.py on lines 540..542
            myems-api/core/combinedequipment.py on lines 2597..2599
            myems-api/core/combinedequipment.py on lines 2603..2605
            myems-api/core/equipment.py on lines 2380..2382
            myems-api/core/equipment.py on lines 2386..2388
            myems-api/core/meter.py on lines 1475..1477
            myems-api/core/offlinemeter.py on lines 765..767
            myems-api/core/point.py on lines 1074..1076
            myems-api/core/rule.py on lines 637..639
            myems-api/core/rule.py on lines 643..645
            myems-api/core/shopfloor.py on lines 2198..2200
            myems-api/core/space.py on lines 3993..3995
            myems-api/core/space.py on lines 3999..4001
            myems-api/core/store.py on lines 2168..2170
            myems-api/core/tenant.py on lines 2292..2294
            myems-api/core/tenant.py on lines 2298..2300
            myems-api/core/tenant.py on lines 2311..2313
            myems-api/core/virtualmeter.py on lines 1048..1049

            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 53.

            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 20 locations. Consider refactoring.
            Open

                    if 'is_virtual' not in new_values.keys() or \
                            not isinstance(new_values['is_virtual'], bool):
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Major
            Found in myems-api/core/point.py and 19 other locations - About 2 hrs to fix
            myems-api/core/advancedreport.py on lines 516..518
            myems-api/core/advancedreport.py on lines 540..542
            myems-api/core/combinedequipment.py on lines 2597..2599
            myems-api/core/combinedequipment.py on lines 2603..2605
            myems-api/core/equipment.py on lines 2380..2382
            myems-api/core/equipment.py on lines 2386..2388
            myems-api/core/meter.py on lines 1475..1477
            myems-api/core/offlinemeter.py on lines 765..767
            myems-api/core/point.py on lines 1068..1070
            myems-api/core/rule.py on lines 637..639
            myems-api/core/rule.py on lines 643..645
            myems-api/core/shopfloor.py on lines 2198..2200
            myems-api/core/space.py on lines 3993..3995
            myems-api/core/space.py on lines 3999..4001
            myems-api/core/store.py on lines 2168..2170
            myems-api/core/tenant.py on lines 2292..2294
            myems-api/core/tenant.py on lines 2298..2300
            myems-api/core/tenant.py on lines 2311..2313
            myems-api/core/virtualmeter.py on lines 1048..1049

            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 53.

            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

                    if new_values['data']['is_virtual'] is True and object_type == 'DIGITAL_VALUE':
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 2 hrs to fix
            myems-api/core/point.py on lines 162..163

            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 52.

            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

                    if new_values['data']['is_virtual'] is True and object_type == 'DIGITAL_VALUE':
                        raise falcon.HTTPError(status=falcon.HTTP_400, title='API.BAD_REQUEST',
            Severity: Major
            Found in myems-api/core/point.py and 1 other location - About 2 hrs to fix
            myems-api/core/point.py on lines 753..754

            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 52.

            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 41 locations. Consider refactoring.
            Open

                    if row_shopfloor is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_heatpump is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_energy_storage_container_grid is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_energy_storage_container_power_conversion_system is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_sensor is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_equipment is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_energy_storage_container_battery is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_meter is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_integrator is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_store is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_combined_equipment is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_distribution_circuit is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_tenant is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_battery is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_grid is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_energy_storage_container_load is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_power_conversion_system is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_load is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_evcharger is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_generator is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_microgrid_photovoltaic is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_space is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 577..580
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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 41 locations. Consider refactoring.
            Open

                    if row_virtual_power_plant is not None:
                        cursor.close()
                        cnx.close()
                        raise falcon.HTTPError(status=falcon.HTTP_400,
            Severity: Major
            Found in myems-api/core/point.py and 40 other locations - About 1 hr to fix
            myems-api/core/combinedequipment.py on lines 1384..1387
            myems-api/core/energyflowdiagram.py on lines 559..562
            myems-api/core/energyflowdiagram.py on lines 871..874
            myems-api/core/energyflowdiagram.py on lines 1214..1217
            myems-api/core/energyflowdiagram.py on lines 1476..1479
            myems-api/core/equipment.py on lines 1215..1218
            myems-api/core/meter.py on lines 410..413
            myems-api/core/meter.py on lines 546..549
            myems-api/core/meter.py on lines 560..563
            myems-api/core/meter.py on lines 574..577
            myems-api/core/meter.py on lines 589..592
            myems-api/core/meter.py on lines 605..608
            myems-api/core/meter.py on lines 619..622
            myems-api/core/meter.py on lines 633..636
            myems-api/core/meter.py on lines 826..829
            myems-api/core/offlinemeter.py on lines 355..358
            myems-api/core/point.py on lines 316..319
            myems-api/core/point.py on lines 330..333
            myems-api/core/point.py on lines 344..347
            myems-api/core/point.py on lines 358..361
            myems-api/core/point.py on lines 372..375
            myems-api/core/point.py on lines 386..389
            myems-api/core/point.py on lines 400..403
            myems-api/core/point.py on lines 414..417
            myems-api/core/point.py on lines 428..431
            myems-api/core/point.py on lines 445..448
            myems-api/core/point.py on lines 461..464
            myems-api/core/point.py on lines 479..482
            myems-api/core/point.py on lines 493..496
            myems-api/core/point.py on lines 507..510
            myems-api/core/point.py on lines 521..524
            myems-api/core/point.py on lines 535..538
            myems-api/core/point.py on lines 549..552
            myems-api/core/point.py on lines 563..566
            myems-api/core/point.py on lines 592..595
            myems-api/core/point.py on lines 606..609
            myems-api/core/point.py on lines 620..623
            myems-api/core/point.py on lines 638..641
            myems-api/core/user.py on lines 1102..1105
            myems-api/core/virtualmeter.py on lines 511..514

            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 43.

            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

            There are no issues that match your filters.

            Category
            Status