2025-03-18 09:40:22 +00:00
{% extends 'base.html' %}
{% block content %}
{% from '_helpers.html' import render_field %}
< script src = "{{url_for('static_content', group='js', filename='tabs.js')}}" defer > < / script >
< div class = "edit-form monospaced-textarea" >
< div class = "tabs collapsable" >
< ul >
< li class = "tab" id = "" > < a href = "#url-list" > URL List< / a > < / li >
< li class = "tab" > < a href = "#distill-io" > Distill.io< / a > < / li >
< li class = "tab" > < a href = "#xlsx" > .XLSX & Wachete< / a > < / li >
< / ul >
< / div >
< div class = "box-wrap inner" >
< form class = "pure-form" action = "{{url_for('imports.import_page')}}" method = "POST" enctype = "multipart/form-data" >
< input type = "hidden" name = "csrf_token" value = "{{ csrf_token() }}" >
< div class = "tab-pane-inner" id = "url-list" >
2025-03-22 21:48:01 +00:00
< div class = "pure-control-group" >
2025-03-18 09:40:22 +00:00
Enter one URL per line, and optionally add tags for each URL after a space, delineated by comma
(,):
< br >
2025-03-22 21:48:01 +00:00
< p > < strong > Example: < / strong > < code > https://example.com tag1, tag2, last tag< / code > < / p >
2025-03-18 09:40:22 +00:00
URLs which do not pass validation will stay in the textarea.
2025-03-22 21:48:01 +00:00
< / div >
2025-03-18 09:40:22 +00:00
{{ render_field(form.processor, class="processor") }}
2025-03-22 21:48:01 +00:00
< div class = "pure-control-group" >
2025-03-18 09:40:22 +00:00
< textarea name = "urls" class = "pure-input-1-2" placeholder = "https://"
style="width: 100%;
font-family:monospace;
white-space: pre;
overflow-wrap: normal;
overflow-x: scroll;" rows="25">{{ import_url_list_remaining }}< / textarea >
2025-03-22 21:48:01 +00:00
< / div >
< div id = "quick-watch-processor-type" > < / div >
2025-03-18 09:40:22 +00:00
< / div >
< div class = "tab-pane-inner" id = "distill-io" >
2025-03-22 21:48:01 +00:00
< div class = "pure-control-group" >
2025-03-18 09:40:22 +00:00
Copy and Paste your Distill.io watch 'export' file, this should be a JSON file.< br >
This is < i > experimental< / i > , supported fields are < code > name< / code > , < code > uri< / code > , < code > tags< / code > , < code > config:selections< / code > , the rest (including < code > schedule< / code > ) are ignored.
< br >
< p >
How to export? < a href = "https://distill.io/docs/web-monitor/how-export-and-import-monitors/" > https://distill.io/docs/web-monitor/how-export-and-import-monitors/< / a > < br >
Be sure to set your default fetcher to Chrome if required.< br >
< / p >
2025-03-22 21:48:01 +00:00
< / div >
2025-03-18 09:40:22 +00:00
< textarea name = "distill-io" class = "pure-input-1-2" style = "width: 100 % ;
font-family:monospace;
white-space: pre;
overflow-wrap: normal;
overflow-x: scroll;" placeholder="Example Distill.io JSON export file
{
" client" : {
" local" : 1
},
" data" : [
{
" name" : " Unraid | News" ,
" uri" : " https://unraid.net/blog" ,
" config" : " {\" selections\" :[{\" frames\" :[{\" index\" :0,\" excludes\" :[],\" includes\" :[{\" type\" :\" xpath\" ,\" expr\" :\" (//div[@id='App']/div[contains(@class,'flex')]/main[contains(@class,'relative')]/section[contains(@class,'relative')]/div[@class='container']/div[contains(@class,'flex')]/div[contains(@class,'w-full')])[1]\" }]}],\" dynamic\" :true,\" delay\" :2}],\" ignoreEmptyText\" :true,\" includeStyle\" :false,\" dataAttr\" :\" text\" }" ,
" tags" : [],
" content_type" : 2,
" state" : 40,
" schedule" : " {\" type\" :\" INTERVAL\" ,\" params\" :{\" interval\" :4447}}" ,
" ts" : " 2022-03-27T15:51:15.667Z"
}
]
}
" rows="25">{{ original_distill_json }}< / textarea >
< / div >
< div class = "tab-pane-inner" id = "xlsx" >
< fieldset >
< div class = "pure-control-group" >
{{ render_field(form.xlsx_file, class="processor") }}
< / div >
< div class = "pure-control-group" >
{{ render_field(form.file_mapping, class="processor") }}
< / div >
< / fieldset >
< div class = "pure-control-group" >
< span class = "pure-form-message-inline" >
Table of custom column and data types mapping for the < strong > Custom mapping< / strong > File mapping type.
< / span >
< table style = "border: 1px solid #aaa; padding: 0.5rem; border-radius: 4px;" >
< tr >
< td > < strong > Column #< / strong > < / td >
{% for n in range(4) %}
< td > < input type = "number" name = "custom_xlsx[col_{{n}}]" style = "width: 4rem;" min = "1" > < / td >
{% endfor %}
< / tr >
< tr >
< td > < strong > Type< / strong > < / td >
{% for n in range(4) %}
< td > < select name = "custom_xlsx[col_type_{{n}}]" >
< option value = "" style = "color: #aaa" > -- none --< / option >
< option value = "url" > URL< / option >
< option value = "title" > Title< / option >
< option value = "include_filters" > CSS/xPath filter< / option >
< option value = "tag" > Group / Tag name(s)< / option >
< option value = "interval_minutes" > Recheck time (minutes)< / option >
< / select > < / td >
{% endfor %}
< / tr >
< / table >
< / div >
< / div >
< button type = "submit" class = "pure-button pure-input-1-2 pure-button-primary" > Import< / button >
< / form >
< / div >
< / div >
{% endblock %}