@ngld :
I checked again, there is a problem which causes the data to stay in BtA Demo/BtA Demo :
DEBUG:MainThread:qt.<module>: Using Qt API PySide.
DEBUG:MainThread:util.call: Running ['7z', '-h']
INFO:Thread-3:util.get: Retrieving "http://dev.tproxy.de/knossos/version"...
WARNING:Thread-2:tasks.work: File "BTA_DEMO_Patch_1_1.7z" for mod "Between the Ashes: Mefistofele" (BTA_Demo) is missing during uninstall!
WARNING:Thread-2:tasks.work: File "BtA Demo/mod.ini" for mod "Between the Ashes: Mefistofele" (BTA_Demo) is missing during uninstall!
WARNING:Thread-2:tasks.work: File "BtA Demo/BTA_DEMO_Root.vp" for mod "Between the Ashes: Mefistofele" (BTA_Demo) is missing during uninstall!
WARNING:Thread-2:tasks.work: File "BtA Demo/BTA_DEMO_Assets2.vp" for mod "Between the Ashes: Mefistofele" (BTA_Demo) is missing during uninstall!
WARNING:Thread-2:tasks.work: File "BtA Demo/BTA_DEMO_Assets1.vp" for mod "Between the Ashes: Mefistofele" (BTA_Demo) is missing during uninstall!
WARNING:Thread-2:tasks.work: File "BtA Demo/bta.bmp" for mod "Between the Ashes: Mefistofele" (BTA_Demo) is missing during uninstall!
DEBUG:Thread-2:progress._next_step: Entering step 1 of 3 in task InstallTask.
DEBUG:Thread-7:progress._next_step: Entering step 2 of 3 in task InstallTask.
INFO:Thread-7:util.download: Downloading "http://www.lunardigitalproductions.com/bta/downloads/demo/BTA_DEMO_Assets2.7z"...
DEBUG:Thread-7:util.call: Running ['7z', 'x', '-o/tmp/tmpZontl3/content', u'/tmp/tmpZontl3/BTA_DEMO_Assets2.7z']
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=fr_FR.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: /tmp/tmpZontl3/BTA_DEMO_Assets2.7z
Extracting BtA Demo/BTA_DEMO_Assets2.vp
Extracting BtA Demo
Everything is Ok
Folders: 1
Files: 1
Size: 361232708
Compressed: 203056300
DEBUG:Thread-7:tasks.work2: Creating path "/home/loris/FreeSpace 2 beta/BtA Demo/"...
DEBUG:Thread-7:tasks.work2: Creating path "/home/loris/FreeSpace 2 beta/BtA Demo/BtA Demo"...
DEBUG:Thread-7:tasks.work2: Moving "/tmp/tmpZontl3/content/BtA Demo/BTA_DEMO_Assets2.vp" to "/home/loris/FreeSpace 2 beta/BtA Demo/BtA Demo/BTA_DEMO_Assets2.vp"...
INFO:Thread-7:util.download: Downloading "http://www.lunardigitalproductions.com/bta/downloads/demo/BTA_DEMO_Assets1.7z"...
DEBUG:Thread-7:util.call: Running ['7z', 'x', '-o/tmp/tmpPwJQqv/content', u'/tmp/tmpPwJQqv/BTA_DEMO_Assets1.7z']
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=fr_FR.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: /tmp/tmpPwJQqv/BTA_DEMO_Assets1.7z
Extracting BtA Demo/BTA_DEMO_Assets1.vp
Extracting BtA Demo
Everything is Ok
Folders: 1
Files: 1
Size: 536321828
Compressed: 135848477
DEBUG:Thread-7:tasks.work2: Moving "/tmp/tmpPwJQqv/content/BtA Demo/BTA_DEMO_Assets1.vp" to "/home/loris/FreeSpace 2 beta/BtA Demo/BtA Demo/BTA_DEMO_Assets1.vp"...
INFO:Thread-7:util.download: Downloading "http://www.lunardigitalproductions.com/bta/downloads/demo/BTA_DEMO_Root.7z"...
DEBUG:Thread-7:util.call: Running ['7z', 'x', '-o/tmp/tmpRuEXPa/content', u'/tmp/tmpRuEXPa/BTA_DEMO_Root.7z']
7-Zip [64] 9.20 Copyright (c) 1999-2010 Igor Pavlov 2010-11-18
p7zip Version 9.20 (locale=fr_FR.UTF-8,Utf16=on,HugeFiles=on,8 CPUs)
Processing archive: /tmp/tmpRuEXPa/BTA_DEMO_Root.7z
Extracting BtA Demo/bta.bmp
Extracting BtA Demo/mod.ini
Extracting BtA Demo/BTA_DEMO_Root.vp
Extracting BtA Demo/data
Extracting BtA Demo
Everything is Ok
Folders: 2
Files: 3
Size: 57822374
Compressed: 21822457
DEBUG:Thread-7:tasks.work2: Moving "/tmp/tmpRuEXPa/content/BtA Demo/BTA_DEMO_Root.vp" to "/home/loris/FreeSpace 2 beta/BtA Demo/BtA Demo/BTA_DEMO_Root.vp"...
DEBUG:Thread-7:tasks.work2: Moving "/tmp/tmpRuEXPa/content/BtA Demo/mod.ini" to "/home/loris/FreeSpace 2 beta/BtA Demo/BtA Demo/mod.ini"...
DEBUG:Thread-7:tasks.work2: Moving "/tmp/tmpRuEXPa/content/BtA Demo/bta.bmp" to "/home/loris/FreeSpace 2 beta/BtA Demo/BtA Demo/bta.bmp"...
DEBUG:Thread-7:tasks.work2: Creating path "/home/loris/FreeSpace 2 beta/BtA Demo/BtA Demo/data"...
DEBUG:Thread-7:progress._next_step: Entering step 3 of 3 in task InstallTask.
WARNING:Thread-4:progress.work: Either we still have some work to do (unlikely) or there are still some other threads running (2).
ERROR:Thread-7:progress.run: Exception in Thread!
Traceback (most recent call last):
File "/home/loris/knossos-develop/lib/progress.py", line 120, in run
task[0].work(*task[1])
File "/home/loris/knossos-develop/lib/progress.py", line 380, in work
self._steps[self._cur_step][1](arg)
File "/home/loris/knossos-develop/lib/tasks.py", line 366, in work3
path_prefix = glob.escape(path_prefix)
AttributeError: 'module' object has no attribute 'escape'
DEBUG:Thread-7:progress._next_step: Entering step 4 of 3 in task InstallTask.
@mjn.mixael & ngld :
I'm not sure if knossos uses mod.ini or dependencies from the JSON data in this case. I have already have "mediavps_3612".
@m!m :
I'm not strictly enforcing dependency validity in Nebula, but the good practice would be to rely on the dependency autocompletion to add these, just to make sure the ID and packages are right.
I think it would be a bad practice not to register dependencies in the right order (thus temporarily registering non existing deps), but to me that's modders decision, and should be possible as long as they know what they do (and add the missing deps quickly).