aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--README.md19
-rwxr-xr-xsimpleton.py53
2 files changed, 33 insertions, 39 deletions
diff --git a/README.md b/README.md
index 187189d..b441582 100644
--- a/README.md
+++ b/README.md
@@ -8,21 +8,16 @@ Installation
============
1. Install prerequisites:
- sudo pip install pyyaml termcolor
+ sudo pip install termcolor
-2. Create your ~/.simpleton.yaml file:
+2. Create your ~/.simpleton file:
- HTTP:
- - http://intra.example.com
+ http://intra.example.com
+ smtp://mail.example.com
+ ftp://files.example.com
+ afp://username:password@files.example.com/share
- SMTP:
- - mail.example.com
-
- FTP:
- - files.example.com
-
- AFP:
- - username:password@files.example.com/share
+3. Run simpleton.py
Todo
====
diff --git a/simpleton.py b/simpleton.py
index a025749..5f8a3aa 100755
--- a/simpleton.py
+++ b/simpleton.py
@@ -12,40 +12,39 @@ import sys
import urllib
import ftplib
import smtplib
-import yaml
+import urlparse
import subprocess
import tempfile
from termcolor import colored, cprint
if len(sys.argv) < 2 or not os.path.exists(sys.argv[1]):
- fh = open(os.path.join(os.getenv('HOME'), '.simpleton.yaml'))
+ fh = open(os.path.join(os.getenv('HOME'), '.simpleton'))
-services = yaml.load(fh)
tests, passed, started = (0, 0, time.time())
-for k, v in services.items():
- for u in v:
- tests += 1
- msg = '* testing %s: %s' % (k, u)
- out = colored(msg, 'green')
- try:
- if k == 'HTTP':
- urllib.urlopen(u)
- if k == 'FTP':
- ftplib.FTP(u)
- if k == 'SMTP':
- smtplib.SMTP(u)
- if k == 'AFP':
- tmp_path = tempfile.mkdtemp()
- subprocess.check_call(['/sbin/mount_afp', '-o', 'nobrowse', u, tmp_path])
- subprocess.check_call(['/sbin/umount', tmp_path])
- os.rmdir(tmp_path)
-
- passed += 1
- except Exception, e:
- print e
- out = colored(msg, 'red')
-
- print out
+for l in fh.readlines():
+ url = l.strip()
+ parsed = urlparse.urlparse(url)
+ tests += 1
+ msg = '* testing %s' % (url)
+ out = colored(msg, 'green')
+
+ try:
+ if parsed.scheme == 'http':
+ urllib.urlopen(url)
+ if parsed.scheme == 'ftp':
+ ftplib.FTP(parsed.netloc)
+ if parsed.scheme == 'smtp':
+ smtplib.SMTP(parsed.netloc)
+ if parsed.scheme == 'afp':
+ tmp_path = tempfile.mkdtemp()
+ subprocess.check_call(['/sbin/mount_afp', '-o', 'nobrowse', url, tmp_path])
+ subprocess.check_call(['/sbin/umount', tmp_path])
+ os.rmdir(tmp_path)
+ passed += 1
+ except Exception, e:
+ out = colored(msg, 'red')
+
+ print out
print '%d of %d tests passed in %d seconds' % (passed, tests, int(time.time() - started))