<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[120971] branches/gsoc14-pip2port/tester.py</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/120971">120971</a></dd>
<dt>Author</dt> <dd>gaurav@macports.org</dd>
<dt>Date</dt> <dd>2014-06-13 00:10:05 -0700 (Fri, 13 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Modified code as per the the coding standards</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#branchesgsoc14pip2porttesterpy">branches/gsoc14-pip2port/tester.py</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="branchesgsoc14pip2porttesterpy"></a>
<div class="modfile"><h4>Modified: branches/gsoc14-pip2port/tester.py (120970 => 120971)</h4>
<pre class="diff"><span>
<span class="info">--- branches/gsoc14-pip2port/tester.py        2014-06-12 23:51:57 UTC (rev 120970)
+++ branches/gsoc14-pip2port/tester.py        2014-06-13 07:10:05 UTC (rev 120971)
</span><span class="lines">@@ -92,28 +92,29 @@
</span><span class="cx">     file_name = src_dir + '/' + dict['filename']
</span><span class="cx"> 
</span><span class="cx">     u = urllib2.urlopen(url)
</span><del>-    f = open(file_name,'wb')
-    meta = u.info()
-    file_size = int(meta.getheaders(&quot;Content-Length&quot;)[0])
</del><ins>+#    f = open(file_name,'wb')
+    with open(file_name,'wb') as f:
+        meta = u.info()
+        file_size = int(meta.getheaders(&quot;Content-Length&quot;)[0])
</ins><span class="cx"> 
</span><del>-    widgets = ['Fetching: ', Percentage(), ' ', Bar(marker=RotatingMarker(),left='[',right=']'), ' ', ETA(), ' ', FileTransferSpeed()]
-    pbar = ProgressBar(widgets=widgets, maxval=int(file_size))
-    pbar.start()
</del><ins>+        widgets = ['Fetching: ', Percentage(), ' ', Bar(marker=RotatingMarker(),left='[',right=']'), ' ', ETA(), ' ', FileTransferSpeed()]
+        pbar = ProgressBar(widgets=widgets, maxval=int(file_size))
+        pbar.start()
</ins><span class="cx"> 
</span><del>-    file_size_dl = 0
-    block_sz = 1024
-    while True:
-        buffer = u.read(block_sz)
-        if not buffer:
-            break
</del><ins>+        file_size_dl = 0
+        block_sz = 1024
+        while True:
+            buffer = u.read(block_sz)
+            if not buffer:
+                break
</ins><span class="cx"> 
</span><del>-        file_size_dl += len(buffer)
-        f.write(buffer)
-        pbar.update(file_size_dl)
</del><ins>+            file_size_dl += len(buffer)
+            f.write(buffer)
+            pbar.update(file_size_dl)
</ins><span class="cx"> 
</span><del>-    pbar.finish()
-    print
-    f.close()
</del><ins>+        pbar.finish()
+        print
+#    f.close()
</ins><span class="cx"> 
</span><span class="cx">     checksum_md5_calc = hashlib.md5(open(file_name).read()).hexdigest()
</span><span class="cx">     if str(checksum_md5) == str(checksum_md5_calc):
</span><span class="lines">@@ -160,9 +161,10 @@
</span><span class="cx">         if not value['filename'].split('.')[-1] == 'gz':
</span><span class="cx">             fetch(pkg_name,value)
</span><span class="cx">     try:
</span><del>-        f = open('./sources/'+pkg_name+'/EGG-INFO/requires.txt')
-        list = f.readlines()
-        list = [x.strip('\n') for x in list]
</del><ins>+ #       f = open('./sources/'+pkg_name+'/EGG-INFO/requires.txt')
+        with open('./sources/'+pkg_name+'/EGG-INFO/requires.txt') as f:
+            list = f.readlines()
+            list = [x.strip('\n') for x in list]
</ins><span class="cx">         f.close()
</span><span class="cx">         try:
</span><span class="cx">             shutil.rmtree('./sources/'+pkg_name+'/EGG-INFO', ignore_errors=True)
</span><span class="lines">@@ -199,11 +201,12 @@
</span><span class="cx">         checksums = []
</span><span class="cx">         try:
</span><span class="cx">             h = hashlib.new('ripemd160')
</span><del>-            f = open(file_name)
-            h.update(f.read())
-            checksums.insert(0,h.hexdigest())
-            checksums.insert(1,hashlib.sha256(f.read()).hexdigest())
-            f.close()
</del><ins>+#            f = open(file_name)
+            with open(file_name) as f:            
+                h.update(f.read())
+                checksums.insert(0,h.hexdigest())
+                checksums.insert(1,hashlib.sha256(f.read()).hexdigest())
+#            f.close()
</ins><span class="cx">             dir = '/'.join(file_name.split('/')[0:-1])
</span><span class="cx">             os.remove(file_name)
</span><span class="cx">             try:
</span><span class="lines">@@ -217,106 +220,105 @@
</span><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> def create_portfile(dict,file_name,dict2):
</span><del>-    file = open(file_name, 'w')
</del><ins>+#    file = open(file_name, 'w')
+    with open(file_name, 'w') as file:
+        file.write('# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4\n')
+        file.write('# $Id$\n\n')
+        file.write('PortSystem          1.0\n')
+        file.write('PortGroup           python 1.0\n\n')
</ins><span class="cx"> 
</span><del>-    file.write('# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4\n')
-    file.write('# $Id$\n\n')
-    file.write('PortSystem          1.0\n')
-    file.write('PortGroup           python 1.0\n\n')
</del><ins>+        file.write('name                {0}\n'.format(dict['name']))
+        file.write('version             {0}\n'.format(dict['version']))
+#        file.write('categories-append   replaceme\n\n')
</ins><span class="cx"> 
</span><del>-    file.write('name                '+dict['name']+'\n')
-    file.write('version             '+dict['version']+'\n')
-#    file.write('categories-append   replaceme\n\n')
-
-    file.write('platforms           darwin\n')
-    license = dict['license']
-    if license:
-        license = license.encode('utf-8')
-        file.write('license             '+license+'\n')
-    else:
-        file.write('license             None\n')
</del><ins>+        file.write('platforms           darwin\n')
+        license = dict['license']
+        if license:
+            license = license.encode('utf-8')
+            file.write('license             {0}\n'.format(license))
+        else:
+            file.write('license             None\n')
</ins><span class="cx">         
</span><del>-    if dict['maintainer']:
-        file.write('maintainers         ' + ' '.join(dict['maintainer']) + '\n\n')
-    else:
-        file.write('maintainers         nomaintainer\n\n')
</del><ins>+        if dict['maintainer']:
+            file.write('maintainers         {0}\n\n'.format(' '.join(dict['maintainer'])))
+        else:
+            file.write('maintainers         nomaintainer\n\n')
</ins><span class="cx"> 
</span><del>-    summary = dict['summary']
-    if summary:
-        summary = re.sub(r'[\[\]\{\}\;\:\$\t\&quot;\'\`]',' ',summary)
-        sum_lines = textwrap.wrap(summary,width=70)
-        file.write('description         ')
-        for sum_line in sum_lines:
-            if sum_line:
-                if not sum_lines.index(sum_line)==0:
-                    file.write('                    ')
-                if sum_line == sum_lines[-1]:
-                    file.write(sum_line+&quot;\n&quot;)
-                else:
-                    file.write(sum_line + &quot; \\\n&quot;)
-    else:
-        file.write('description         None\n\n')
-#    file.write('description         '+dict['summary']+'\n\n')
-#    file.write('description         '+summary+'\n\n')
-#    file.write('long_description    '+dict['description']+'\n\n')
-    description = dict['description']
-    if description:
-        description = description.encode('utf-8')
-        description = re.sub(r'[\[\]\{\}\;\:\$\t\&quot;\'\`]',' ',description)
-#        lines = textwrap.wrap(dict['description'],width=70)
-        lines = textwrap.wrap(description,width=70)
-        file.write('long_description    ')
-        for line in lines:
-            if line:
-                if not lines.index(line)==0:
-                    file.write('                    ')
-                if line == lines[-1]:
-                    file.write(line+&quot;\n&quot;)
-                else:
-                    file.write(line + &quot; \\\n&quot;)
-    else:
-        file.write('long_description    '+'${description}'+'\n\n')
</del><ins>+        summary = dict['summary']
+        if summary:
+            summary = re.sub(r'[\[\]\{\}\;\:\$\t\&quot;\'\`]',' ',summary)
+            sum_lines = textwrap.wrap(summary,width=70)
+            file.write('description         ')
+            for sum_line in sum_lines:
+                if sum_line:
+                    if not sum_lines.index(sum_line)==0:
+                        file.write('                    ')
+                    if sum_line == sum_lines[-1]:
+                        file.write(&quot;{0}\n&quot;.format(sum_line))
+                    else:
+                        file.write(&quot;{0} \\\n&quot;.format(sum_line))
+        else:
+            file.write('description         None\n\n')
+#        file.write('description         '+dict['summary']+'\n\n')
+#        file.write('description         '+summary+'\n\n')
+#        file.write('long_description    '+dict['description']+'\n\n')
+        description = dict['description']
+        if description:
+            description = description.encode('utf-8')
+            description = re.sub(r'[\[\]\{\}\;\:\$\t\&quot;\'\`]',' ',description)
+#            lines = textwrap.wrap(dict['description'],width=70)
+            lines = textwrap.wrap(description,width=70)
+            file.write('long_description    ')
+            for line in lines:
+                if line:
+                    if not lines.index(line)==0:
+                        file.write('                    ')
+                    if line == lines[-1]:
+                        file.write(&quot;{0}\n&quot;.format(line))
+                    else:
+                        file.write(&quot;{0} \\\n&quot;.format(line))
+        else:
+            file.write('long_description    ${description}\n\n')
</ins><span class="cx">     
</span><del>-    file.write('homepage            '+dict['home_page']+'\n')
</del><ins>+        file.write('homepage            {0}\n'.format(dict['home_page']))
</ins><span class="cx"> 
</span><del>-    if dict2:
-        master_site = '/'.join(dict2[0]['url'].split('/')[0:-1])
-    else:
-        master_site = ''
-    file.write('master_sites        '+master_site+'\n')
-    file.write('distname            py-'+dict['name']+dict['version']+'\n\n')
-#    rmd160 = checksum_rmd160(dict['name'],dict['version'])
-#    sha256 = checksum_sha256(dict['name'],dict['version'])
-    checksums_values = checksums(dict['name'],dict['version'])
-#    if rmd160 and sha256:
-    if checksums_values:
-        file.write('checksums           rmd160  '+checksums_values[0]+' \\\n')
-        file.write('                    sha256  '+checksums_values[1]+'\n\n')
</del><ins>+        if dict2:
+            master_site = '/'.join(dict2[0]['url'].split('/')[0:-1])
+        else:
+            master_site = ''
+        file.write('master_sites        {0}\n'.format(master_site))
+        file.write('distname            py-{0}{1}\n\n'.format(dict['name'],dict['version']))
+#        rmd160 = checksum_rmd160(dict['name'],dict['version'])
+#        sha256 = checksum_sha256(dict['name'],dict['version'])
+        checksums_values = checksums(dict['name'],dict['version'])
+#        if rmd160 and sha256:
+        if checksums_values:
+            file.write('checksums           rmd160  {0} \\ \n'.format(checksums_values[0]))
+            file.write('                    sha256  {0}\n\n'.format(checksums_values[1]))
</ins><span class="cx"> 
</span><del>-    python_vers = dict['requires_python']
-    if python_vers:
-        file.write('python.versions     25 26 27 '+dict['requires_python']+'\n\n')
-    else:
-        file.write('python.versions     25 26 27\n\n')
</del><ins>+        python_vers = dict['requires_python']
+        if python_vers:
+            file.write('python.versions     25 26 27 {0}\n\n'.format(dict['requires_python']))
+        else:
+            file.write('python.versions     25 26 27\n\n')
</ins><span class="cx">     
</span><del>-    file.write('if {${name} ne ${subport}} {\n')
-    file.write('    depends_build       port:py${python.version}-setuptools\n')
-    deps = dependencies(dict['name'],dict['version'],True)
-    if deps:
-        for dep in deps:
-            file.write('                        port:py-'+dep+'\n')
-    file.write('\n')
-    file.write('    livecheck.type      none\n')
-    file.write('} else {\n')
-    file.write('    livecheck.type      regex\n')
-    file.write('    livecheck.url       ${master_sites}\n')
-#    file.write('    livecheck.regex     \n')
-    file.write('}\n')
</del><ins>+        file.write('if {${name} ne ${subport}} {\n')
+        file.write('    depends_build       port:py${python.version}-setuptools\n')
+        deps = dependencies(dict['name'],dict['version'],True)
+        if deps:
+            for dep in deps:
+                file.write('                        port:py-{0}\n'.format(dep))
+        file.write('\n')
+        file.write('    livecheck.type      none\n')
+        file.write('} else {\n')
+        file.write('    livecheck.type      regex\n')
+        file.write('    livecheck.url       ${master_sites}\n')
+#        file.write('    livecheck.regex     \n')
+        file.write('}\n')
</ins><span class="cx"> 
</span><del>-#    file.write('    post-destroot {\n')
</del><ins>+#        file.write('    post-destroot {\n')
</ins><span class="cx"> 
</span><span class="cx"> 
</span><del>-    file.close()
</del><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> def print_portfile(pkg_name,pkg_version=None):
</span><span class="lines">@@ -356,7 +358,7 @@
</span><span class="cx">                         dest='packages_data', nargs='*', type=str,
</span><span class="cx">                         help='Releases data for a package by &lt;package_name&gt;')
</span><span class="cx">     parser.add_argument('-f', '--fetch', action='store', type=str,
</span><del>-                        dest='package_fetch', nargs=2, required=False, 
</del><ins>+                        dest='package_fetch', nargs='*', required=False, 
</ins><span class="cx">                         help='Fetches distfiles for a package by &lt;package_name&gt; and &lt;package_version&gt;')
</span><span class="cx">     parser.add_argument('-p', '--portfile', action='store', type=str,
</span><span class="cx">                         dest='package_portfile', nargs='*', required=False, 
</span><span class="lines">@@ -391,9 +393,12 @@
</span><span class="cx">             pkg_version = options.package_fetch[1]
</span><span class="cx">             fetch_url(pkg_name,pkg_version)
</span><span class="cx">         else:
</span><del>-            if client.package_releases(pkg_name):
-                pkg_version = client.packages_releases(pkg_name)[0]
</del><ins>+            releases =  client.package_releases(pkg_name)
+            if releases:
+                pkg_version = releases[0]
</ins><span class="cx">                 fetch_url(pkg_name,pkg_version)
</span><ins>+            else:
+                print &quot;No release found\n&quot;
</ins><span class="cx">         return
</span><span class="cx"> 
</span><span class="cx">     if options.package_portfile:
</span></span></pre>
</div>
</div>

</body>
</html>