Socket
Socket
Sign inDemoInstall

video-clerk

Package Overview
Dependencies
80
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.0.1 to 1.1.0

57

lib/app.js

@@ -67,11 +67,15 @@ const fs = require('fs')

// followed by a season and episode number separated by dots, spaces, or
// hyphens wrapped in spaces. Examples:
// hyphens wrapped in spaces. Two episodes within the same file can be
// specified. Examples:
// - Harley.Quinn.S02E04.720p.mkv
// - Harley Quinn S02E04.mkv
// - Harley Quinn S02E04-E05.mkv
// - Harley Quinn - S02E04.mkv
// - Harley Quinn - S02E04-E05.mkv
// - Peacemaker.2022.S01E02.720p.mkv
// - Peacemaker (2022) S01E02.mkv
// - Peacemaker (2022) S01E02-E03.mkv
// - Peacemaker (2022) - S01E02.mkv
const showTitleRegExp =
/^(.+?)[. ](?:\(?(?:\d{4})\)?(?:[. ]|\s+-\s+))?S(\d\d)E(\d\d)[. ]/i
/^(.+?)[. ](?:\(?(?:\d{4})\)?(?:[. ]|\s+-\s+))?S(\d\d)E(\d\d)(?:-?E(\d\d))?[. ]/i

@@ -86,2 +90,3 @@ // TV show filenames with similar titles are matched to the same TMDb show

let episodeNumber
let secondEpisodeNumber

@@ -104,2 +109,3 @@ let result

episodeNumber = Number(filenameMatch[3])
secondEpisodeNumber = Number(filenameMatch[4])
}

@@ -189,2 +195,3 @@ } else {

let episodeID
let secondEpisodeID

@@ -203,2 +210,14 @@ // Ensure that the episode number matched in the filename exists in

// If a second episode was matched, ensure that the episode number
// matched in the filename exists in the database.
if (secondEpisodeNumber != null) {
const secondEpisodeData = seasonData.episodes.find(
e => e.episode_number === secondEpisodeNumber,
)
if (secondEpisodeData) {
secondEpisodeID = secondEpisodeData.id
}
}
// If the episode number wasn't matched, or if the matched episode

@@ -209,3 +228,5 @@ // number doesn't exist in the database, prompt the user to choose the

episodeNumber = await promptList(
`Unabled to determine episode for ${filename}. Please choose one.`,
`Unabled to determine ${
secondEpisodeNumber != null ? 'first ' : ''
}episode for ${filename}. Please choose one.`,
seasonData.episodes.map(e => ({

@@ -218,2 +239,15 @@ name: `${pad(e.episode_number)} ${e.name}`,

// If the second episode number wasn't matched, or if the matched
// episode number doesn't exist in the database, prompt the user to
// choose the correct episode.
if (secondEpisodeID == null && secondEpisodeNumber != null) {
secondEpisodeNumber = await promptList(
`Unabled to determine second episode for ${filename}. Please choose one.`,
seasonData.episodes.map(e => ({
name: `${pad(e.episode_number)} ${e.name}`,
value: e.episode_number,
})),
)
}
// Remove or replace any invalid path characters in the episode title.

@@ -224,2 +258,11 @@ episodeTitle = scrubTitle(

)
// If a second episode was matched, add its name to the episode title.
if (secondEpisodeID != null) {
episodeTitle += ` & ${scrubTitle(
seasonData.episodes.find(
e => e.episode_number === secondEpisodeNumber,
).name,
)}`
}
}

@@ -261,5 +304,7 @@

`Season ${pad(seasonNumber)}`,
`${title} - S${pad(seasonNumber)}E${pad(
episodeNumber,
)} - ${episodeTitle}${ext}`,
`${title} - S${pad(seasonNumber)}E${pad(episodeNumber)}${
secondEpisodeNumber != null
? `-E${pad(secondEpisodeNumber)}`
: ''
} - ${episodeTitle}${ext}`,
)

@@ -266,0 +311,0 @@

2

package.json
{
"name": "video-clerk",
"version": "1.0.1",
"version": "1.1.0",
"description": "A CLI for organizing movie and TV show files",

@@ -5,0 +5,0 @@ "bin": "lib/index.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc