IL2HorusTeam/il2fb-game-log-parser

View on GitHub

Showing 141 of 141 total issues

File events.py has 2976 lines of code (exceeds 250 allowed). Consider refactoring.
Open

# coding: utf-8
"""
Data structures for events.

"""
Severity: Major
Found in il2fb/parsers/game_log/events.py - About 1 wk to fix

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

    def get_ai_aircraft_transformer(dst_field_name, src_field_prefix=None):
        if not src_field_prefix:
            src_field_prefix = dst_field_name
    
        flight_field_name = '{0}_flight'.format(src_field_prefix)
    Severity: Major
    Found in il2fb/parsers/game_log/transformers.py and 1 other location - About 5 hrs to fix
    il2fb/parsers/game_log/transformers.py on lines 162..175

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

    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

    def get_moving_unit_member_transformer(dst_field_name, src_field_prefix=None):
        if not src_field_prefix:
            src_field_prefix = dst_field_name
    
        moving_unit_field_name = '{0}_moving_unit'.format(src_field_prefix)
    Severity: Major
    Found in il2fb/parsers/game_log/transformers.py and 1 other location - About 5 hrs to fix
    il2fb/parsers/game_log/transformers.py on lines 83..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 87.

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

    class AIAircraftWasShotDownByAIAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by r01001 and r01002 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class AIAircraftWasShotDownByAIAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by r01001 and User0:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class AIAircraftWasShotDownByHumanAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by User0:Bf-109G-2 and User1:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997

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

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

    class HumanAircraftWasShotDownByHumanAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by User1:Bf-109G-2 and User2:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftWasShotDownByAIAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by r01000 and r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftWasShotDownByAIAircraftAndHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by r01000 and User1:Bf-109G-2 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class AIAircraftWasShotDownByHumanAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 shot down by User0:Bf-109G-2 and r01001 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 902..928
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftWasShotDownByHumanAircraftAndAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by User1:Bf-109G-2 and r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 7 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 872..898
    il2fb/parsers/game_log/events.py on lines 932..958
    il2fb/parsers/game_log/events.py on lines 962..988
    il2fb/parsers/game_log/events.py on lines 2911..2937
    il2fb/parsers/game_log/events.py on lines 2941..2967
    il2fb/parsers/game_log/events.py on lines 2971..2997
    il2fb/parsers/game_log/events.py on lines 3001..3027

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

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

    class HumanAircraftWasShotDownByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] User0:Pe-8 shot down by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class StationaryUnitWasDestroyedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Static destroyed by 1_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BridgeWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM]  Bridge0 destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BridgeWasDestroyedByAIAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM]  Bridge0 destroyed by r01000 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftCrewMemberWasKilledInParachuteByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000(0) was killed in his chute by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class BuildingWasDestroyedByMovingUnit(ParsableEvent):
        """
        Examples:
    
            "[8:33:05 PM] 3do/Buildings/Finland/CenterHouse1_w/live.sim destroyed by 0_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitWasDestroyedByMovingUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief destroyed by 1_Chief at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class MovingUnitWasDestroyedByHumanAircraft(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] 0_Chief destroyed by User0:Pe-8 at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2551..2575
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

    class AIAircraftWasDamagedByStationaryUnit(ParsableEvent):
        """
        Example:
    
            "[8:33:05 PM] r01000 damaged by 0_Static at 100.0 200.99"
    Severity: Major
    Found in il2fb/parsers/game_log/events.py and 75 other locations - About 3 hrs to fix
    il2fb/parsers/game_log/events.py on lines 243..267
    il2fb/parsers/game_log/events.py on lines 592..616
    il2fb/parsers/game_log/events.py on lines 620..644
    il2fb/parsers/game_log/events.py on lines 648..672
    il2fb/parsers/game_log/events.py on lines 676..700
    il2fb/parsers/game_log/events.py on lines 704..728
    il2fb/parsers/game_log/events.py on lines 732..756
    il2fb/parsers/game_log/events.py on lines 760..784
    il2fb/parsers/game_log/events.py on lines 788..812
    il2fb/parsers/game_log/events.py on lines 816..840
    il2fb/parsers/game_log/events.py on lines 844..868
    il2fb/parsers/game_log/events.py on lines 1148..1172
    il2fb/parsers/game_log/events.py on lines 1176..1200
    il2fb/parsers/game_log/events.py on lines 1204..1228
    il2fb/parsers/game_log/events.py on lines 1232..1256
    il2fb/parsers/game_log/events.py on lines 1260..1284
    il2fb/parsers/game_log/events.py on lines 1288..1312
    il2fb/parsers/game_log/events.py on lines 1316..1340
    il2fb/parsers/game_log/events.py on lines 1344..1368
    il2fb/parsers/game_log/events.py on lines 1372..1396
    il2fb/parsers/game_log/events.py on lines 1400..1424
    il2fb/parsers/game_log/events.py on lines 1428..1452
    il2fb/parsers/game_log/events.py on lines 1456..1480
    il2fb/parsers/game_log/events.py on lines 1484..1508
    il2fb/parsers/game_log/events.py on lines 1512..1536
    il2fb/parsers/game_log/events.py on lines 1540..1564
    il2fb/parsers/game_log/events.py on lines 1568..1593
    il2fb/parsers/game_log/events.py on lines 1597..1622
    il2fb/parsers/game_log/events.py on lines 1626..1651
    il2fb/parsers/game_log/events.py on lines 1655..1680
    il2fb/parsers/game_log/events.py on lines 1684..1709
    il2fb/parsers/game_log/events.py on lines 1911..1935
    il2fb/parsers/game_log/events.py on lines 1939..1963
    il2fb/parsers/game_log/events.py on lines 1967..1991
    il2fb/parsers/game_log/events.py on lines 1995..2019
    il2fb/parsers/game_log/events.py on lines 2023..2047
    il2fb/parsers/game_log/events.py on lines 2051..2075
    il2fb/parsers/game_log/events.py on lines 2079..2103
    il2fb/parsers/game_log/events.py on lines 2107..2131
    il2fb/parsers/game_log/events.py on lines 2135..2159
    il2fb/parsers/game_log/events.py on lines 2163..2187
    il2fb/parsers/game_log/events.py on lines 2191..2215
    il2fb/parsers/game_log/events.py on lines 2219..2243
    il2fb/parsers/game_log/events.py on lines 2247..2271
    il2fb/parsers/game_log/events.py on lines 2275..2299
    il2fb/parsers/game_log/events.py on lines 2303..2327
    il2fb/parsers/game_log/events.py on lines 2331..2355
    il2fb/parsers/game_log/events.py on lines 2359..2383
    il2fb/parsers/game_log/events.py on lines 2387..2411
    il2fb/parsers/game_log/events.py on lines 2415..2439
    il2fb/parsers/game_log/events.py on lines 2443..2467
    il2fb/parsers/game_log/events.py on lines 2523..2547
    il2fb/parsers/game_log/events.py on lines 2579..2603
    il2fb/parsers/game_log/events.py on lines 2607..2631
    il2fb/parsers/game_log/events.py on lines 2635..2659
    il2fb/parsers/game_log/events.py on lines 2771..2795
    il2fb/parsers/game_log/events.py on lines 2799..2823
    il2fb/parsers/game_log/events.py on lines 2827..2851
    il2fb/parsers/game_log/events.py on lines 2855..2879
    il2fb/parsers/game_log/events.py on lines 2883..2907
    il2fb/parsers/game_log/events.py on lines 3057..3081
    il2fb/parsers/game_log/events.py on lines 3085..3109
    il2fb/parsers/game_log/events.py on lines 3113..3137
    il2fb/parsers/game_log/events.py on lines 3141..3165
    il2fb/parsers/game_log/events.py on lines 3169..3193
    il2fb/parsers/game_log/events.py on lines 3197..3221
    il2fb/parsers/game_log/events.py on lines 3225..3249
    il2fb/parsers/game_log/events.py on lines 3253..3277
    il2fb/parsers/game_log/events.py on lines 3281..3305
    il2fb/parsers/game_log/events.py on lines 3309..3333
    il2fb/parsers/game_log/events.py on lines 3337..3361
    il2fb/parsers/game_log/events.py on lines 3365..3389
    il2fb/parsers/game_log/events.py on lines 3393..3417
    il2fb/parsers/game_log/events.py on lines 3421..3445
    il2fb/parsers/game_log/events.py on lines 3449..3473

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

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

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

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

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

    Refactorings

    Further Reading

    Severity
    Category
    Status
    Source
    Language