fix the fucking sort; so much for testing
This commit is contained in:
parent
c2a6bf36a7
commit
cc77967644
1 changed files with 13 additions and 10 deletions
|
|
@ -756,7 +756,7 @@ end
|
|||
###############################################################
|
||||
|
||||
def group_subject_sort(subj)
|
||||
print "Sorting articles\n"
|
||||
#print "Sorting articles\n"
|
||||
serverhash = {}
|
||||
for i in (0...@serverlist.length)
|
||||
serverhash[@serverlist[i]] = i
|
||||
|
|
@ -768,16 +768,18 @@ def group_subject_sort(subj)
|
|||
print "subj sort #{@groups[subj]["ids"][i]}\n" if Debuglevel > 2
|
||||
print "subj sort #{@groups[subj]["servers"][i]}\n" if Debuglevel > 2
|
||||
sort_arr += [ [
|
||||
@groups[subj]["subject"][i],
|
||||
@groups[subj]["messages"][i],
|
||||
@groups[subj]["ids"][i],
|
||||
@groups[subj]["servers"][i]
|
||||
@groups[subj]["subject"][i].dup,
|
||||
@groups[subj]["messages"][i].dup,
|
||||
@groups[subj]["ids"][i].dup,
|
||||
@groups[subj]["servers"][i].dup
|
||||
] ]
|
||||
end
|
||||
sort_arr.sort!{|a,b|
|
||||
r = ward_sort(a[0], b[0])
|
||||
r = serverhash[a[3]] <=> serverhash[b[3]] if r ==0
|
||||
return r
|
||||
if r == 0
|
||||
r = serverhash[a[3]] <=> serverhash[b[3]]
|
||||
end
|
||||
r
|
||||
}
|
||||
@groups[subj].clear
|
||||
sort_arr.collect{|i|
|
||||
|
|
@ -795,13 +797,14 @@ def group_subject_sort(subj)
|
|||
print "subject sort: #{i[0]}\n" if Debuglevel > 2
|
||||
print "server: #{i[3]}\n" if Debuglevel > 2
|
||||
}
|
||||
#print "Done sorting\n"
|
||||
end
|
||||
|
||||
def ward_sort(a, b)
|
||||
c = a.to_s.split(/([0-9]+)/)
|
||||
d = b.to_s.split(/([0-9]+)/)
|
||||
|
||||
for x in c
|
||||
c.collect{|x|
|
||||
y = d.shift
|
||||
r = ((x.to_s =~ /^[0-9]+$/) && (y.to_s =~ /^[0-9]+$/)) ?
|
||||
(x.to_i <=> y.to_i) :
|
||||
|
|
@ -809,8 +812,8 @@ def ward_sort(a, b)
|
|||
if r != 0
|
||||
return r
|
||||
end
|
||||
end
|
||||
return -1 if (d)
|
||||
}
|
||||
return -1 if (d != [])
|
||||
return 0
|
||||
end
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue