marvin_general_actions.marvinMorning()   A
last analyzed

Complexity

Conditions 4

Size

Total Lines 29
Code Lines 21

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 10
CRAP Score 4

Importance

Changes 0
Metric Value
cc 4
eloc 21
nop 1
dl 0
loc 29
ccs 10
cts 10
cp 1
crap 4
rs 9.376
c 0
b 0
f 0
1
#! /usr/bin/env python3
2
# -*- coding: utf-8 -*-
3
4
"""
5
Make general actions for Marvin, one function for each action.
6
"""
7 1
import datetime
8 1
import random
9
10 1
lastDateGreeted = None
11
12
13 1
def getAllGeneralActions():
14
    """
15
    Return all general actions as an array.
16
    """
17
    return [
18
        marvinMorning
19
    ]
20
21
22 1
def marvinMorning(row):
23
    """
24
    Marvin says Good morning after someone else says it
25
    """
26 1
    msg = None
27 1
    phrases = [
28
        "morgon",
29
        "godmorgon",
30
        "god morgon",
31
        "morrn",
32
        "morn"
33
    ]
34
35 1
    morning_phrases = [
36
        "Godmorgon! :-)",
37
        "Morgon allesammans",
38
        "Morgon gott folk",
39
        "Guten morgen",
40
        "Morgon"
41
    ]
42
43
    global lastDateGreeted
44
45 1
    for phrase in phrases:
46 1
        if phrase in row:
47 1
            if lastDateGreeted != datetime.date.today():
48 1
                lastDateGreeted = datetime.date.today()
49 1
                msg = random.choice(morning_phrases)
50
    return msg
51