Skip to content

Commit

Permalink
Add levenshtein distance function
Browse files Browse the repository at this point in the history
  • Loading branch information
Leticia-maria committed Jun 8, 2024
1 parent 72f5a0c commit 647d891
Show file tree
Hide file tree
Showing 2 changed files with 103 additions and 29 deletions.
33 changes: 4 additions & 29 deletions src/readdata.jl
Original file line number Diff line number Diff line change
Expand Up @@ -82,33 +82,6 @@ for key in keys(res)
end
end

basis0 = Dict(keys0 .=> v0)
basis1 = Dict(keys1 .=> v1)

comparison0 = []
comparison1 = []

file0 = open("diffV0.txt", "w")
file1 = open("diffV1.txt", "w")

for i in eachindex(keys0)
#println(cmp(lowercase(keys0[i]), lowercase(v0[i])))
push!(comparison0, cmp(lowercase(keys0[i]), lowercase(v0[i])))
if cmp(lowercase(keys0[i]), lowercase(v0[i])) != 0
println("$(keys0[i]) != $(v0[i])")
write(file0, "$(lowercase(keys0[i])) != $(lowercase(v0[i]))\n")
end
end

for i in eachindex(keys1)
#println(cmp(lowercase(keys0[i]), lowercase(v0[i])))
push!(comparison1, cmp(lowercase(keys1[i]), lowercase(v1[i])))
if cmp(lowercase(keys1[i]), lowercase(v1[i])) != 0
println("$(keys1[i]) != $(v1[i])")
write(file1, "$(lowercase(keys1[i])) != $(lowercase(v1[i]))\n")
end
end

function _getversionfile(keys, v, filename)

basis = Dict(keys .=> v)
Expand All @@ -117,7 +90,6 @@ function _getversionfile(keys, v, filename)
file = open(filename, "w")

for i in eachindex(keys)
#println(cmp(lowercase(keys[i]), lowercase(v[i])))
push!(comparison, cmp(lowercase(keys[i]), lowercase(v[i])))

if cmp(lowercase(keys[i]), lowercase(v[i])) != 0
Expand All @@ -127,4 +99,7 @@ function _getversionfile(keys, v, filename)
end

close(file)
end
end

_getversionfile(keys0, v0, "diffV0.txt")
_getversionfile(keys1, v1, "diffV1.txt")
99 changes: 99 additions & 0 deletions src/readdata_new.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
using JSON
using JSON3

root = pwd()

println("$(root)/data/METADATA.json")

function readjson(file)
open(file,"r") do f
return JSON.parse(f)
end
end

res = readjson("$(root)/data/METADATA.json")
println(res["cc-pv(5+d)z"])

v0 = []
v1 = []

keys0 = []
keys1 = []

function _getbasename(metadata, key, version)
name = metadata[key]["versions"][version]["file_relpath"]
basename = split(name, ".")[1]

return basename
end

for key in keys(res)
versions = keys(res[key]["versions"])

for version in versions
if version == "0"
push!(keys0, key)
basename = _getbasename(res, key, version)

push!(v0, basename)
else
push!(keys1, key)
basename = _getbasename(res, key, version)

push!(v1, basename)
end
end
end

function _getversionfile(keys, v, filename)

basis = Dict(keys .=> v)
comparison = []

file = open(filename, "w")

for i in eachindex(keys)
push!(comparison, cmp(lowercase(keys[i]), lowercase(v[i])))

if cmp(lowercase(keys[i]), lowercase(v[i])) != 0
println("$(keys[i]) != $(v[i])")
write(file, "$(lowercase(keys[i])) != $(lowercase(v[i]))\n")
end
end

close(file)
end

function levenshtein(guess, correct)
m = length(guess)
n = length(correct)
d = zeros(Int, m+1, n+1)

for i in range(0, m)
d[i+1, 1] = i
end

for j in range(0, n)
d[1, j+1] = j
end

for j in range(1, n)
for i in range(1, m)
if guess[i] == correct[j]
d[i+1, j+1] = d[i, j]
else
d[i+1, j+1] = min(d[i, j+1] + 1, d[i+1, j] + 1, d[i, j] + 1)
end
end
end

return d[m+1, n+1]

end

levenshtein("hello", "hello")


#_getversionfile(keys0, v0, "diffV0.txt")
#_getversionfile(keys1, v1, "diffV1.txt")

0 comments on commit 647d891

Please sign in to comment.