import re

_COMMON_WORDS_SIMPLE = [
    'at',
    'av',
    'ble',
    'da',
    'de',
    'den',
    'det',
    'du',
    'er',
    'et',
    'en',
    'etter',
    'for',
    'fra',
    'hadde',
    'han',
    'har',
    'hun',
    'ikke',
    'jeg',
    'kan',
    'nå',
    'må',
    'litt',
    'med',
    'men',
    'og',
    'om',
    'på',
    'seg',
    'som',
    'så',
    'til',
    'ut',
    'var',
    'vi',
    'vil',
    'å',
    'hva',
    'ha',
    'meg',
    'blir',
    'skal',
    'se',
    'deg',
    'eller',
]

COMMON_WORDS = list(map(lambda s: '\\b{}\\b'.format(s), _COMMON_WORDS_SIMPLE))
wordcloud_blacklist = dict(zip(COMMON_WORDS, [' '] * len(COMMON_WORDS)))


def clean_words(text):
    remove = '|'.join(COMMON_WORDS)
    return _replace_all(text.lower(), remove, sub_with=" ")


def clean_characters(text):
    return re.sub(' +', ' ', re.compile("[^\w']|_").sub(' ', text))


def _replace_all(text, remove, sub_with=" "):
    regex = re.compile(r'(' + remove + r')', flags=re.IGNORECASE)
    return re.sub(' +', ' ', regex.sub(sub_with, regex.sub(sub_with, text)))


def camel_case_clean(identifier):
    matches = re.finditer('.+?(?:(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])|$)', identifier)
    return ' '.join([m.group(0) for m in matches])

@@ -56,24 +56,36 @@
 %0A    'ble',%0A
+    'blir',%0A
     'da',%0A  
@@ -88,24 +88,35 @@
 ,%0A    'de',%0A
+    'deg',%0A
     'den',%0A 
@@ -135,16 +135,39 @@
   'du',%0A
+    'eller',%0A    'en',%0A
     'er'
@@ -178,26 +178,16 @@
   'et',%0A
-    'en',%0A
     'ett
@@ -209,24 +209,34 @@
 %0A    'fra',%0A
+    'ha',%0A
     'hadde',
@@ -278,12 +278,11 @@
    '
-ikke
+hva
 ',%0A 
@@ -311,10 +311,11 @@
    '
-n%C3%A5
+med
 ',%0A 
@@ -319,25 +319,26 @@
 ,%0A    'm
-%C3%A5
+eg
 ',%0A    '
 litt',%0A 
@@ -333,12 +333,11 @@
    '
-litt
+men
 ',%0A 
@@ -341,26 +341,25 @@
 ,%0A    'm
-ed
+%C3%A5
 ',%0A    '
 men',%0A  
@@ -342,35 +342,34 @@
 %0A    'm%C3%A5',%0A    '
-me
 n
+%C3%A5
 ',%0A    'og',%0A   
@@ -381,24 +381,34 @@
 ,%0A    'p%C3%A5',%0A
+    'se',%0A
     'seg',%0A 
@@ -402,24 +402,36 @@
 %0A    'seg',%0A
+    'skal',%0A
     'som',%0A 
@@ -505,98 +505,8 @@
 %C3%A5',%0A
-    'hva',%0A    'ha',%0A    'meg',%0A    'blir',%0A    'skal',%0A    'se',%0A    'deg',%0A    'eller',%0A
 %5D%0A%0AC

Tweak blacklisted words