I would use something like this:
*import requests*
class IS_VERIFIED_URL(object):
def __init__(self, error_message="url does not exist!"):
self.error_message = error_message
def __call__(self, url):
error = None
*response = requests.get(url)*
if *response.status_code != 200*:
error = self.error_message
return (url, error)
So in FORM, MODEL or SQLFORM
<db.table|INPUT>.requires = IS_VERIFIED_URL()
http://rochacbruno.com.br/custom-validator-for-web2py-forms/
*Bruno Cezar Rocha** - @rochacbruno*
[email protected] | Mobile: +55 (11) 99210-8821
www.CursoDePython.com.br | www.rochacbruno.com.br
Blog: Open links which points outside your own site in a new
window<http://rochacbruno.com.br/open-links-which-points-outside-your-own-site-in-a-new-window/>
Get a signature like this.
<http://r1.wisestamp.com/r/landing?promo=18&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18>
Click
here.<http://r1.wisestamp.com/r/landing?promo=18&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_18>
On Wed, Aug 15, 2012 at 12:01 PM, Hojat Taheri <[email protected]>wrote:
> in a shorten-er built by web2by i want to validate url's first, if it's
> not valid goes back to the first page with an error message. this is my
> code in controller (mvc arch.) but i don't get what's wrong..!!
>
> import urllib
>
> def index():
> return dict()
>
> def random_maker():
>
> url = request.vars.url
> try:
> urllib.urlopen(url)
>
> return dict(rand_url = ''.join(random.choice(string.ascii_uppercase +
> string.digits + string.ascii_lowercase) for x in range(6)), input_url=url)
> except IOError:
> return index()
>
> --
>
>
>
>
--