summaryrefslogtreecommitdiff
path: root/games-board/scid/files/scid-4.6.2-pgnfix-python3.patch
blob: 264849c0eb30560ac75ae341d170a736c6221df9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
https://sourceforge.net/p/scid/patches/8/
--- a/scripts/pgnfix.py
+++ b/scripts/pgnfix.py
@@ -12,7 +12,6 @@
 # put in the Site or Event field, and move them to the Date field.
 
 import sys
-import string
 import re
 
 if len(sys.argv) < 2:
@@ -69,16 +68,16 @@
             if match:
                 full = match.group(0)
                 last, first = match.groups()
-                first = string.strip(first)
-                full  = string.strip(full)
-                last  = string.strip(last)
+                first = str.strip(first)
+                full  = str.strip(full)
+                last  = str.strip(last)
                 if first:
                     for name in (full, last,
                                  last + " " + first,
                                  last + ", " + first[0],
                                  last + " " + first[0]):
-                        name = string.lower(name)
-                        if spelling.has_key(name):
+                        name = str.lower(name)
+                        if name in spelling:
                             del spelling[name]
                         else:
                             spelling[name] = full
@@ -107,16 +106,16 @@
                 if error:
                     out = sys.stderr
                     error = 0
-                out.write(string.join(current, ""))
+                out.write("".join(current))
                 current = []
                 bad_lines = []
         else:
             if headers:
                 for field, value in specials.items():
-                    if not headers.has_key(field):
+                    if not field in headers:
                         headers[field] = value
                 for field in order:
-                    if headers.has_key(field):
+                    if field in headers:
                         current.append('[%s "%s"]\n' % (field, headers[field]))
                         del headers[field]
                 for field, value in headers.items():
@@ -172,7 +171,7 @@
                 specials["Date"] = "%04d.%02d.%02d" % (year, month, day)
                 value = re.sub("\(?([0-9]+)/([0-9]+)/([0-9]+)\)?", "", value)
 
-        value = string.strip(value)
+        value = str.strip(value)
 
         if field in ("White", "Black"):
             name = re.sub("[MW][0-9]{5}", "", value)
@@ -193,21 +192,21 @@
                     name = re.sub("_", " ", name)
                     name = re.sub("\.", "", name)
                     name = re.sub("([A-Za-z])([0-9])", "\\1 \\2", name)
-                    name = string.strip(name)
+                    name = str.strip(name)
                     name = re.sub("^([A-Z]+?)\s*([A-Z][a-z].+)", "\\2, \\1",
                                   name)
 
                 name = re.sub(",\s*([GI]M)?$", "", name)
 
-            name = string.strip(name)
-            t = string.lower(name)
+            name = str.strip(name)
+            t = str.lower(name)
 
-            if spelling.has_key(t):
+            if t in spelling:
                 name = spelling[t]
 
             headers[field] = name
 
-        elif not bogus.has_key(field) or not re.search(bogus[field], value):
+        elif not field in bogus or not re.search(bogus[field], value):
             headers[field] = value
 
 if current:
@@ -215,7 +214,7 @@
     if error:
         out = sys.stderr
         error = 0
-    out.write(string.join(current, ""))
+    out.write("".join(current))
     current = []
     bad_lines = []