Author: eadler
Date: Thu Apr  2 22:42:23 2015
New Revision: 281007
URL: https://svnweb.freebsd.org/changeset/base/281007

Log:
  fortune/tools/do_uniq.py
  
  slight imporvements to do_uniq.py:
        - use with open()
        - don't depend on sys.argv directly
        - fix style

Modified:
  head/games/fortune/tools/do_uniq.py

Modified: head/games/fortune/tools/do_uniq.py
==============================================================================
--- head/games/fortune/tools/do_uniq.py Thu Apr  2 21:55:03 2015        
(r281006)
+++ head/games/fortune/tools/do_uniq.py Thu Apr  2 22:42:23 2015        
(r281007)
@@ -4,7 +4,8 @@
 #
 # an aggressive little script for trimming duplicate cookies
 
-import re, sys
+import argparse
+import re
 
 wordlist = [
     'hadnot',
@@ -15,6 +16,7 @@ wordlist = [
     'a', 'd', 'i', 'm', 's',
 ]
 
+
 def hash(fortune):
     f = fortune
     f = f.lower()
@@ -27,37 +29,40 @@ def hash(fortune):
 #    f = f[-30:]
     return f
 
+
 def edit(datfile):
     dups = {}
     fortunes = []
     fortune = ""
-    for line in file(datfile):
-        if line == "%\n":
-            key = hash(fortune)
-            if key not in dups:
-                dups[key] = []
-            dups[key].append(fortune)
-            fortunes.append(fortune)
-            fortune = ""
-        else:
-            fortune += line
+    with open(datfile, "r") as datfiledf:
+        for line in datfiledf:
+            if line == "%\n":
+                key = hash(fortune)
+                if key not in dups:
+                    dups[key] = []
+                dups[key].append(fortune)
+                fortunes.append(fortune)
+                fortune = ""
+            else:
+                fortune += line
     for key in list(dups.keys()):
         if len(dups[key]) == 1:
             del dups[key]
-    o = file(datfile + '~', "w")
-    for fortune in fortunes:
-        key = hash(fortune)
-        if key in dups:
-            print('\n' * 50)
-            for f in dups[key]:
-                if f != fortune:
-                    print(f, '%')
-            print(fortune, '%')
-            if input("Remove last fortune? ") == 'y':
-                del dups[key]
-                continue
-        o.write(fortune + "%\n")
-    o.close()
+    with open(datfile + "~", "w") as o:
+        for fortune in fortunes:
+            key = hash(fortune)
+            if key in dups:
+                print('\n' * 50)
+                for f in dups[key]:
+                    if f != fortune:
+                        print(f, '%')
+                print(fortune, '%')
+                if input("Remove last fortune? ") == 'y':
+                    del dups[key]
+                    continue
+            o.write(fortune + "%\n")
 
-assert len(sys.argv) == 2
-edit(sys.argv[1])
+parser = argparse.ArgumentParser(description="trimming duplicate cookies")
+parser.add_argument("filename", type=str, nargs=1)
+args = parser.parse_args()
+edit(args.filename[0])
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to