backup-videocourses's Issues
add parameter for verbose console output
default value = false
refactor file path handling
- split PascalCase course names into separate words
- make functions for file path parsing
- eliminate duplicate code
- eliminate dummy delimiters
add metadata to video files
- all variable values
- subtitles
- other metadata from response JSON
add selection menu with Out-ConsoleGridView
add ability to resume partial downloads
clean up variables
- remove non-numeric characters from $courseNumber, $sectionNumber, $lessonNumber variables
- remove non-alphabetic and non-punctuation characters from $courseName, $sectionName, $lessonName variables
- trim and eliminate redundant spaces from all variables
add error handling for download command
Since the downloader is not a PowerShell cmdlet, its errors won't trigger in a try/catch block. Therefore, it'll need something like this to pass its error messages back to PowerShell:
$downloaderStatus = ffmpeg -i ..... 2>&1
Then the contents of $downloaderStatus
can be run through a regex match to determine if it failed, and if so, how.
add "--help" parameter
add optional "CourseName" parameter
default value = "All"
add parameter to choose downloader
- PS Module wrappers for ffmpeg, yt-dlp, etc?
- add error handling and logging
refactor loop logic
- create a new PSCustomObject variable to contain all course data
- on each loop iteration, add a new record to the object with the current values
- pass the completed PSCustomObject to a ForEach-Object loop
- add optional parallelism parameter; default value = 1
add parameter for NestedFolderDepth; integer value from 0 to 3
default value = 3
- case 3:
- create a folder for each AppName, CourseName, and SectionName
- name files "LessonNumber - LessonName"
- case 2:
- create a folder for each AppName and CourseName
- name files "SectionNumber - SectionName - LessonNumber - LessonName"
- case 1:
- create a folder for each AppName
- name files "CourseNumber - CourseName - SectionNumber - SectionName - LessonNumber - LessonName"
- case 0:
- name files "AppName - CourseNumber - CourseName - SectionNumber - SectionName - LessonNumber - LessonName"
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.