mirror of
https://github.com/Viren070/MediaFusion.git
synced 2025-12-01 23:21:11 +01:00
195 lines
12 KiB
HTML
195 lines
12 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
|
|
<head>
|
|
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<title>Scraper Controls - MediaFusion Stremio Addon</title>
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
|
|
<link href="https://cdn.jsdelivr.net/npm/bootstrap-icons/font/bootstrap-icons.css" rel="stylesheet">
|
|
<link href="/static/css/styles.css" rel="stylesheet">
|
|
<link href="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/css/toastr.min.css" rel="stylesheet"/>
|
|
<link rel="shortcut icon" href="/static/images/mediafusion_logo.png" type="image/x-icon">
|
|
</head>
|
|
|
|
<body>
|
|
<div class="container">
|
|
<div class="row justify-content-center">
|
|
<div class="col-10 col-lg-10 col-md-8 col-sm-10 config-container">
|
|
<img class="logo" src="/static/images/mediafusion_logo.png">
|
|
<h3 class="text-center mb-5"><b>Scraper Controls</b> - Manage Scraping Tasks</h3>
|
|
|
|
<!-- Scraper Selection -->
|
|
<div class="section-container">
|
|
<h4 class="section-header">Scraper Selection</h4>
|
|
<hr class="section-divider">
|
|
<div class="mb-3">
|
|
<label for="scraperSelect" class="form-label">Select Scraper</label>
|
|
<select class="form-select" id="scraperSelect" onchange="updateFormFields()">
|
|
<option value="scrapy">Scrapy Spider</option>
|
|
<option value="add_tv_metadata">Add TV Metadata</option>
|
|
<option value="add_m3u_playlist">Add M3U Playlist</option>
|
|
</select>
|
|
</div>
|
|
|
|
<!-- Dynamic Scraper Parameters -->
|
|
<div id="scraperParameters">
|
|
<!-- Scrapy Parameters -->
|
|
<div id="scrapyParameters" style="display: none;">
|
|
<div class="mb-3">
|
|
<label for="spiderName" class="form-label">Spider Name</label>
|
|
<select class="form-select" id="spiderName" name="spider_name">
|
|
{% for spider_id, spider_name in scrapy_spiders %}
|
|
<option value="{{spider_id}}">{{spider_name}}</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
<!-- Additional Parameters based on Spider Selection -->
|
|
<div id="tamilmvTamilblastersParams" style="display: none;" class="mb-3 mt-4">
|
|
<label><input type="radio" name="mode" value="page_scraping" onchange="toggleModeSpecificFields()"> Page Scraping</label>
|
|
<label><input type="radio" name="mode" value="keyword_search" checked onchange="toggleModeSpecificFields()"> Keyword Search</label>
|
|
|
|
<!-- Keyword Search Input -->
|
|
<div id="keywordSearchInput" class="mb-3" style="display: none;">
|
|
<label for="keyword" class="form-label">Search Keyword</label>
|
|
<input type="text" class="form-control" id="keyword" name="search_keyword">
|
|
</div>
|
|
|
|
<!-- Page Scraping Input -->
|
|
<div id="pageScrapingInput" class="mb-3" style="display: none;">
|
|
<label for="pages" class="form-label">Number of Pages</label>
|
|
<input type="number" class="form-control" id="pages" name="pages" value="1">
|
|
<label for="startPage" class="form-label">Start Page</label>
|
|
<input type="number" class="form-control" id="startPage" name="start_page" value="1">
|
|
|
|
<!-- Scrap Catalog ID Dropdown -->
|
|
<label for="scrapCatalogId" class="form-label">Scrap Catalog ID</label>
|
|
<select class="form-select" id="scrapCatalogId" name="scrap_catalog_id">
|
|
<option value="all">All</option>
|
|
<option value="tamil_hdrip">Tamil HDRip</option>
|
|
<option value="tamil_tcrip">Tamil TCrip</option>
|
|
<option value="tamil_dubbed">Tamil Dubbed</option>
|
|
<option value="tamil_series">Tamil Series</option>
|
|
<option value="malayalam_hdrip">Malayalam HDRip</option>
|
|
<option value="malayalam_tcrip">Malayalam TCrip</option>
|
|
<option value="malayalam_dubbed">Malayalam Dubbed</option>
|
|
<option value="malayalam_series">Malayalam Series</option>
|
|
<option value="telugu_tcrip">Telugu TCrip</option>
|
|
<option value="telugu_hdrip">Telugu HDRip</option>
|
|
<option value="telugu_dubbed">Telugu Dubbed</option>
|
|
<option value="telugu_series">Telugu Series</option>
|
|
<option value="hindi_tcrip">Hindi TCrip</option>
|
|
<option value="hindi_hdrip">Hindi HDRip</option>
|
|
<option value="hindi_dubbed">Hindi Dubbed</option>
|
|
<option value="hindi_series">Hindi Series</option>
|
|
<option value="kannada_tcrip">Kannada TCrip</option>
|
|
<option value="kannada_hdrip">Kannada HDRip</option>
|
|
<option value="kannada_series">Kannada Series</option>
|
|
<option value="english_tcrip">English TCrip</option>
|
|
<option value="english_hdrip">English HDRip</option>
|
|
<option value="english_series">English Series</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div id="scrapeAllOption" class="mb-3" style="display: none;">
|
|
<label><input type="checkbox" name="scrape_all" id="scrape_all"> Scrape All Pages</label>
|
|
</div>
|
|
</div>
|
|
<!-- TV Metadata Input -->
|
|
<div id="tvMetadataInput" style="display: none;">
|
|
<h4 class="section-header">TV Metadata Input</h4>
|
|
<hr class="section-divider">
|
|
<div class="mb-3">
|
|
<label for="title" class="form-label">Title</label>
|
|
<input type="text" class="form-control" id="title" name="title" required>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="poster" class="form-label">Poster URL (Optional)</label>
|
|
<input type="url" class="form-control" id="poster" name="poster">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="logo" class="form-label">Logo URL (Optional)</label>
|
|
<input type="url" class="form-control" id="logo" name="logo">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="background" class="form-label">Background URL (Optional)</label>
|
|
<input type="url" class="form-control" id="background" name="background">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="country" class="form-label">Country (Optional)</label>
|
|
<input type="text" class="form-control" id="country" name="country">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="language" class="form-label">Language (Optional)</label>
|
|
<input type="text" class="form-control" id="language" name="language">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="genreInput" class="form-label">Genres (Optional)</label>
|
|
<div id="genreInputs" class="mb-2"></div>
|
|
<input type="text" class="form-control mb-2" id="genreInput" placeholder="Add genre">
|
|
<button type="button" class="btn btn-secondary" onclick="addGenre()">Add Genre</button>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label class="form-label">Streams</label>
|
|
<div id="streamInputs"></div>
|
|
<button type="button" class="btn btn-primary" onclick="addStreamInput()">Add Stream</button>
|
|
</div>
|
|
</div>
|
|
<div id="m3uPlaylistInput" style="display: none;">
|
|
<div class="mb-3">
|
|
<div>
|
|
<label><input type="radio" name="m3uInputType" value="url" checked> M3U Playlist URL</label>
|
|
<label><input type="radio" name="m3uInputType" value="file"> Upload M3U File</label>
|
|
</div>
|
|
</div>
|
|
<div class="mb-3" id="m3uPlaylistUrlInput">
|
|
<label for="m3uPlaylistUrl" class="form-label">M3U Playlist URL</label>
|
|
<input type="url" class="form-control" id="m3uPlaylistUrl" name="m3uPlaylistUrl">
|
|
</div>
|
|
<div class="mb-3" id="m3uPlaylistFileInput" style="display: none;">
|
|
<label for="m3uPlaylistFile" class="form-label">Upload M3U File</label>
|
|
<input type="file" class="form-control" id="m3uPlaylistFile" name="m3uPlaylistFile" accept=".m3u">
|
|
</div>
|
|
<div class="mb-3">
|
|
<label for="m3uPlaylistSource" class="form-label">Playlist Source Name</label>
|
|
<input type="text" class="form-control" id="m3uPlaylistSource" name="m3uPlaylistSource">
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- API Password Configuration -->
|
|
{% if authentication_required %}
|
|
<div class="section-container">
|
|
<h4 class="section-header">API Security Configuration</h4>
|
|
<hr class="section-divider">
|
|
<div class="mb-3">
|
|
<label for="api_password">API Password:</label>
|
|
<div class="input-group">
|
|
<input class="form-control" type="password" id="api_password" name="api_password" placeholder="Enter API Password">
|
|
<button class="btn btn-outline-secondary" type="button" id="toggleApiPassword">
|
|
<span id="toggleApiPasswordIcon" class="bi bi-eye"></span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="button-container mt-5">
|
|
<button type="button" class="btn btn-primary" onclick="submitScraperForm()">Run Scraper</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- JS for Bootstrap -->
|
|
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.8/dist/umd/popper.min.js"></script>
|
|
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/toastr.js/latest/js/toastr.min.js"></script>
|
|
<script src="/static/js/scraperControl.js"></script>
|
|
</body>
|
|
|
|
</html>
|