Commits

tjama committed 77cbbee

updates

Comments (0)

Files changed (3)

config/requirements.txt

 Django==1.5.1
-unipath==1.0
+unipath==1.0
+pyDNS==2.3.6

idealcontact/core/views.py

 from django.views.generic.base import TemplateView
+from django.http import HttpResponse
+
+import json
+from validate_email import validate_email
+from DNS import TimeoutError
 
 
 class IndexView(TemplateView):
     template_name = 'index.html'
 
     def post(self, request):
-        pass
+        F = request.POST['F']
+        L = request.POST['L']
+        C = request.POST['company']
+        E = request.POST['ext']
+        FI = F[0:1]
+        LI = L[0:1]
+        suffix = '@' + C + E
+        data = {'result': 'false'}
+        try:
+            address = F + suffix
+            found = validate_email(address, True, True)
+            if not found:
+                address = L + suffix
+                found = validate_email(address, True, True)
+            if not found:
+                address = F + '.' + L + suffix
+                found = validate_email(address, True, True)
+            if not found:
+                address = FI + L + suffix
+                found = validate_email(address, True, True)
+            if not found:
+                address = F + '_' + L + suffix
+                found = validate_email(address, True, True)
+            if not found:
+                address = FI + '.' + L + suffix
+                found = validate_email(address, True, True)
+            if not found:
+                address = FI + LI + suffix
+                found = validate_email(address, True, True)
+            if found:
+                data['result'] = 'true'
+                data['email'] = address
+        except TimeoutError:
+            data['result'] = 'timeout'
+
+        return HttpResponse(json.dumps(data), content_type="application/json")

idealcontact/idealcontact/templates/index.html

                     <input type="text" id="company" placeholder="Company">
                     <select id="ext">
                         <option>.com</option>
+                        <option>.org</option>
+                        <option>.net</option>
+                        <option>.ac</option>
+                        <option>.ad</option>
+                        <option>.ae</option>
+                        <option>.aero</option>
+                        <option>.af</option>
+                        <option>.ag</option>
+                        <option>.ai</option>
+                        <option>.al</option>
+                        <option>.am</option>
+                        <option>.an</option>
+                        <option>.ao</option>
+                        <option>.aq</option>
+                        <option>.ar</option>
+                        <option>.arpa</option>
+                        <option>.as</option>
+                        <option>.asia</option>
+                        <option>.at</option>
+                        <option>.au</option>
+                        <option>.aw</option>
+                        <option>.ax</option>
+                        <option>.az</option>
+                        <option>.ba</option>
+                        <option>.bb</option>
+                        <option>.bd</option>
+                        <option>.be</option>
+                        <option>.bf</option>
+                        <option>.bg</option>
+                        <option>.bh</option>
+                        <option>.bi</option>
+                        <option>.biz</option>
+                        <option>.bj</option>
+                        <option>.bm</option>
+                        <option>.bn</option>
+                        <option>.bo</option>
+                        <option>.br</option>
+                        <option>.bs</option>
+                        <option>.bt</option>
+                        <option>.bv</option>
+                        <option>.bw</option>
+                        <option>.by</option>
+                        <option>.bz</option>
+                        <option>.ca</option>
+                        <option>.cat</option>
+                        <option>.cc</option>
+                        <option>.cd</option>
+                        <option>.cf</option>
+                        <option>.cg</option>
+                        <option>.ch</option>
+                        <option>.ci</option>
+                        <option>.ck</option>
+                        <option>.cl</option>
+                        <option>.cm</option>
+                        <option>.cn</option>
+                        <option>.co</option>
+                        <option>.coop</option>
+                        <option>.cr</option>
+                        <option>.cu</option>
+                        <option>.cv</option>
+                        <option>.cw</option>
+                        <option>.cx</option>
+                        <option>.cy</option>
+                        <option>.cz</option>
+                        <option>.de</option>
+                        <option>.dj</option>
+                        <option>.dk</option>
+                        <option>.dm</option>
+                        <option>.do</option>
+                        <option>.dz</option>
+                        <option>.ec</option>
+                        <option>.edu</option>
+                        <option>.ee</option>
+                        <option>.eg</option>
+                        <option>.er</option>
+                        <option>.es</option>
+                        <option>.et</option>
+                        <option>.eu</option>
+                        <option>.fi</option>
+                        <option>.fj</option>
+                        <option>.fk</option>
+                        <option>.fm</option>
+                        <option>.fo</option>
+                        <option>.fr</option>
+                        <option>.ga</option>
+                        <option>.gb</option>
+                        <option>.gd</option>
+                        <option>.ge</option>
+                        <option>.gf</option>
+                        <option>.gg</option>
+                        <option>.gh</option>
+                        <option>.gi</option>
+                        <option>.gl</option>
+                        <option>.gm</option>
+                        <option>.gn</option>
+                        <option>.gov</option>
+                        <option>.gp</option>
+                        <option>.gq</option>
+                        <option>.gr</option>
+                        <option>.gs</option>
+                        <option>.gt</option>
+                        <option>.gu</option>
+                        <option>.gw</option>
+                        <option>.gy</option>
+                        <option>.hk</option>
+                        <option>.hm</option>
+                        <option>.hn</option>
+                        <option>.hr</option>
+                        <option>.ht</option>
+                        <option>.hu</option>
+                        <option>.id</option>
+                        <option>.ie</option>
+                        <option>.il</option>
+                        <option>.im</option>
+                        <option>.in</option>
+                        <option>.info</option>
+                        <option>.int</option>
+                        <option>.io</option>
+                        <option>.iq</option>
+                        <option>.ir</option>
+                        <option>.is</option>
+                        <option>.it</option>
+                        <option>.je</option>
+                        <option>.jm</option>
+                        <option>.jo</option>
+                        <option>.jobs</option>
+                        <option>.jp</option>
+                        <option>.ke</option>
+                        <option>.kg</option>
+                        <option>.kh</option>
+                        <option>.ki</option>
+                        <option>.km</option>
+                        <option>.kn</option>
+                        <option>.kp</option>
+                        <option>.kr</option>
+                        <option>.kw</option>
+                        <option>.ky</option>
+                        <option>.kz</option>
+                        <option>.la</option>
+                        <option>.lb</option>
+                        <option>.lc</option>
+                        <option>.li</option>
+                        <option>.lk</option>
+                        <option>.lr</option>
+                        <option>.ls</option>
+                        <option>.lt</option>
+                        <option>.lu</option>
+                        <option>.lv</option>
+                        <option>.ly</option>
+                        <option>.ma</option>
+                        <option>.mc</option>
+                        <option>.md</option>
+                        <option>.me</option>
+                        <option>.mg</option>
+                        <option>.mh</option>
+                        <option>.mil</option>
+                        <option>.mk</option>
+                        <option>.ml</option>
+                        <option>.mm</option>
+                        <option>.mn</option>
+                        <option>.mo</option>
+                        <option>.mobi</option>
+                        <option>.mp</option>
+                        <option>.mq</option>
+                        <option>.mr</option>
+                        <option>.ms</option>
+                        <option>.mt</option>
+                        <option>.mu</option>
+                        <option>.museum</option>
+                        <option>.mv</option>
+                        <option>.mw</option>
+                        <option>.mx</option>
+                        <option>.my</option>
+                        <option>.mz</option>
+                        <option>.na</option>
+                        <option>.name</option>
+                        <option>.nc</option>
+                        <option>.ne</option>
+                        <option>.nf</option>
+                        <option>.ng</option>
+                        <option>.ni</option>
+                        <option>.nl</option>
+                        <option>.no</option>
+                        <option>.np</option>
+                        <option>.nr</option>
+                        <option>.nu</option>
+                        <option>.nz</option>
+                        <option>.om</option>
+                        <option>.pa</option>
+                        <option>.pe</option>
+                        <option>.pf</option>
+                        <option>.pg</option>
+                        <option>.ph</option>
+                        <option>.pk</option>
+                        <option>.pl</option>
+                        <option>.pm</option>
+                        <option>.pn</option>
+                        <option>.post</option>
+                        <option>.pr</option>
+                        <option>.pro</option>
+                        <option>.ps</option>
+                        <option>.pt</option>
+                        <option>.pw</option>
+                        <option>.py</option>
+                        <option>.qa</option>
+                        <option>.re</option>
+                        <option>.ro</option>
+                        <option>.rs</option>
+                        <option>.ru</option>
+                        <option>.rw</option>
+                        <option>.sa</option>
+                        <option>.sb</option>
+                        <option>.sc</option>
+                        <option>.sd</option>
+                        <option>.se</option>
+                        <option>.sg</option>
+                        <option>.sh</option>
+                        <option>.si</option>
+                        <option>.sj</option>
+                        <option>.sk</option>
+                        <option>.sl</option>
+                        <option>.sm</option>
+                        <option>.sn</option>
+                        <option>.so</option>
+                        <option>.sr</option>
+                        <option>.st</option>
+                        <option>.su</option>
+                        <option>.sv</option>
+                        <option>.sx</option>
+                        <option>.sy</option>
+                        <option>.sz</option>
+                        <option>.tc</option>
+                        <option>.td</option>
+                        <option>.tel</option>
+                        <option>.tf</option>
+                        <option>.tg</option>
+                        <option>.th</option>
+                        <option>.tj</option>
+                        <option>.tk</option>
+                        <option>.tl</option>
+                        <option>.tm</option>
+                        <option>.tn</option>
+                        <option>.to</option>
+                        <option>.tp</option>
+                        <option>.tr</option>
+                        <option>.travel</option>
+                        <option>.tt</option>
+                        <option>.tv</option>
+                        <option>.tw</option>
+                        <option>.tz</option>
+                        <option>.ua</option>
+                        <option>.ug</option>
+                        <option>.uk</option>
+                        <option>.us</option>
+                        <option>.uy</option>
+                        <option>.uz</option>
+                        <option>.va</option>
+                        <option>.vc</option>
+                        <option>.ve</option>
+                        <option>.vg</option>
+                        <option>.vi</option>
+                        <option>.vn</option>
+                        <option>.vu</option>
+                        <option>.wf</option>
+                        <option>.ws</option>
+                        <option>.xxx</option>
+                        <option>.ye</option>
+                        <option>.yt</option>
+                        <option>.za</option>
+                        <option>.zm</option>
+                        <option>.zw</option>
                     </select>
                     <p>
-                        <button type="submit" class="btn btn-primary btn-large">Find!</button>
-                        <div class="progress progress-striped active">
-                          <div class="bar" style="width: 60%;"></div>
-                        </div>
+                        <a id="sub" class="btn btn-primary btn-large">Find!</a><br/>
+                        <span id="loading">
+                            <img class="loader" src="{{ STATIC_URL }}img/ajax-loader.gif"><br/>
+                            Searching...
+                        </span>
                     </p>
 
                     <a id="reset" class="btn btn-danger">Reset</a>