def test_application_url_correct(self): """ application_url_correct(url) should return True if app URL is string and formatted correctly, False otherwise """ goodurl1 = 'https://apscatalog.com/storage/Hostway/ESC-SKIN/3.0.16-1/Hostway/undefined/undefined/undefined/ESC-SKIN-3.0.16-1.app.zip' goodurl2 = 'https://apscatalog.com/storage/Zen%20Cart/Zen%20Cart/1.5.3-5/GlowTouch%20Technologies/undefined/undefined/undefined/ZenCart-1.5.3-5.app.zip' badurls = { 1: 3, 2: 'http://apscatalog.com/storage/Zen%20Cart/Zen%20Cart/1.5.3-5/GlowTouch%20Technologies/undefined/undefined/undefined/ZenCart-1.5.3-5.app.zip', 3: 'http://google.com', 4: {}, 5: [], 6: '<script></script>' } self.assertEqual(utils.application_url_correct(goodurl1), True) self.assertEqual(utils.application_url_correct(goodurl2), True) for urlnum in range(1,7): self.assertEqual(utils.application_url_correct(badurls[urlnum]), False)
def add_application_to_database(request): """ Adds app info only to Django database """ if request.is_ajax() and utils.application_url_correct(request.POST['aps_url']): url = request.POST['aps_url'] app_meta_url = utils.get_appmeta_url(url) app_meta_parsed = utils.get_app_meta_parsed(app_meta_url) app_attributes = utils.get_application_attributes(app_meta_parsed) if app_attributes is not None and not Application.objects.filter(**app_attributes).exists(): app_attributes.update({'url': url}) response = {'status': 0, 'result': 'Application added successfully'} Application.objects.create(**app_attributes) else: response = {'status': 1, 'result': 'Application cannot be added'} else: response = {'status': 1, 'result': 'Application cannot be added'} return HttpResponse(json.dumps(response), content_type='application/json')
def add_application_to_database(request): """ Adds app info only to Django database """ if request.is_ajax() and utils.application_url_correct( request.POST['aps_url']): url = request.POST['aps_url'] app_meta_url = utils.get_appmeta_url(url) app_meta_parsed = utils.get_app_meta_parsed(app_meta_url) app_attributes = utils.get_application_attributes(app_meta_parsed) if app_attributes is not None and not Application.objects.filter( **app_attributes).exists(): app_attributes.update({'url': url}) response = { 'status': 0, 'result': 'Application added successfully' } Application.objects.create(**app_attributes) else: response = {'status': 1, 'result': 'Application cannot be added'} else: response = {'status': 1, 'result': 'Application cannot be added'} return HttpResponse(json.dumps(response), content_type='application/json')