Progdor2 - folder archiving and file transfering program

Started by LDDestroier, May 23, 2019, 03:04 PM

Previous topic - Next topic

LDDestroier

Now introducing, the complete rewriting of the previous version...

PROGDOR2
Burninating the previous version since 2016

wget https://raw.githubusercontent.com/LDDestroier/CC/master/progdor2.lua
  ...or...
std ld progdor2 progdor2.lua

Progdor2 is a utility that packages folders into archives for easy distribution.
There are several other features, too, such as compression (CCA, thanks to minizbot2012), self-extraction, and modem/HTTP file transferring with Skynet (thanks to Gollark).

(Progdor2 is super useful, I swear!)

Full list of arguments:

Use with
  progdor [options] inputFolder (outputFile) -- Packs
  progdor [options] inputFile (outputFolder) -- Unpacks

Progdor2 files will hereby be called PDR files for brevity's sake. (And I wanna sound more official)

Options:
-pb [pastebin ID] : Unpacks a PDR file from pastebin
 Ex. progdor2 -pb 997dWNX4 theRom
-PB : Uploads a PDR to pastebin
 Ex. progdor2 -PB rom/programs
 Just to let you know, all pastebin uploads are logged at ".progdor_PB_uploads"
-dd [download URL] : Unpacks a PDR from a specified URL.
-e : Adds on self-extract code to a PDR package. They can't be extracted normally, so they must be ran to extract.
 Ex. progdor2 someFolder -e
 Now you can just run 'someFolder' and it'll extract.
-s : Silences all terminal output (unless there's a prompt)
-r : Wait to receive a file from modem/HTTP. Always asks to overwrite. You can optionally specify where the file will download to, if you like.
 Ex. progdor2 -r [path it will download to]
-t : Transmits a file/folder-to-be-packed to any Progdor2 instances currently waiting.
 Ex. progdor2 -t anyFile/anyFolder
-S: Uses Skynet instead of modems for "-r" and "-t". I got around the 64KB limit for Skynet, so don't worry.
 Ex. progdor2 -S -t someFolder
  progdor2 -S -r
-a : Allows other programs to use progdor2.lua as an API.
 Ex. local progdor = loadfile("progdor2.lua")("-a")
-c : Enables CCA compression. This is incompatible with "-e", since the space saving of compression would be lost if the compression algorithm was tacked on, too.
-m : Specifies the main executable inside an archive. Only really useful for other apps that might use PDR archives.
-i : Inspect an archive without extracting it.
-o : Overwrite files without asking. Is negated if you try to overwrite a read-only file/folder, though.


Tell me some tellings in the comments. It gives me validation.

get that BBPack exists, I get it

[attach name=progdor2.txt type=text/plain]83[/attach]
You fell for one of the classic blunders! You used os.pullEvent() on a door lock program!

Missooni

Just an all around great program for packing/unpacking files, would recommend it to anyone.
I've always loved your work— Really nice job making this. ^^
" We are like the spider. We weave our life and then move along in it.
We are like the dreamer, who dreams and then lives in the dream. "
- Aitareya Upanishad

LDDestroier

Quote from: Missooni on Aug 26, 2024, 06:37 PMJust an all around great program for packing/unpacking files, would recommend it to anyone.
I've always loved your work— Really nice job making this. ^^

Thanks! Though someday I should go through my past work and remake them to be a little nicer on the inside. I'm doing that right now with Workspace, but Enchat and Tron really need that.
You fell for one of the classic blunders! You used os.pullEvent() on a door lock program!