annotate bundle_docs.py @ 3194:9fcb7abf3185 default tip

Remove some gcc 4.7.2 compiler warnings
author Lenard Lindstrom <len-l@telus.net>
date Tue, 23 Apr 2013 19:53:36 -0700
parents d0d67addcde6
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
973
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
1 #! /usr/bin/env python
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
2
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
3 """Tar-zip the Pygame documents and examples
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
4
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
5 Run this script from the Pygame source root directory.
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
6 """
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
7
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
8 import os
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
9 import tarfile
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
10 import re
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
11
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
12 def add_files(bundle, root, alias, file_names):
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
13 for file_name in file_names:
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
14 file_alias = os.path.join(alias, file_name)
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
15 print " ", file_name, "-->", file_alias
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
16 bundle.add(os.path.join(root, file_name), file_alias)
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
17
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
18 def add_directory(bundle, root, alias):
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
19 reject_dirs = re.compile(r'(.svn)$')
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
20 # Since it is the file extension that is of interest the reversed
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
21 # file name is checked.
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
22 reject_files_reversed = re.compile(r'((~.*)|(cyp\..*))')
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
23 for sub_root, directories, files in os.walk(root):
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
24 directories[:] = [d for d in directories if reject_dirs.match(d) is None]
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
25 files[:] = [f for f in files if reject_files_reversed.match(f[-1::-1]) is None]
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
26 sub_alias = os.path.join(alias, sub_root[len(root)+1:])
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
27 add_files(bundle, sub_root, sub_alias, files)
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
28
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
29 def main():
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
30 bundle_name_elements = ['pygame', 'docs']
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
31 setup = open('setup.py', 'r')
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
32 try:
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
33 match = re.search(r'"version":[ \t]+"([0-9]+\.[0-9]+)\.[^"]+"', setup.read())
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
34 finally:
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
35 setup.close()
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
36 if match is None:
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
37 print "*** Unable to find Pygame version in setup.py"
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
38 version = ''
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
39 else:
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
40 version = '-%s' % match.group(1)
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
41 bundle_name = 'pygame%s-docs-and-examples.tar.gz' % version
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
42 print "Creating bundle", bundle_name
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
43 bundle = tarfile.open(bundle_name, 'w:gz')
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
44 try:
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
45 root = os.path.abspath('.')
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
46 alias = 'pygame'
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
47 add_files(bundle, root, alias, ['LGPL', 'readme.html', 'install.html'])
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
48 add_directory(bundle, os.path.join(root, 'docs'), os.path.join(alias, 'docs'))
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
49 add_directory(bundle, os.path.join(root, 'examples'), os.path.join(alias, 'examples'))
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
50 print "\nFinished", bundle_name
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
51 finally:
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
52 bundle.close()
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
53
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
54 if __name__ == '__main__':
d0d67addcde6 added Python script to make docs/examples tarball
Lenard Lindstrom <len-l@telus.net>
parents:
diff changeset
55 main()