Code Duplication    Length = 58-58 lines in 2 locations

libs/displayname.py 2 locations

@@ 135-192 (lines=58) @@
132
        # Check if role exists - and if not throw an error, if so, throw a diff error
133
        amember = roleForName(name, server)
134
        if amember:
135
            # We at least have a member
136
            return { "Role" : amember, "Int" : None }
137
        else:
138
            # Now we check if we got an ID instead
139
            # Get just the numbers
140
            memID = ''.join(list(filter(str.isdigit, name)))
141
            newMem = roleForID(memID, server)
142
            if newMem:
143
                # We FOUND it!
144
                return { "Role" : newMem, "Int" : None }
145
            else:
146
                # Nothing was right about this...
147
                return { "Role" : None, "Int" : None }
148
    try:
149
        # Let's cast the last item as an int and catch any exceptions
150
        theInt = int(theList[len(theList)-1])
151
        newMemberName = " ".join(theList[:-1])
152
        amember = roleForName(newMemberName, server)
153
        if amember:
154
            return { "Role" : amember, "Int" : theInt }
155
        else:
156
            # Now we check if we got an ID instead
157
            # Get just the numbers
158
            memID = ''.join(list(filter(str.isdigit, newMemberName)))
159
            newMem = roleForID(memID, server)
160
            if newMem:
161
                # We FOUND it!
162
                return { "Role" : newMem, "Int" : theInt }
163
            else:
164
                # Nothing was right about this...
165
                return { "Role" : None, "Int" : None }
166
    except ValueError:
167
        # Last section wasn't an int
168
        amember = roleForName(name, server)
169
        if amember:
170
            # Name was just a role - return
171
            return { "Role" : amember, "Int" : None }
172
        else:
173
            # Now we check if we got an ID instead
174
            # Get just the numbers
175
            memID = ''.join(list(filter(str.isdigit, name)))
176
            newMem = roleForID(memID, server)
177
            if newMem:
178
                # We FOUND it!
179
                return { "Role" : newMem, "Int" : None }
180
            else:
181
                # Nothing was right about this...
182
                return { "Role" : None, "Int" : None }
183
    # Should never get here
184
    return None
185
@@ 76-133 (lines=58) @@
73
        # Check if member exists - and if not throw an error, if so, throw a diff error
74
        amember = memberForName(name, server)
75
        if amember:
76
            # We at least have a member
77
            return { "Member" : amember, "Int" : None }
78
        else:
79
            # Now we check if we got an ID instead
80
            # Get just the numbers
81
            memID = ''.join(list(filter(str.isdigit, name)))
82
            newMem = memberForID(memID, server)
83
            if newMem:
84
                # We FOUND it!
85
                return { "Member" : newMem, "Int" : None }
86
            else:
87
                # Nothing was right about this...
88
                return { "Member" : None, "Int" : None }
89
    try:
90
        # Let's cast the last item as an int and catch any exceptions
91
        theInt = int(theList[len(theList)-1])
92
        newMemberName = " ".join(theList[:-1])
93
        amember = memberForName(newMemberName, server)
94
        if amember:
95
            return { "Member" : amember, "Int" : theInt }
96
        else:
97
            # Now we check if we got an ID instead
98
            # Get just the numbers
99
            memID = ''.join(list(filter(str.isdigit, newMemberName)))
100
            newMem = memberForID(memID, server)
101
            if newMem:
102
                # We FOUND it!
103
                return { "Member" : newMem, "Int" : theInt }
104
            else:
105
                # Nothing was right about this...
106
                return { "Member" : None, "Int" : None }
107
    except ValueError:
108
        # Last section wasn't an int
109
        amember = memberForName(name, server)
110
        if amember:
111
            # Name was just a member - return
112
            return { "Member" : amember, "Int" : None }
113
        else:
114
            # Now we check if we got an ID instead
115
            # Get just the numbers
116
            memID = ''.join(list(filter(str.isdigit, name)))
117
            newMem = memberForID(memID, server)
118
            if newMem:
119
                # We FOUND it!
120
                return { "Member" : newMem, "Int" : None }
121
            else:
122
                # Nothing was right about this...
123
                return { "Member" : None, "Int" : None }
124
    # Should never get here
125
    return None
126
127
def checkRoleForInt(name, server):
128
    theList = name.split()
129
    # We see if we have multiple parts split by a space
130
    if len(theList)<2:
131
        # Only one part - no int included (or not separated by space)
132
        # Check if role exists - and if not throw an error, if so, throw a diff error
133
        amember = roleForName(name, server)
134
        if amember:
135
            # We at least have a member
136
            return { "Role" : amember, "Int" : None }