Last active
October 10, 2015 09:07
-
-
Save saltnlight5/3666286 to your computer and use it in GitHub Desktop.
Python Scripts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import smtplib | |
message = """From: test@test.com | |
To: zemian.deng@mycompany.com | |
Subject: SMTP e-mail test | |
This is a test e-mail message. | |
""" | |
s = smtplib.SMTP('smtp.mycompany.com') | |
s.sendmail("test@test.com", ["zemian.deng@mycompany.com"], message) | |
s.quit() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/python | |
# | |
# check-emma.py <report_url> | |
# Check EMMA coverage report and print any abnormal condition is found | |
# | |
# Zemian Deng 2010.11.21 | |
# | |
import os.path, sys, re, urllib | |
def read(report): | |
if os.path.isfile(report): | |
f = open(report) | |
ret = f.read() | |
f.close() | |
return ret | |
else: | |
f = urllib.urlopen(report) | |
ret = f.read() | |
f.close() | |
return ret | |
class Coverage(object): | |
def __cmp__(self, that): | |
ret = cmp(int(self.cls_percent_covered), int(that.cls_percent_covered)) | |
if (ret == 0): | |
ret = cmp( | |
int(self.meth_percent_covered), | |
int(that.meth_percent_covered)) | |
return ret | |
def emma_report(report): | |
coverages = [] | |
text = read(report) | |
tr_pattern = r'<TR( CLASS="o"){0,1}><TD><A HREF="_files/.+?\.html">(.+?)</A></TD>(.+?)</TR>' | |
td_pattern = r'<TD( CLASS="h"){0,1}>(\d+?)%.*?(\d+?)/(\d+?)\)</TD>' | |
trlist = re.findall(tr_pattern, text, re.S) | |
for tr in trlist: | |
td_list = re.findall(td_pattern, tr[2], re.S) | |
if len(td_list) >= 2: | |
cov = Coverage() | |
cov.pkg = tr[1] | |
cov.cls_percent_covered = td_list[0][1] | |
cov.cls_covered_lines = td_list[0][2] | |
cov.cls_total_lines = td_list[0][3] | |
cov.meth_percent_covered = td_list[1][1] | |
cov.meth_covered_lines = td_list[1][2] | |
cov.meth_total_lines = td_list[1][3] | |
if int(cov.cls_percent_covered) < 80 or int(cov.meth_percent_covered) < 80: | |
coverages.append(cov) | |
if len(coverages) <= 0: | |
return | |
#print 'EMMA report - number of classes or methods below 50% code coverage:' | |
print "%s\t%s\t%s" % ('PACKAGE', 'CLASS', 'METHOD') | |
coverages.sort() | |
for c in coverages: | |
print "%s\t%s\t%s" % (c.pkg, | |
c.cls_percent_covered+'% ('+c.cls_covered_lines+'/'+c.cls_total_lines+')', | |
c.meth_percent_covered+'% ('+c.meth_covered_lines+'/'+c.meth_total_lines+')') | |
# Main script entry | |
report_url = 'target/site/emma/index.html' | |
if len(sys.argv) > 1: | |
report_url = sys.argv[1] | |
emma_report(report_url) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import sys | |
print(sys.version) | |
import os | |
print(os.getcwd()) | |
print(os.listdir('.')) | |
import os.path | |
print(os.path.abspath('/')) | |
print(os.path.abspath('C:/projects')) | |
print(os.path.abspath('~')) | |
print(os.path.abspath(os.path.expanduser('~'))) | |
print(os.listdir('C:/projects')) | |
print(os.listdir('C:\\projects')) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import glob, os | |
for fn in glob.glob('./*.markdown'): | |
fn2 = fn.replace('.markdown', '.md') | |
os.rename(fn, fn2) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment