Skip to content
This repository has been archived by the owner on May 24, 2023. It is now read-only.

Wishlist: Uncompress images before import to disk #16

Open
pasnox opened this issue May 1, 2014 · 5 comments
Open

Wishlist: Uncompress images before import to disk #16

pasnox opened this issue May 1, 2014 · 5 comments

Comments

@pasnox
Copy link
Owner

pasnox commented May 1, 2014

From krypto...@gmail.com on November 20, 2011 14:48:07

Disck images are very large, and normally are compressed using some format (rar, zip, bz2). Uncompress all at one time is needed for importing several images to disk, needing very much disk space.

It would be great if qwbfs do the following algorithm:

  • make temporal folder
    For each compressed image
  • Look the file and determine compressed format
  • uncompress to temporal folder
  • Import to disk
  • remove uncompressed image

This will be very usefull having a large list of images.

If you tell me where that code should be inserted, I could help implementing it.

Thanks.

Original issue: http://code.google.com/p/qwbfs/issues/detail?id=16

@pasnox
Copy link
Owner Author

pasnox commented May 1, 2014

From pasnox on November 22, 2011 10:27:26

Hi,

This will be a great feature, but i doubt to find a portable library for handling such formats ? Maybe 7Zip ?

I'm not yet sure about the place to put the code.
The easier way would be to implement a feature i planned for the next version: abstract file systems so getting informations, reading from, writing to partitions / files can would be virtual and can allow some hook inside their custom implementations.

You can try to contact me directly on irc (irc://irc.freenode.net/monkeystudio), or using my gmail/jabber account, so we may extend this discution.

Status: Accepted
Labels: -Type-Defect Type-Enhancement

@pasnox
Copy link
Owner Author

pasnox commented May 1, 2014

From krypto...@gmail.com on November 26, 2011 18:57:15

I was looking for portable libraries, but I had no success.
7zip is not a library. Indeed, it only has libraries for 7z and lzma formats, for other formats it embeds code from other projects. Take code from all other projects is technically complex and legally risky, there are several licenses.
The most simple solution may be 7zip be a requisite, and call directly "p7zip -d" from application.
Other option is to configure the uncompress tool fior every format supported in application settings, but this option is worst for users.

I notice other great feature: terminal interface.
It would be great can execute something like:
qwbfsmanager -import -d /dev/sde1 image.iso
qwbfsmanager -remove -d /dev/sde1 RDXP99

With these features, qwbfsmanager can be integrated in scripts, and much work can be automatized, even compress and uncompress.

Thanks.

@pasnox
Copy link
Owner Author

pasnox commented May 1, 2014

From pasnox on November 29, 2011 12:11:22

Effectively, we can request user to configure a file to 7zip binary, and use it by running a process, this is most likely the best thing to do.

Regarding your others features, it's good idea !

If u can comes with code, i will take it !
There is a pGetOpt class in the fresh library used by QWBFS Manager, u could use it to parse command line option.

Br,

Owner: pasnox

@pasnox
Copy link
Owner Author

pasnox commented May 1, 2014

From krypto...@gmail.com on December 02, 2011 13:56:44

Excuse me, I have try to write a patch, but I lost between qwbfs and libwbfs.
Using pGetOpt of fresh library, my patch would be something like this:

pGetOpt opt;
const QString imageName = new QString("image");
const QString deviceName = new QString("device");
QString* deviceNameptr;
QString* imageNameptr;
bool isNoGUI;
opt.addOption("i",imageName, imageNameptr);// -iImage.iso OR --image=Image.iso
opt.addOption("d",deviceName, deviceNameptr);// -d/dev/sda1 OR --device=/dev/sda1
opt.addSwitch("nogui", isNoGUI);// --nogui

if((imageNameptr!=null) && (deviceNameptr!=null)){

//Stimated image size?
//There is enough space?

QWBFS::Model::Disc source = new QWBFS::Model::Disc(imageNameptr)

WorkerThread::isoToWBFS( WorkerThread::Task task, &source, deviceNameptr, bool trimWBFS, const QString& invalidChars )

}

if(isNoGUI) return;


But I dont know how to use the dozens of functions with similar names inside qwbfs.

Regrets.

@pasnox
Copy link
Owner Author

pasnox commented May 1, 2014

From pasnox on December 16, 2011 00:40:27

Thanks for the snippet, i will try to check that when i got time.
No problem for the uncompress disk, i will try to look that too ;)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant