mirror of
https://github.com/dgtlmoon/changedetection.io.git
synced 2025-11-25 02:46:16 +00:00
Compare commits
2 Commits
be-sure-di
...
remove-unu
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b57fd92a6d | ||
|
|
4899c1a4f9 |
@@ -384,7 +384,6 @@ class globalSettingsApplicationForm(commonSettingsForm):
|
|||||||
global_subtractive_selectors = StringListField('Remove elements', [ValidateCSSJSONXPATHInput(allow_xpath=False, allow_json=False)])
|
global_subtractive_selectors = StringListField('Remove elements', [ValidateCSSJSONXPATHInput(allow_xpath=False, allow_json=False)])
|
||||||
global_ignore_text = StringListField('Ignore Text', [ValidateListRegex()])
|
global_ignore_text = StringListField('Ignore Text', [ValidateListRegex()])
|
||||||
ignore_whitespace = BooleanField('Ignore whitespace')
|
ignore_whitespace = BooleanField('Ignore whitespace')
|
||||||
real_browser_save_screenshot = BooleanField('Save last screenshot when using Chrome?')
|
|
||||||
removepassword_button = SubmitField('Remove password', render_kw={"class": "pure-button pure-button-primary"})
|
removepassword_button = SubmitField('Remove password', render_kw={"class": "pure-button pure-button-primary"})
|
||||||
empty_pages_are_a_change = BooleanField('Treat empty pages as a change?', default=False)
|
empty_pages_are_a_change = BooleanField('Treat empty pages as a change?', default=False)
|
||||||
render_anchor_tag_content = BooleanField('Render anchor tag content', default=False)
|
render_anchor_tag_content = BooleanField('Render anchor tag content', default=False)
|
||||||
|
|||||||
@@ -42,7 +42,6 @@ class model(dict):
|
|||||||
'notification_title': default_notification_title,
|
'notification_title': default_notification_title,
|
||||||
'notification_body': default_notification_body,
|
'notification_body': default_notification_body,
|
||||||
'notification_format': default_notification_format,
|
'notification_format': default_notification_format,
|
||||||
'real_browser_save_screenshot': True,
|
|
||||||
'schema_version' : 0,
|
'schema_version' : 0,
|
||||||
'webdriver_delay': None # Extra delay in seconds before extracting text
|
'webdriver_delay': None # Extra delay in seconds before extracting text
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -83,6 +83,12 @@ class model(dict):
|
|||||||
|
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def ensure_data_dir_exists(self):
|
||||||
|
target_path = os.path.join(self.__datastore_path, self['uuid'])
|
||||||
|
if not os.path.isdir(target_path):
|
||||||
|
print ("> Creating data dir {}".format(target_path))
|
||||||
|
os.mkdir(target_path)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def label(self):
|
def label(self):
|
||||||
# Used for sorting
|
# Used for sorting
|
||||||
@@ -149,9 +155,7 @@ class model(dict):
|
|||||||
|
|
||||||
output_path = "{}/{}".format(self.__datastore_path, self['uuid'])
|
output_path = "{}/{}".format(self.__datastore_path, self['uuid'])
|
||||||
|
|
||||||
# Incase the operator deleted it, check and create.
|
self.ensure_data_dir_exists()
|
||||||
if not os.path.isdir(output_path):
|
|
||||||
os.mkdir(output_path)
|
|
||||||
|
|
||||||
snapshot_fname = "{}/{}.stripped.txt".format(output_path, uuid.uuid4())
|
snapshot_fname = "{}/{}.stripped.txt".format(output_path, uuid.uuid4())
|
||||||
logging.debug("Saving history text {}".format(snapshot_fname))
|
logging.debug("Saving history text {}".format(snapshot_fname))
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ import threading
|
|||||||
import time
|
import time
|
||||||
import uuid as uuid_builder
|
import uuid as uuid_builder
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
from os import mkdir, path, unlink
|
from os import path, unlink
|
||||||
from threading import Lock
|
from threading import Lock
|
||||||
import re
|
import re
|
||||||
import requests
|
import requests
|
||||||
@@ -324,12 +324,7 @@ class ChangeDetectionStore:
|
|||||||
new_watch.update(apply_extras)
|
new_watch.update(apply_extras)
|
||||||
self.__data['watching'][new_uuid]=new_watch
|
self.__data['watching'][new_uuid]=new_watch
|
||||||
|
|
||||||
# Get the directory ready
|
self.__data['watching'][new_uuid].ensure_data_dir_exists()
|
||||||
output_path = "{}/{}".format(self.datastore_path, new_uuid)
|
|
||||||
try:
|
|
||||||
mkdir(output_path)
|
|
||||||
except FileExistsError:
|
|
||||||
print(output_path, "already exists.")
|
|
||||||
|
|
||||||
if write_to_disk_now:
|
if write_to_disk_now:
|
||||||
self.sync_to_json()
|
self.sync_to_json()
|
||||||
@@ -352,6 +347,8 @@ class ChangeDetectionStore:
|
|||||||
else:
|
else:
|
||||||
target_path = os.path.join(self.datastore_path, watch_uuid, "last-screenshot.png")
|
target_path = os.path.join(self.datastore_path, watch_uuid, "last-screenshot.png")
|
||||||
|
|
||||||
|
self.data['watching'][watch_uuid].ensure_data_dir_exists()
|
||||||
|
|
||||||
with open(target_path, 'wb') as f:
|
with open(target_path, 'wb') as f:
|
||||||
f.write(screenshot)
|
f.write(screenshot)
|
||||||
f.close()
|
f.close()
|
||||||
|
|||||||
@@ -69,12 +69,6 @@
|
|||||||
{{ render_checkbox_field(form.application.form.extract_title_as_title) }}
|
{{ render_checkbox_field(form.application.form.extract_title_as_title) }}
|
||||||
<span class="pure-form-message-inline">Note: This will automatically apply to all existing watches.</span>
|
<span class="pure-form-message-inline">Note: This will automatically apply to all existing watches.</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pure-control-group">
|
|
||||||
{{ render_checkbox_field(form.application.form.real_browser_save_screenshot) }}
|
|
||||||
<span class="pure-form-message-inline">When using a Chrome browser, a screenshot from the last check will be available on the Diff page</span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="pure-control-group">
|
<div class="pure-control-group">
|
||||||
{{ render_checkbox_field(form.application.form.empty_pages_are_a_change) }}
|
{{ render_checkbox_field(form.application.form.empty_pages_are_a_change) }}
|
||||||
<span class="pure-form-message-inline">When a page contains HTML, but no renderable text appears (empty page), is this considered a change?</span>
|
<span class="pure-form-message-inline">When a page contains HTML, but no renderable text appears (empty page), is this considered a change?</span>
|
||||||
|
|||||||
Reference in New Issue
Block a user