From 32ab15f55688a52a301d909103c06c38b65a83e0 Mon Sep 17 00:00:00 2001 From: Maxim Shafirov Date: Thu, 23 Oct 2014 12:57:50 +0400 Subject: [PATCH] Looks like many universities (like University of British Columbia) allocate alumni e-mails to students, so this detection has false positives unfortunately. --- lib/domains/blacklist.txt | 1 + src/swot/Swot.kt | 15 ++------------- test/swot/SwotTest.kt | 11 ----------- 3 files changed, 3 insertions(+), 24 deletions(-) diff --git a/lib/domains/blacklist.txt b/lib/domains/blacklist.txt index 9d05397578..488b6e07dc 100644 --- a/lib/domains/blacklist.txt +++ b/lib/domains/blacklist.txt @@ -5,3 +5,4 @@ maricopa.edu cet.edu australia.edu alumni.nottingham.ac.uk +alumni.cmu.edu diff --git a/src/swot/Swot.kt b/src/swot/Swot.kt index 5b0e6c4887..61b1569e54 100644 --- a/src/swot/Swot.kt +++ b/src/swot/Swot.kt @@ -1,19 +1,8 @@ package swot fun isAcademic(email: String): Boolean { - return when { - email.contains("@alumni."), - email.contains("@alumnus."), - email.contains("@alum") - && email.endsWith(".edu") - && !email.contains("@alumno") - && !email.contains("@alumnes")-> false - - else -> { - val parts = domainParts(email) - !isBlacklisted(parts) && (isUnderTLD(parts) || findSchoolNames(parts).isNotEmpty()) - } - } + val parts = domainParts(email) + return !isBlacklisted(parts) && (isUnderTLD(parts) || findSchoolNames(parts).isNotEmpty()) } fun findSchoolNames(emailOrDomain: String): List { diff --git a/test/swot/SwotTest.kt b/test/swot/SwotTest.kt index 8773a9ebd1..509a3bc8a1 100644 --- a/test/swot/SwotTest.kt +++ b/test/swot/SwotTest.kt @@ -52,15 +52,4 @@ class SwotTest : TestCase() { assertEquals("St. Petersburg State University", findSchoolNames("max@spbu.ru ").single()) assertEquals(0, findSchoolNames("foo@shop.com").size()) } - - fun testAlumniDomains() { - assertTrue(isAcademic("me@alumnes.ub.edu")) // University of Barcelona. Alumnes means students in Catalan - assertTrue(isAcademic("me@alumnos.uva.es")) // In Spanish this means... Students!! - assertTrue(isAcademic("me@alumno.ipn.mx")) // one student (from Mexico) - assertTrue(isAcademic("me@alum.us.es")) // That might be shorter... - assertFalse(isAcademic("me@alum.mit.edu")) // But MIT is neither Spanish nor Catalan entry - assertFalse(isAcademic("me@alumnus.tue.nl")) // In Dutch this means... Graduate!! - assertFalse(isAcademic("me@alumnimail.utdallas.edu")) // Good try. - assertTrue(isAcademic("me@alumail.uji.es")) // Yet this one shall pass. - } }