OCA/l10n-italy

View on GitHub

Showing 1,161 of 1,161 total issues

Function check_ddt_data has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
Open

    def check_ddt_data(self, ddts):
        carriage_condition_id = False
        goods_description_id = False
        transportation_reason_id = False
        transportation_method_id = False
Severity: Minor
Found in l10n_it_ddt/wizard/ddt_create_invoice.py - About 2 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 _compute_weight has a Cognitive Complexity of 16 (exceeds 5 allowed). Consider refactoring.
Open

    def _compute_weight(self):
        res = super(StockPickingPackagePreparation, self)._compute_weight()
        if not self.package_id:
            quants = self.env['stock.quant']
            for picking in self.picking_ids:
Severity: Minor
Found in l10n_it_ddt/models/stock_picking_package_preparation.py - About 2 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

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

class StockPickingCarriageCondition(models.Model):

    _name = "stock.picking.carriage_condition"
    _description = "Carriage Condition"

Severity: Major
Found in l10n_it_ddt/models/stock_picking_package_preparation.py and 3 other locations - About 2 hrs to fix
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 26..33
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 36..43
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 46..53

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

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

class StockPickingTransportationMethod(models.Model):

    _name = 'stock.picking.transportation_method'
    _description = 'Method of Transportation'

Severity: Major
Found in l10n_it_ddt/models/stock_picking_package_preparation.py and 3 other locations - About 2 hrs to fix
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 16..23
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 26..33
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 36..43

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

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

class StockPickingTransportationReason(models.Model):

    _name = 'stock.picking.transportation_reason'
    _description = 'Reason for Transportation'

Severity: Major
Found in l10n_it_ddt/models/stock_picking_package_preparation.py and 3 other locations - About 2 hrs to fix
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 16..23
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 26..33
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 46..53

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

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

class StockPickingGoodsDescription(models.Model):

    _name = 'stock.picking.goods_description'
    _description = "Description of Goods"

Severity: Major
Found in l10n_it_ddt/models/stock_picking_package_preparation.py and 3 other locations - About 2 hrs to fix
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 16..23
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 36..43
l10n_it_ddt/models/stock_picking_package_preparation.py on lines 46..53

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

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

Function _BuildAutomaton_13 has 52 lines of code (exceeds 25 allowed). Consider refactoring.
Open

def _BuildAutomaton_13 ():
    # Remove this helper function from the namespace after it is invoked
    global _BuildAutomaton_13
    del _BuildAutomaton_13
    import pyxb.utils.fac as fac
Severity: Major
Found in l10n_it_fatturapa/bindings/_ds.py - About 2 hrs to fix

    Function test_e_invoice_ddt has 52 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

        def test_e_invoice_ddt(self):
            # 2 ordini, 2 DDT e 1 fattura differita
            self.so1 = self.env['sale.order'].create({
                'partner_id': self.res_partner_fatturapa_2.id,
                'partner_invoice_id': self.res_partner_fatturapa_2.id,
    Severity: Major
    Found in l10n_it_fatturapa_out_ddt/tests/test_fatturapa_ddt.py - About 2 hrs to fix

      File account.py has 251 lines of code (exceeds 250 allowed). Consider refactoring.
      Open

      # -*- coding: utf-8 -*-
      ##############################################################################
      #
      #    Copyright (C) 2012 Andrea Cometa.
      #    Email: info@andreacometa.it
      Severity: Minor
      Found in l10n_it_ricevute_bancarie/models/account/account.py - About 2 hrs to fix

        Consider simplifying this complex logical expression.
        Open

                    if fattura.partner_id:
                        fattura.cedente_IdFiscaleIVA_IdPaese = \
                            fattura.partner_id.country_id.code or ''
                        fattura.cedente_IdFiscaleIVA_IdCodice = \
                            fattura.partner_id.vat[2:] if fattura.partner_id.vat \
        Severity: Critical
        Found in l10n_it_invoices_data_communication/models/communication.py - About 2 hrs to fix

          Function _BuildAutomaton_19 has 50 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

          def _BuildAutomaton_19 ():
              # Remove this helper function from the namespace after it is invoked
              global _BuildAutomaton_19
              del _BuildAutomaton_19
              import pyxb.utils.fac as fac
          Severity: Minor
          Found in l10n_it_fatturapa/bindings/binding.py - About 2 hrs to fix

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

                    if partner.vat:
                        fatturapa.FatturaElettronicaHeader.RappresentanteFiscale. \
                            DatiAnagrafici.IdFiscaleIVA = IdFiscaleType(
                                IdPaese=partner.vat[0:2].upper(), IdCodice=partner.vat[2:])
            Severity: Major
            Found in l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py and 2 other locations - About 2 hrs to fix
            l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py on lines 377..380
            l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py on lines 440..445

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

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

                    if partner.vat:
                        fatturapa.FatturaElettronicaHeader. \
                            TerzoIntermediarioOSoggettoEmittente. \
                            DatiAnagrafici.IdFiscaleIVA = IdFiscaleType(
                                IdPaese=partner.vat[0:2].upper(),
            Severity: Major
            Found in l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py and 2 other locations - About 2 hrs to fix
            l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py on lines 377..380
            l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py on lines 413..416

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

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

                    if partner.vat:
                        fatturapa.FatturaElettronicaHeader.CessionarioCommittente. \
                            DatiAnagrafici.IdFiscaleIVA = IdFiscaleType(
                                IdPaese=partner.vat[0:2].upper(), IdCodice=partner.vat[2:])
            Severity: Major
            Found in l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py and 2 other locations - About 2 hrs to fix
            l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py on lines 413..416
            l10n_it_fatturapa_out/wizard/wizard_export_fatturapa.py on lines 440..445

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

            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

            Function _BuildAutomaton_21 has 49 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

            def _BuildAutomaton_21 ():
                # Remove this helper function from the namespace after it is invoked
                global _BuildAutomaton_21
                del _BuildAutomaton_21
                import pyxb.utils.fac as fac
            Severity: Minor
            Found in l10n_it_fatturapa/bindings/binding.py - About 1 hr to fix

              Function _BuildAutomaton_37 has 48 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

              def _BuildAutomaton_37 ():
                  # Remove this helper function from the namespace after it is invoked
                  global _BuildAutomaton_37
                  del _BuildAutomaton_37
                  import pyxb.utils.fac as fac
              Severity: Minor
              Found in l10n_it_fatturapa/bindings/binding.py - About 1 hr to fix

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

                    def _get_account_mappings(self, cr, uid, fyc, mapping, context):
                        """
                        Transforms the mapping dictionary on a list of mapping lines.
                        """
                        account_mappings = []
                Severity: Minor
                Found in account_fiscal_year_closing/fyc.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 _export_xml_get_dte has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
                Open

                    def _export_xml_get_dte(self):
                        # ----- 2 - DTE
                        x_2_dte = etree.Element(
                            etree.QName("DTE"))
                        # -----     2.1 - Cedente Prestatore DTE
                Severity: Minor
                Found in l10n_it_invoices_data_communication/models/communication.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 action_move_create has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
                Open

                    def action_move_create(self):
                        """Append global rounding move lines"""
                        res = super(AccountInvoice, self).action_move_create()
                        for invoice in self:
                            if invoice.efatt_rounding != 0:
                Severity: Minor
                Found in l10n_it_fatturapa_in/models/account.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 _prepareWelfareLine has a Cognitive Complexity of 15 (exceeds 5 allowed). Consider refactoring.
                Open

                    def _prepareWelfareLine(self, invoice_id, line):
                        TipoCassa = line.TipoCassa or False
                        AlCassa = line.AlCassa and (float(line.AlCassa)/100) or None
                        ImportoContributoCassa = (
                            line.ImportoContributoCassa and
                Severity: Minor
                Found in l10n_it_fatturapa_in/wizard/wizard_import_fatturapa.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

                Severity
                Category
                Status
                Source
                Language