Looks like many universities (like University of British Columbia) allocate alumni e-mails to students, so this detection has false positives unfortunately.
This commit is contained in:
parent
89238c5353
commit
32ab15f556
@ -5,3 +5,4 @@ maricopa.edu
|
||||
cet.edu
|
||||
australia.edu
|
||||
alumni.nottingham.ac.uk
|
||||
alumni.cmu.edu
|
||||
|
||||
@ -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<String> {
|
||||
|
||||
@ -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.
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user