#
# Copyright Saul Youssef, July 2003
#
from StringAttr import *
from WebPage import *
class URL(Environment):
type = 'url'
action = 'url'
title = 'URLs'
def __init__(self,name,url,target='_blank'):
self.name,self.url,self.target = name,url,target
#-- Set
def equal(self,u): return self.name==u.name and self.url==u.url
def __repr__(self): return self.str()
def str(self):
return self.url+' ('+self.name+')'
# if self.target=='':
# if self.url!='': return ''+self.name+''
# else: return ''+self.name+''
# else:
# if self.url!='': return ''+self.name+''
# else: return ''+self.name+''
def satisfiable(self): return Reason()
def satisfied (self): return Reason('url has not been acquired.',not self.acquired)
def acquire (self):
if isUrl(self.url): self.url = os.path.expandvars(self.url)
else: self.url = fullpath(self.url)
self.target = os.path.expandvars(self.target)
self.name = os.path.expandvars(self.name)
return Reason()
def retract(self): return Reason()
class Author(URL):
type = 'author'
title = 'Authors'
action = 'author'
def __init__(self,name,url):
self.name = name
if not isURL(url) and '@' in url:
self.url = 'mailto:'+url
else:
self.url = url
self.target=''
def __repr__(self): return 'author: '+self.str()
class Contact(Author):
type = 'contact'
title = 'Contacts'
action = 'contact'
def __repr__(self): return 'contact: '+self.str()