@@ -378,7 +378,7 @@ func GetUnDecompressAttachments() ([]*Attachment, error) { | |||
func getUnDecompressAttachments(e Engine) ([]*Attachment, error) { | |||
attachments := make([]*Attachment, 0, 10) | |||
return attachments, e.Where("decompress_state = ? and dataset_id != 0 and attachment.type = ? and name like '%.zip'", DecompressStateInit, TypeCloudBrainOne).Find(&attachments) | |||
return attachments, e.Where("decompress_state = ? and dataset_id != 0 and attachment.type = ? and (name like '%.zip' or name like '%.tar.gz' or name like '%.tgz')", DecompressStateInit, TypeCloudBrainOne).Find(&attachments) | |||
} | |||
func GetAllPublicAttachments() ([]*AttachmentUsername, error) { | |||
@@ -13,8 +13,8 @@ const ( | |||
DecompressTaskName = "Decompress" | |||
) | |||
func SendDecompressTask(ctx context.Context, uuid string) error { | |||
args := []tasks.Arg{{Name: "uuid", Type: "string", Value: uuid}} | |||
func SendDecompressTask(ctx context.Context, uuid string, name string) error { | |||
args := []tasks.Arg{{Name: "uuid", Type: "string", Value: uuid}, {Name: "name", Type: "string", Value: name}} | |||
task, err := tasks.NewSignature(DecompressTaskName, args) | |||
if err != nil { | |||
log.Error("NewSignature failed:", err.Error()) | |||
@@ -1640,22 +1640,31 @@ function showfilelist(){ | |||
var htmlstr=""; | |||
for (var i=0;i<labeltastresult.length;i++){ | |||
var fname = labeltastresult[i].pic_image_field.substring(labeltastresult[i].pic_image_field.lastIndexOf('/') + 1); | |||
if(labeltastresult[i].pic_image_field.length > 70){ | |||
var tmpIndex = labeltastresult[i].pic_image_field.indexOf("/",70); | |||
console.log(tmpIndex) | |||
if(tmpIndex != -1){ | |||
fname = labeltastresult[i].pic_image_field.substring(tmpIndex + 1); | |||
fname = fname.substring(fname.indexOf('/')+1); | |||
} | |||
} | |||
var isfinished = labeltastresult[i].label_status; | |||
if(isVerified()){ | |||
isfinished = labeltastresult[i].verify_status - 1; | |||
} | |||
if(isVerified()){ | |||
isfinished = labeltastresult[i].verify_status - 1; | |||
} | |||
var lablebg=" style=\"cursor:pointer\""; | |||
var classStr = "style=\"color:#FF6200;background: transparent;border: 0;\""; | |||
var finish="未完成"; | |||
if (isfinished=="0"){finish="已完成";classStr = "style=\"color:#27c24c;background: transparent;border: 0;\"";} | |||
if (i==fileindex){lablebg=" style=\"color:#fff;cursor:pointer;\"";classStr = "style=\"color:#04B3E5;background: transparent;border: 0;\"";finish="标注中"} | |||
if(isVerified()){ | |||
htmlstr = htmlstr+"<tr onclick=\"clickfilelist("+i+");\""+ lablebg+"> <td width=\"70\"" +"style=\"vertical-align:middle\""+ classStr + ">"+"<button"+classStr+" type=\"button\" onclick=\"changeVerifyStatus("+i+");\" style=\"border:none;background:none\">"+finish +"</button>"+"</td><td>"+ fname+ "</td></tr>"; | |||
}else{ | |||
htmlstr = htmlstr+"<tr onclick=\"clickfilelist("+i+");\""+lablebg+"><td>"+fname+"</td><td width=\"110\""+"style=\"vertical-align:middle\">"+"<button onclick=\"changeStatus("+i+");\" "+ classStr +" style=\"border:none;background:none\">"+finish +"</button>"+"</td></tr>"; | |||
} | |||
if(isVerified()){ | |||
htmlstr = htmlstr+"<tr onclick=\"clickfilelist("+i+");\""+ lablebg+"> <td width=\"70\"" +"style=\"vertical-align:middle\""+ classStr + ">"+"<button"+classStr+" type=\"button\" onclick=\"changeVerifyStatus("+i+");\" style=\"border:none;background:none\">"+finish +"</button>"+"</td><td>"+ fname+ "</td></tr>"; | |||
}else{ | |||
htmlstr = htmlstr+"<tr onclick=\"clickfilelist("+i+");\""+lablebg+"><td>"+fname+"</td><td width=\"110\""+"style=\"vertical-align:middle\">"+"<button onclick=\"changeStatus("+i+");\" "+ classStr +" style=\"border:none;background:none\">"+finish +"</button>"+"</td></tr>"; | |||
} | |||
}; | |||
} | |||
document.getElementById("filelist").innerHTML=htmlstr; | |||
} | |||
@@ -318,7 +318,7 @@ function label_task_create(task_name, relate_task_id, taskType,assign_user_id,la | |||
success:function(res){ | |||
console.log(res); | |||
if(res.code == 0){ | |||
alert("人工校验任务创建成功!"); | |||
alert("人工标注任务创建成功!"); | |||
createsucced = true; | |||
} | |||
else{ | |||
@@ -384,9 +384,9 @@ func AddAttachment(ctx *context.Context) { | |||
} | |||
if attachment.DatasetID != 0 { | |||
if strings.HasSuffix(attachment.Name, ".zip") { | |||
if isCanDecompress(attachment.Name) { | |||
if typeCloudBrain == models.TypeCloudBrainOne { | |||
err = worker.SendDecompressTask(contexExt.Background(), uuid) | |||
err = worker.SendDecompressTask(contexExt.Background(), uuid, attachment.Name) | |||
if err != nil { | |||
log.Error("SendDecompressTask(%s) failed:%s", uuid, err.Error()) | |||
} else { | |||
@@ -406,6 +406,13 @@ func AddAttachment(ctx *context.Context) { | |||
}) | |||
} | |||
func isCanDecompress(name string) bool { | |||
if strings.HasSuffix(name, ".zip") || strings.HasSuffix(name, ".tar.gz") || strings.HasSuffix(name, ".tgz") { | |||
return true | |||
} | |||
return false | |||
} | |||
func UpdateAttachmentDecompressState(ctx *context.Context) { | |||
uuid := ctx.Query("uuid") | |||
result := ctx.Query("result") | |||
@@ -766,9 +773,9 @@ func CompleteMultipart(ctx *context.Context) { | |||
} | |||
if attachment.DatasetID != 0 { | |||
if strings.HasSuffix(attachment.Name, ".zip") { | |||
if isCanDecompress(attachment.Name) { | |||
if typeCloudBrain == models.TypeCloudBrainOne { | |||
err = worker.SendDecompressTask(contexExt.Background(), uuid) | |||
err = worker.SendDecompressTask(contexExt.Background(), uuid, attachment.Name) | |||
if err != nil { | |||
log.Error("SendDecompressTask(%s) failed:%s", uuid, err.Error()) | |||
} else { | |||
@@ -838,7 +845,7 @@ func HandleUnDecompressAttachment() { | |||
} | |||
for _, attach := range attachs { | |||
err = worker.SendDecompressTask(contexExt.Background(), attach.UUID) | |||
err = worker.SendDecompressTask(contexExt.Background(), attach.UUID, attach.Name) | |||
if err != nil { | |||
log.Error("SendDecompressTask(%s) failed:%s", attach.UUID, err.Error()) | |||
} else { | |||
@@ -39,7 +39,8 @@ func DeleteAllUnzipFile(attachment *models.Attachment, parentDir string) { | |||
uuid := attachment.UUID | |||
dirArray := strings.Split(parentDir, "/") | |||
if !strings.HasSuffix(attachment.Name, ".zip") { | |||
//if !strings.HasSuffix(attachment.Name, ".zip") { | |||
if !isCanDecompress(attachment.Name) { | |||
log.Error("The file is not zip file, can not query the dir") | |||
return | |||
} else if attachment.DecompressState != models.DecompressStateDone { | |||
@@ -69,7 +70,7 @@ func DeleteAllUnzipFile(attachment *models.Attachment, parentDir string) { | |||
log.Info("fileName=" + fileInfo.FileName) | |||
log.Info("parentDir=" + fileInfo.ParenDir) | |||
if fileInfo.IsDir { | |||
DeleteAllUnzipFile(attachment, fileInfo.FileName) | |||
DeleteAllUnzipFile(attachment, fileInfo.ParenDir) | |||
} else { | |||
absolutepath := path.Join(attachment.RelativePath()+attachment.UUID, fileInfo.ParenDir) | |||
log.Info("absolutepath=" + absolutepath) | |||
@@ -127,7 +128,8 @@ func DirIndex(ctx *context.Context) { | |||
return | |||
} | |||
if !strings.HasSuffix(attachment.Name, ".zip") { | |||
//if !strings.HasSuffix(attachment.Name, ".zip") { | |||
if !isCanDecompress(attachment.Name) { | |||
log.Error("The file is not zip file, can not query the dir") | |||
ctx.ServerError("The file is not zip file, can not query the dir", errors.New("The file is not zip file, can not query the dir")) | |||
return | |||