Minor changes: coding style and thread safety

This commit is contained in:
sanjana 2018-01-07 09:59:32 +05:30
parent 40d0fbd0f7
commit 3ad3a0e73e
3 changed files with 8 additions and 23 deletions

View File

@ -19,13 +19,6 @@ class BlurCaptcha extends CaptchaProvider {
challenge challenge
} }
def checkAnswer(token: String, input: String): Boolean = { def checkAnswer(token: String, input: String): Boolean = {
if(tokenAnswer(token)==input) tokenAnswer(token) == input
{
true
}
else
{
false
}
} }
} }

View File

@ -12,7 +12,9 @@ class FilterCaptcha extends CaptchaProvider {
val n = 8 val n = 8
val answer = Stream.continually(r.nextInt(alphabet.size)).map(alphabet).take(n).mkString val answer = Stream.continually(r.nextInt(alphabet.size)).map(alphabet).take(n).mkString
val token = scala.util.Random.nextInt(10000).toString val token = scala.util.Random.nextInt(10000).toString
tokenAnswer += token -> answer tokenAnswer += synchronized {
token -> answer
}
val canvas = new BufferedImage(225, 50, BufferedImage.TYPE_INT_RGB) val canvas = new BufferedImage(225, 50, BufferedImage.TYPE_INT_RGB)
val g = canvas.createGraphics() val g = canvas.createGraphics()
g.setColor(Color.WHITE) g.setColor(Color.WHITE)
@ -28,14 +30,7 @@ class FilterCaptcha extends CaptchaProvider {
challenge challenge
} }
def checkAnswer(token: String, input: String): Boolean = { def checkAnswer(token: String, input: String): Boolean = {
if(tokenAnswer(token)==input) tokenAnswer(token) == input
{
true
}
else
{
false
}
} }
} }

View File

@ -43,19 +43,16 @@ class LabelCaptcha extends CaptchaProvider {
val userAnswer = input.split(' ') val userAnswer = input.split(' ')
if(userAnswer(0)==expectedAnswer) { if(userAnswer(0)==expectedAnswer) {
val unknownFile = tokenImagePair(token).unknown val unknownFile = tokenImagePair(token).unknown
if((unknownAnswers(unknownFile)).contains(userAnswer(1))) if((unknownAnswers(unknownFile)).contains(userAnswer(1))) {
{
unknownAnswers(unknownFile)(userAnswer(1)) += 1 unknownAnswers(unknownFile)(userAnswer(1)) += 1
total(unknownFile) += 1 total(unknownFile) += 1
} }
else else {
{
unknownAnswers(unknownFile)+=(userAnswer(1)) -> 1 unknownAnswers(unknownFile)+=(userAnswer(1)) -> 1
total(unknownFile) += 1 total(unknownFile) += 1
} }
if(total(unknownFile)>=3) { if(total(unknownFile)>=3) {
if((unknownAnswers(unknownFile)(userAnswer(1))/total(unknownFile))>=0.9) if((unknownAnswers(unknownFile)(userAnswer(1))/total(unknownFile))>=0.9) {
{
unknownAnswers -= unknownFile unknownAnswers -= unknownFile
Files.move(new File("unknown/"+unknownFile).toPath, new File("known/"+userAnswer(1)+".png").toPath, StandardCopyOption.REPLACE_EXISTING) Files.move(new File("unknown/"+unknownFile).toPath, new File("known/"+userAnswer(1)+".png").toPath, StandardCopyOption.REPLACE_EXISTING)
knownFiles = new File("known").list.toList knownFiles = new File("known").list.toList