saltstack/salt

View on GitHub
salt/states/zabbix_mediatype.py

Summary

Maintainability
F
2 wks
Test Coverage

Function present has a Cognitive Complexity of 194 (exceeds 5 allowed). Consider refactoring.
Open

def present(name, mediatype, **kwargs):
    '''
    Creates new mediatype.
    NOTE: This function accepts all standard mediatype properties: keyword argument names differ depending on your
    zabbix version, see:
Severity: Minor
Found in salt/states/zabbix_mediatype.py - About 3 days 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

Cyclomatic complexity is too high in function present. (103)
Open

def present(name, mediatype, **kwargs):
    '''
    Creates new mediatype.
    NOTE: This function accepts all standard mediatype properties: keyword argument names differ depending on your
    zabbix version, see:
Severity: Minor
Found in salt/states/zabbix_mediatype.py by radon

Cyclomatic Complexity

Cyclomatic Complexity corresponds to the number of decisions a block of code contains plus 1. This number (also called McCabe number) is equal to the number of linearly independent paths through the code. This number can be used as a guide when testing conditional logic in blocks.

Radon analyzes the AST tree of a Python program to compute Cyclomatic Complexity. Statements have the following effects on Cyclomatic Complexity:

Construct Effect on CC Reasoning
if +1 An if statement is a single decision.
elif +1 The elif statement adds another decision.
else +0 The else statement does not cause a new decision. The decision is at the if.
for +1 There is a decision at the start of the loop.
while +1 There is a decision at the while statement.
except +1 Each except branch adds a new conditional path of execution.
finally +0 The finally block is unconditionally executed.
with +1 The with statement roughly corresponds to a try/except block (see PEP 343 for details).
assert +1 The assert statement internally roughly equals a conditional statement.
Comprehension +1 A list/set/dict comprehension of generator expression is equivalent to a for loop.
Boolean Operator +1 Every boolean operator (and, or) adds a decision point.

Source: http://radon.readthedocs.org/en/latest/intro.html

File zabbix_mediatype.py has 317 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# -*- coding: utf-8 -*-
'''
Management of Zabbix mediatypes.

:codeauthor: Raymond Kuiper <qix@the-wired.net>
Severity: Minor
Found in salt/states/zabbix_mediatype.py - About 3 hrs to fix

    Consider simplifying this complex logical expression.
    Open

            if (update_email or update_email_port or update_email_security or
                    update_email_verify_peer or update_email_verify_host or update_email_auth or
                    update_script or update_script_params or update_sms or
                    update_jabber or update_eztext or update_status):
                ret['result'] = True
    Severity: Critical
    Found in salt/states/zabbix_mediatype.py - About 2 hrs to fix

      Function absent has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
      Open

      def absent(name, **kwargs):
          '''
          Ensures that the mediatype does not exist, eventually deletes the mediatype.
      
          :param name: name of the mediatype
      Severity: Minor
      Found in salt/states/zabbix_mediatype.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

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

          if not mediatype_exists:
              ret['result'] = True
              ret['comment'] = comment_mediatype_notexists
          else:
              try:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 4 other locations - About 1 day to fix
      salt/states/zabbix_host.py on lines 389..405
      salt/states/zabbix_hostgroup.py on lines 144..160
      salt/states/zabbix_user.py on lines 403..419
      salt/states/zabbix_usergroup.py on lines 235..251

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

      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 int(mediatype) == 100 and 'username' in kwargs and 'passwd' in kwargs and 'exec_path' in kwargs:
                  if (int(mediatype) != int(mediatypeobj['type']) or
                          kwargs['username'] != mediatypeobj['username'] or
                          kwargs['passwd'] != mediatypeobj['passwd'] or
                          kwargs['exec_path'] != mediatypeobj['exec_path']):
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 7 hrs to fix
      salt/states/zabbix_mediatype.py on lines 91..96

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

      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 int(mediatype) == 0 and 'smtp_server' in kwargs and 'smtp_helo' in kwargs and 'smtp_email' in kwargs:
                  if (int(mediatype) != int(mediatypeobj['type']) or
                          kwargs['smtp_server'] != mediatypeobj['smtp_server'] or
                          kwargs['smtp_email'] != mediatypeobj['smtp_email'] or
                          kwargs['smtp_helo'] != mediatypeobj['smtp_helo']):
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 7 hrs to fix
      salt/states/zabbix_mediatype.py on lines 140..145

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

      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 'exec_params' in kwargs:
              if isinstance(kwargs['exec_params'], list):
                  kwargs['exec_params'] = '\n'.join(kwargs['exec_params'])+'\n'
              else:
                  kwargs['exec_params'] = six.text_type(kwargs['exec_params'])+'\n'
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 4 hrs to fix
      salt/states/zabbix_usermacro.py on lines 74..78

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

      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 __opts__['test']:
              if mediatype_exists:
                  if update_status:
                      ret['result'] = None
                      ret['comment'] = comment_mediatype_updated
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 4 hrs to fix
      salt/states/zabbix_usermacro.py on lines 96..107

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

      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 update_script:
                      updated_script = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                           type=mediatype,
                                                                           exec_path=kwargs['exec_path'],
                                                                           **connection_args)
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 4 hrs to fix
      salt/states/zabbix_mediatype.py on lines 256..264

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

      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 update_sms:
                      updated_sms = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                        type=mediatype,
                                                                        gsm_modem=kwargs['gsm_modem'],
                                                                        **connection_args)
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 4 hrs to fix
      salt/states/zabbix_mediatype.py on lines 237..245

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

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

                  if update_script_params:
                      updated_script_params = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                                  exec_params=kwargs['exec_params'],
                                                                                  **connection_args)
                      if 'error' in updated_script_params:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 9 other locations - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 189..196
      salt/states/zabbix_mediatype.py on lines 198..205
      salt/states/zabbix_mediatype.py on lines 207..214
      salt/states/zabbix_mediatype.py on lines 216..223
      salt/states/zabbix_mediatype.py on lines 290..297
      salt/states/zabbix_usergroup.py on lines 126..133
      salt/states/zabbix_usergroup.py on lines 135..142
      salt/states/zabbix_usergroup.py on lines 144..151
      salt/states/zabbix_usergroup.py on lines 153..160

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

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

                  if update_email_security:
                      updated_email_security = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                                   smtp_security=kwargs['smtp_security'],
                                                                                   **connection_args)
                      if 'error' in updated_email_security:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 9 other locations - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 189..196
      salt/states/zabbix_mediatype.py on lines 207..214
      salt/states/zabbix_mediatype.py on lines 216..223
      salt/states/zabbix_mediatype.py on lines 247..254
      salt/states/zabbix_mediatype.py on lines 290..297
      salt/states/zabbix_usergroup.py on lines 126..133
      salt/states/zabbix_usergroup.py on lines 135..142
      salt/states/zabbix_usergroup.py on lines 144..151
      salt/states/zabbix_usergroup.py on lines 153..160

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

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

                  if update_email_verify_host:
                      updated_email_verify_host = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                                      smtp_verify_host=kwargs['smtp_verify_host'],
                                                                                      **connection_args)
                      if 'error' in updated_email_verify_host:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 9 other locations - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 189..196
      salt/states/zabbix_mediatype.py on lines 198..205
      salt/states/zabbix_mediatype.py on lines 207..214
      salt/states/zabbix_mediatype.py on lines 247..254
      salt/states/zabbix_mediatype.py on lines 290..297
      salt/states/zabbix_usergroup.py on lines 126..133
      salt/states/zabbix_usergroup.py on lines 135..142
      salt/states/zabbix_usergroup.py on lines 144..151
      salt/states/zabbix_usergroup.py on lines 153..160

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

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

                  if update_email_port:
                      updated_email_port = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                               smtp_port=kwargs['smtp_port'],
                                                                               **connection_args)
                      if 'error' in updated_email_port:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 9 other locations - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 198..205
      salt/states/zabbix_mediatype.py on lines 207..214
      salt/states/zabbix_mediatype.py on lines 216..223
      salt/states/zabbix_mediatype.py on lines 247..254
      salt/states/zabbix_mediatype.py on lines 290..297
      salt/states/zabbix_usergroup.py on lines 126..133
      salt/states/zabbix_usergroup.py on lines 135..142
      salt/states/zabbix_usergroup.py on lines 144..151
      salt/states/zabbix_usergroup.py on lines 153..160

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

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

                  if update_email_verify_peer:
                      updated_email_verify_peer = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                                      smtp_verify_peer=kwargs['smtp_verify_peer'],
                                                                                      **connection_args)
                      if 'error' in updated_email_verify_peer:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 9 other locations - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 189..196
      salt/states/zabbix_mediatype.py on lines 198..205
      salt/states/zabbix_mediatype.py on lines 216..223
      salt/states/zabbix_mediatype.py on lines 247..254
      salt/states/zabbix_mediatype.py on lines 290..297
      salt/states/zabbix_usergroup.py on lines 126..133
      salt/states/zabbix_usergroup.py on lines 135..142
      salt/states/zabbix_usergroup.py on lines 144..151
      salt/states/zabbix_usergroup.py on lines 153..160

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

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

                  if update_status:
                      updated_status = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                           status=kwargs['status'],
                                                                           **connection_args)
                      if 'error' in updated_status:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 9 other locations - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 189..196
      salt/states/zabbix_mediatype.py on lines 198..205
      salt/states/zabbix_mediatype.py on lines 207..214
      salt/states/zabbix_mediatype.py on lines 216..223
      salt/states/zabbix_mediatype.py on lines 247..254
      salt/states/zabbix_usergroup.py on lines 126..133
      salt/states/zabbix_usergroup.py on lines 135..142
      salt/states/zabbix_usergroup.py on lines 144..151
      salt/states/zabbix_usergroup.py on lines 153..160

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

      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 int(mediatype) == 1 and 'exec_path' in kwargs:
                  if (int(mediatype) != int(mediatypeobj['type']) or
                          kwargs['exec_path'] != mediatypeobj['exec_path']):
                      update_script = True
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 129..132

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

      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 int(mediatype) == 2 and 'gsm_modem' in kwargs:
                  if (int(mediatype) != int(mediatypeobj['type']) or
                          kwargs['gsm_modem'] != mediatypeobj['gsm_modem']):
                      update_sms = True
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 120..123

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

      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 'error' in updated_email_auth:
                          error.append(updated_email_auth['error'])
                      else:
                          ret['changes']['smtp_authentication'] = kwargs['smtp_authentication']
                          ret['changes']['username'] = kwargs['username']
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 284..288

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

                      if 'error' in updated_eztext:
                          error.append(updated_eztext['error'])
                      else:
                          ret['changes']['username'] = kwargs['username']
                          ret['changes']['exec_path'] = kwargs['exec_path']
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 3 hrs to fix
      salt/states/zabbix_mediatype.py on lines 231..235

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

          if __opts__['test']:
              if not mediatype_exists:
                  ret['result'] = True
                  ret['comment'] = comment_mediatype_notexists
              else:
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 4 other locations - About 2 hrs to fix
      salt/states/openvswitch_bridge.py on lines 110..118
      salt/states/zabbix_host.py on lines 378..385
      salt/states/zabbix_usergroup.py on lines 224..231
      salt/states/zabbix_usermacro.py on lines 206..213

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

      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 int(mediatype) == 0 and 'smtp_security' in kwargs:
                  if int(kwargs['smtp_security']) != int(mediatypeobj['smtp_security']):
                      update_email_security = True
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 3 other locations - About 2 hrs to fix
      salt/states/zabbix_mediatype.py on lines 98..100
      salt/states/zabbix_mediatype.py on lines 106..108
      salt/states/zabbix_mediatype.py on lines 110..112

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

      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 int(mediatype) == 0 and 'smtp_verify_peer' in kwargs:
                  if int(kwargs['smtp_verify_peer']) != int(mediatypeobj['smtp_verify_peer']):
                      update_email_verify_peer = True
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 3 other locations - About 2 hrs to fix
      salt/states/zabbix_mediatype.py on lines 98..100
      salt/states/zabbix_mediatype.py on lines 102..104
      salt/states/zabbix_mediatype.py on lines 110..112

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

      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 int(mediatype) == 0 and 'smtp_port' in kwargs:
                  if int(kwargs['smtp_port']) != int(mediatypeobj['smtp_port']):
                      update_email_port = True
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 3 other locations - About 2 hrs to fix
      salt/states/zabbix_mediatype.py on lines 102..104
      salt/states/zabbix_mediatype.py on lines 106..108
      salt/states/zabbix_mediatype.py on lines 110..112

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

      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 int(mediatype) == 0 and 'smtp_verify_host' in kwargs:
                  if int(kwargs['smtp_verify_host']) != int(mediatypeobj['smtp_verify_host']):
                      update_email_verify_host = True
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 3 other locations - About 2 hrs to fix
      salt/states/zabbix_mediatype.py on lines 98..100
      salt/states/zabbix_mediatype.py on lines 102..104
      salt/states/zabbix_mediatype.py on lines 106..108

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

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

          if error:
              ret['changes'] = {}
              ret['result'] = False
              ret['comment'] = six.text_type(error)
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 4 other locations - About 1 hr to fix
      salt/states/zabbix_host.py on lines 332..335
      salt/states/zabbix_user.py on lines 347..350
      salt/states/zabbix_usergroup.py on lines 177..180
      salt/states/zabbix_usermacro.py on lines 147..150

      Duplicated Code

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

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

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

      Tuning

      This issue has a mass of 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 2 locations. Consider refactoring.
      Open

                      updated_email = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                          type=mediatype,
                                                                          smtp_server=kwargs['smtp_server'],
                                                                          smtp_helo=kwargs['smtp_helo'],
                                                                          smtp_email=kwargs['smtp_email'],
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 1 hr to fix
      salt/states/zabbix_mediatype.py on lines 278..282

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

      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

                      updated_eztext = __salt__['zabbix.mediatype_update'](mediatypeid,
                                                                           type=mediatype,
                                                                           username=kwargs['username'],
                                                                           passwd=kwargs['passwd'],
                                                                           exec_path=kwargs['exec_path'],
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 1 other location - About 1 hr to fix
      salt/states/zabbix_mediatype.py on lines 176..180

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

      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 'status' in kwargs:
                  if int(kwargs['status']) != int(mediatypeobj['status']):
                      update_status = True
      Severity: Major
      Found in salt/states/zabbix_mediatype.py and 3 other locations - About 55 mins to fix
      salt/states/zabbix_usergroup.py on lines 77..79
      salt/states/zabbix_usergroup.py on lines 81..83
      salt/states/zabbix_usergroup.py on lines 101..103

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

      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