mirror of
https://github.com/Hopiu/linkchecker.git
synced 2026-03-25 10:20:23 +00:00
see changelog
git-svn-id: https://linkchecker.svn.sourceforge.net/svnroot/linkchecker/trunk/linkchecker@80 e7d03fd6-7b0d-0410-9947-9c21f3af8025
This commit is contained in:
parent
9c1f09e451
commit
fd2c9ad648
5 changed files with 27 additions and 18 deletions
4
INSTALL
4
INSTALL
|
|
@ -8,7 +8,9 @@ You get Python from http://www.python.org
|
|||
Optionally packages:
|
||||
Distutils >= 0.8.1 from http://www.python.org/sigs/distutils-sig/
|
||||
OpenSSL from http://www.openssl.org
|
||||
|
||||
You will need Perl for Win32 (available from
|
||||
http://www.activestate.com/ActivePerl) if you want to install OpenSSL
|
||||
on Windows!
|
||||
|
||||
Install with Distutils:
|
||||
If you have the Distutils, run "python setup.py install".
|
||||
|
|
|
|||
8
TODO
8
TODO
|
|
@ -3,16 +3,14 @@ High priority
|
|||
o DNS (and some URLs) seem to hang sometimes. This is not entirely true.
|
||||
The SMTP connect has a very long timeout (>200 seconds).
|
||||
But I can not use the signal module with threads.
|
||||
For convenient timeout setting I have to wait for Python 1.6 and urllib2.
|
||||
Wait for Python 1.6 and urllib2.
|
||||
|
||||
o I want to be able to supply a "break" command even when multiple
|
||||
threads are running.
|
||||
The thread implementation of Python is somewhat sparse and does not allow
|
||||
suspending/stopping of threads. What I am doing is to call sys.exit(1).
|
||||
This kills the entire Python interpreter.
|
||||
|
||||
o Internationalization
|
||||
|
||||
o Parse GML output and make a site map graphic (PNG format)
|
||||
|
||||
Use an existing layout algorithm.
|
||||
|
||||
Low priority
|
||||
|
|
|
|||
4
debian/changelog
vendored
4
debian/changelog
vendored
|
|
@ -6,15 +6,15 @@ linkchecker (1.2.3) unstable; urgency=low
|
|||
* configuration file option for output filenames
|
||||
* linkchecker.bat installation support for windows
|
||||
* included test suite in distribution
|
||||
* improved mailto: link parsing
|
||||
* blacklist output support
|
||||
* CSV output support
|
||||
* SSL autodetection in setup.py
|
||||
* added GPL copyright header to each of my .py files
|
||||
* i18n support and german translation of the logger outputs
|
||||
* use http_proxy environment variable if present
|
||||
* be more RFC822 and RFC2368 compliant when scanning mail syntax
|
||||
|
||||
-- Bastian Kleineidam <calvin@users.sourceforge.net> Mon, 1 May 2000 13:03:32 +0200
|
||||
-- Bastian Kleineidam <calvin@users.sourceforge.net> Tue, 9 May 2000 00:15:12 +0200
|
||||
|
||||
linkchecker (1.2.2) unstable; urgency=low
|
||||
|
||||
|
|
|
|||
|
|
@ -20,17 +20,24 @@ from HostCheckingUrlData import HostCheckingUrlData
|
|||
from smtplib import SMTP
|
||||
from UrlData import LinkCheckerException
|
||||
|
||||
# regular expression strings
|
||||
tag_str = r"^mailto:"
|
||||
adress_str = r"([a-zA-Z]['\-\w.]*)@([\w\-]+(?:\.[\w\-]+)*)"
|
||||
complete_adress_str = "("+adress_str+"|[\w\-\s]*<"+adress_str+">)"
|
||||
suffix_str = r"(\?.+)?"
|
||||
mailto_str = tag_str+complete_adress_str+\
|
||||
"(\s*,"+complete_adress_str+")*"+suffix_str
|
||||
# regular expression strings for partially RFC822 compliant adress scanning
|
||||
# XXX far from complete mail adress scanning; enhance only when needed!
|
||||
word = r"[\w\-%']+"
|
||||
words = r"[\w\-%'\s]+"
|
||||
dotwords = "("+word+r"(?:\."+word+")*)
|
||||
adress = dotwords+"@"+dotwords
|
||||
route_adress = words+"<"+adress+">"
|
||||
mailbox = "("+adress+"|"+route_adress+")"
|
||||
mailboxes = mailbox+r"?(,+"+mailbox+")*"
|
||||
|
||||
# regular expression strings for RFC2368 compliant mailto: scanning
|
||||
header = word+"="+word
|
||||
headers = "?"+header+"(&"+header+")*
|
||||
mailto = "^mailto:"+mailboxes+headers
|
||||
|
||||
# compiled
|
||||
adress_re = re.compile(adress_str)
|
||||
mailto_re = re.compile(mailto_str)
|
||||
adress_re = re.compile(adress)
|
||||
mailto_re = re.compile(mailto)
|
||||
|
||||
class MailtoUrlData(HostCheckingUrlData):
|
||||
"Url link with mailto scheme"
|
||||
|
|
@ -40,6 +47,7 @@ class MailtoUrlData(HostCheckingUrlData):
|
|||
mo = mailto_re.match(self.urlName)
|
||||
if not mo:
|
||||
raise LinkCheckerException, "Illegal mailto link syntax"
|
||||
# note: this catches also cc= headers and such!
|
||||
self.adresses = map(lambda x: (x[0], string.lower(x[1])),
|
||||
re.findall(adress_re, self.urlName))
|
||||
|
||||
|
|
|
|||
|
|
@ -172,7 +172,8 @@ except:
|
|||
|
||||
# check for environment variables (currently only http_proxy)
|
||||
if os.environ.has_key("http_proxy"):
|
||||
proxy = re.compile("(.+):(.+)").match(os.environ["http_proxy"])
|
||||
proxy = re.compile("(?:http://)?(.+):(.+)").match(
|
||||
os.environ["http_proxy"])
|
||||
if proxy:
|
||||
config["proxy"] = proxy.group(1)
|
||||
config["proxyport"] = int(proxy.group(2))
|
||||
|
|
|
|||
Loading…
Reference in a new issue