mirror of
https://github.com/jellyfin/jellyfin-web.git
synced 2024-11-18 11:28:23 -07:00
e7160955a1
Addition of the option in Auto-Organize to copy or move files from watch folder. Fix to use the Overwrite Existing File option from the config rather than hardcoded value.
192 lines
10 KiB
HTML
192 lines
10 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<title>Auto-Organize</title>
|
|
</head>
|
|
<body>
|
|
<div id="libraryFileOrganizerPage" data-role="page" class="page type-interior organizePage">
|
|
|
|
<div data-role="content">
|
|
<div class="content-primary">
|
|
<div data-role="controlgroup" data-type="horizontal" class="localnav" data-mini="true">
|
|
<a href="autoorganizelog.html" data-role="button">Activity Log</a>
|
|
<a href="#" data-role="button" class="ui-btn-active">TV Settings</a>
|
|
</div>
|
|
|
|
<form class="libraryFileOrganizerForm">
|
|
|
|
<p>Auto-organize monitors your download folders for new files and moves them to your media directories.</p>
|
|
|
|
<p>TV file organizing will only add episodes to existing series. It will not create new series folders.</p>
|
|
<ul data-role="listview" class="ulForm" style="margin-bottom: 0!important;">
|
|
<li>
|
|
<input type="checkbox" id="chkEnableTvSorting" name="chkEnableTvSorting" />
|
|
<label for="chkEnableTvSorting">Enable new episode organization</label>
|
|
</li>
|
|
<li>
|
|
<label for="txtWatchFolder">Watch folder: </label>
|
|
<div style="display: inline-block; width: 92%;">
|
|
<input type="text" id="txtWatchFolder" name="txtWatchFolder" />
|
|
</div>
|
|
<button id="btnSelectWatchFolder" type="button" data-icon="search" data-iconpos="notext" data-inline="true">Select Directory</button>
|
|
<div class="fieldDescription">
|
|
The server will poll this folder during the "Organize new media files" <a href="scheduledtasks.html">scheduled task</a>.
|
|
</div>
|
|
</li>
|
|
<li>
|
|
<label for="txtMinFileSize">Minimum file size (MB): </label>
|
|
<input type="number" id="txtMinFileSize" name="txtMinFileSize" pattern="[0-9]*" required="required" min="0" data-mini="true" />
|
|
<div class="fieldDescription">Files under this size will be ignored.</div>
|
|
</li>
|
|
<li>
|
|
<label for="txtSeasonFolderPattern">Season folder pattern: </label>
|
|
<input type="text" id="txtSeasonFolderPattern" name="txtSeasonFolderPattern" required="required" data-mini="true" />
|
|
<div class="fieldDescription seasonFolderFieldDescription"></div>
|
|
</li>
|
|
<li>
|
|
<label for="txtSeasonZeroName">Season zero folder name: </label>
|
|
<input type="text" id="txtSeasonZeroName" name="txtSeasonZeroName" required="required" data-mini="true" />
|
|
</li>
|
|
</ul>
|
|
<div data-role="collapsible">
|
|
<h3>Episode file pattern</h3>
|
|
<div>
|
|
<br />
|
|
<div>
|
|
<label for="txtEpisodePattern">Episode pattern: </label>
|
|
<input type="text" id="txtEpisodePattern" name="txtEpisodePattern" required="required" data-mini="true" />
|
|
<div class="fieldDescription episodePatternDescription"></div>
|
|
</div>
|
|
<br />
|
|
<div>
|
|
<label for="txtMultiEpisodePattern">Multi-Episode pattern: </label>
|
|
<input type="text" id="txtMultiEpisodePattern" name="txtMultiEpisodePattern" required="required" data-mini="true" />
|
|
<div class="fieldDescription multiEpisodePatternDescription"></div>
|
|
</div>
|
|
|
|
<br />
|
|
<p>Supported Patterns</p>
|
|
|
|
<table data-role="table" id="movie-table" data-mode="reflow" class="ui-responsive">
|
|
<thead>
|
|
<tr>
|
|
<th>Term</th>
|
|
<th>Pattern</th>
|
|
<th>Result</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td>Series name</td>
|
|
<td>%sn</td>
|
|
<td>Series Name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Series name</td>
|
|
<td>%s.n</td>
|
|
<td>Series.Name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Series name</td>
|
|
<td>%s_n</td>
|
|
<td>Series_Name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Season number</td>
|
|
<td>%s</td>
|
|
<td>1</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Season number</td>
|
|
<td>%0s</td>
|
|
<td>01</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Episode number</td>
|
|
<td>%e</td>
|
|
<td>4</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Episode number</td>
|
|
<td>%0e</td>
|
|
<td>04</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ending episode number</td>
|
|
<td>%ed</td>
|
|
<td>5</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Ending episode number</td>
|
|
<td>%0ed</td>
|
|
<td>05</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Episode name</td>
|
|
<td>%en</td>
|
|
<td>Episode Name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Episode name</td>
|
|
<td>%e.n</td>
|
|
<td>Episode.Name</td>
|
|
</tr>
|
|
<tr>
|
|
<td>Episode name</td>
|
|
<td>%e_n</td>
|
|
<td>Episode_Name</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</div>
|
|
</div>
|
|
<br />
|
|
<ul data-role="listview" class="ulForm">
|
|
<li>
|
|
<label for="txtDeleteLeftOverFiles">Episode Copy/Move </label>
|
|
<select name="copyOrMoveFile" id="copyOrMoveFile" data-mini="true">
|
|
<option value="true">Copy</option>
|
|
<option value="false">Move</option>
|
|
</select>
|
|
<div class="fieldDescription">Copy or move files from the "Watch Folder"</div>
|
|
</li>
|
|
<li>
|
|
<input type="checkbox" id="chkOverwriteExistingEpisodes" name="chkOverwriteExistingEpisodes" />
|
|
<label for="chkOverwriteExistingEpisodes">Overwrite existing episodes</label>
|
|
</li>
|
|
<li>
|
|
<label for="txtDeleteLeftOverFiles">Delete left over files with the following extensions: </label>
|
|
<input type="text" id="txtDeleteLeftOverFiles" name="txtDeleteLeftOverFiles" data-mini="true" />
|
|
<div class="fieldDescription">Separate with ;. For example: .nfo;.txt</div>
|
|
</li>
|
|
<li>
|
|
<input type="checkbox" id="chkDeleteEmptyFolders" name="chkDeleteEmptyFolders" />
|
|
<label for="chkDeleteEmptyFolders">Delete empty folders after organizing</label>
|
|
<div class="fieldDescription">Enable this to keep the download directory clean.</div>
|
|
</li>
|
|
</ul>
|
|
|
|
<ul data-role="listview" class="ulForm">
|
|
<li>
|
|
<button type="submit" data-theme="b" data-icon="check" data-mini="true">
|
|
Save
|
|
</button>
|
|
<button type="button" onclick="Dashboard.navigate('dashboard.html');" data-icon="delete" data-mini="true">
|
|
Cancel
|
|
</button>
|
|
</li>
|
|
|
|
</ul>
|
|
</form>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
$('.libraryFileOrganizerForm').off('submit', LibraryFileOrganizerPage.onSubmit).on('submit', LibraryFileOrganizerPage.onSubmit);
|
|
</script>
|
|
</div>
|
|
</body>
|
|
</html>
|