Mercurial Hosting > luan
diff lucene/src/luan/modules/lucene/Lucene.luan @ 761:99356cfde2f0
remove horrible java zip
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Wed, 20 Jul 2016 01:52:20 -0600 |
parents | e1dfeddfbc7b |
children | 50f279d3f889 |
line wrap: on
line diff
--- a/lucene/src/luan/modules/lucene/Lucene.luan Tue Jul 19 19:15:02 2016 -0600 +++ b/lucene/src/luan/modules/lucene/Lucene.luan Wed Jul 20 01:52:20 2016 -0600 @@ -103,13 +103,16 @@ end function index.zip(zip_file) - index.snapshot( function(dir,file_names) - local t = {} + index.snapshot( function(dir_path,file_names) + zip_file.delete() + local zip_path = zip_file.canonical().to_string() + local dir = uri("file:"..dir_path) + local dir_name = dir.name() + local options = {dir=dir.parent()} for _, file_name in ipairs(file_names) do - t[#t+1] = dir.."/"..file_name + local cmd = "zip "..zip_path.." "..dir_name.."/"..file_name + Io.uri("os:"..cmd,options).read_text() end - local base = uri("file:"..dir).parent().to_string() - zip_file.zip(base,t) end ) end @@ -120,7 +123,7 @@ index.zip(before_restore) java_index.close() lucene_dir.delete() - zip_file.unzip(lucene_dir.parent().to_string()) + Io.uri("os:unzip "..zip_file.canonical().to_string(),{dir=lucene_dir.parent()}).read_text() java_index.reopen() end ) end @@ -140,7 +143,9 @@ function Rpc.functions.lucene_restore(password,zip_file) Io.password == password or error "wrong password" - index.restore(zip_file) + local backup_zip = uri("file:"..index.dir).parent().child("backup.zip") + backup_zip.write(zip_file) + index.restore(backup_zip) end else