@ -1,8 +1,4 @@
import collections
from os import getenv
import os
import uuid as uuid_builder
from changedetectionio . notification import (
from changedetectionio . notification import (
default_notification_body ,
default_notification_body ,
default_notification_format ,
default_notification_format ,
@ -15,16 +11,16 @@ class model(dict):
' watching ' : { } ,
' watching ' : { } ,
' settings ' : {
' settings ' : {
' headers ' : {
' headers ' : {
' User-Agent ' : os. getenv( " DEFAULT_SETTINGS_HEADERS_USERAGENT " , ' Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 ' ) ,
' User-Agent ' : getenv( " DEFAULT_SETTINGS_HEADERS_USERAGENT " , ' Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 ' ) ,
' Accept ' : ' text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 ' ,
' Accept ' : ' text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9 ' ,
' Accept-Encoding ' : ' gzip, deflate ' , # No support for brolti in python requests yet.
' Accept-Encoding ' : ' gzip, deflate ' , # No support for brolti in python requests yet.
' Accept-Language ' : ' en-GB,en-US;q=0.9,en; '
' Accept-Language ' : ' en-GB,en-US;q=0.9,en; '
} ,
} ,
' requests ' : {
' requests ' : {
' timeout ' : int ( os. getenv( " DEFAULT_SETTINGS_REQUESTS_TIMEOUT " , " 45 " ) ) , # Default 45 seconds
' timeout ' : int ( getenv( " DEFAULT_SETTINGS_REQUESTS_TIMEOUT " , " 45 " ) ) , # Default 45 seconds
' time_between_check ' : { ' weeks ' : None , ' days ' : None , ' hours ' : 3 , ' minutes ' : None , ' seconds ' : None } ,
' time_between_check ' : { ' weeks ' : None , ' days ' : None , ' hours ' : 3 , ' minutes ' : None , ' seconds ' : None } ,
' jitter_seconds ' : 0 ,
' jitter_seconds ' : 0 ,
' workers ' : int ( os. getenv( " DEFAULT_SETTINGS_REQUESTS_WORKERS " , " 10 " ) ) , # Number of threads, lower is better for slow connections
' workers ' : int ( getenv( " DEFAULT_SETTINGS_REQUESTS_WORKERS " , " 10 " ) ) , # Number of threads, lower is better for slow connections
' proxy ' : None # Preferred proxy connection
' proxy ' : None # Preferred proxy connection
} ,
} ,
' application ' : {
' application ' : {
@ -33,7 +29,7 @@ class model(dict):
' base_url ' : None ,
' base_url ' : None ,
' extract_title_as_title ' : False ,
' extract_title_as_title ' : False ,
' empty_pages_are_a_change ' : False ,
' empty_pages_are_a_change ' : False ,
' fetch_backend ' : os. getenv( " DEFAULT_FETCH_BACKEND " , " html_requests " ) ,
' fetch_backend ' : getenv( " DEFAULT_FETCH_BACKEND " , " html_requests " ) ,
' global_ignore_text ' : [ ] , # List of text to ignore when calculating the comparison checksum
' global_ignore_text ' : [ ] , # List of text to ignore when calculating the comparison checksum
' global_subtractive_selectors ' : [ ] ,
' global_subtractive_selectors ' : [ ] ,
' ignore_whitespace ' : True ,
' ignore_whitespace ' : True ,