Revision: 6542
Author: nicdumz
Date: 2009-03-24 01:52:52 +0000 (Tue, 24 Mar 2009)
Log Message:
-----------
[ 2703424 ] Make update_namespaces.py update also family.py (Mikko Silvonen)
Modified Paths:
--------------
trunk/pywikipedia/maintenance/update_namespaces.py
Modified: trunk/pywikipedia/maintenance/update_namespaces.py
===================================================================
--- trunk/pywikipedia/maintenance/update_namespaces.py 2009-03-24 01:40:51 UTC (rev 6541)
+++ trunk/pywikipedia/maintenance/update_namespaces.py 2009-03-24 01:52:52 UTC (rev 6542)
@@ -7,7 +7,8 @@
import family_check
import re
-r_namespace_section = r'(?s)self\.namespaces\[%s]\s*\=\s*\{(.*?)\}'
+r_namespace_section_main =
r'(?s)self\.namespaces\s*\=\s*\{.*\s+%s\s*:\s*\{(.*?)\}'
+r_namespace_section_sub = r'(?s)self\.namespaces\[%s]\s*\=\s*\{(.*?)\}'
r_string = '[u]?[r]?[\'"].*?[\'"]'
r_list = '\\[.*?\\]'
@@ -15,8 +16,17 @@
def update_family(family, changes):
global namespace_section_text, namespace_defs, new_defs
- output(u'Updating family %s' % family)
- family_file = open('../families/%s_family.py' % family.name, 'r')
+ if family:
+ output(u'Updating family %s' % family.name)
+ family_file_name = '../families/%s_family.py' % family.name
+ r_namespace_section = r_namespace_section_sub
+ base_indent = 8
+ else:
+ output(u'Updating family.py')
+ family_file_name = '../family.py'
+ r_namespace_section = r_namespace_section_main
+ base_indent = 12
+ family_file = open(family_file_name, 'r')
old_family_text = family_text = family_file.read()
family_file.close()
@@ -40,12 +50,14 @@
new_defs = namespace_defs.items()
new_defs.sort(key = lambda x: x[0])
- new_text = '\n' + ''.join([12 * ' ' +
"'%s': %s,\n" % i for i in new_defs]) + ' ' * 8
+ new_text = '\n' + ''.join([(base_indent + 4) * ' ' +
"'%s': %s,\n" % i for i in new_defs]) + ' ' * base_indent
family_text = family_text.replace(namespace_section.group(1), new_text)
- if test_data(family_text):
+ if family_text == old_family_text:
+ output(u'No changes made')
+ elif test_data(family_text):
output(u'Saving to family file')
- family_file = open('../families/%s_family.py' % family.name,
'w')
+ family_file = open(family_file_name, 'w')
family_file.write(family_text)
family_file.close()
else:
@@ -70,5 +82,7 @@
family = wikipedia.Family(wikipedia.default_family)
result = family_check.check_family(family)
update_family(family, result)
+ # Update also the family.py file
+ update_family(None, result)
finally:
wikipedia.stopme()
\ No newline at end of file
Show replies by date