Update URLs and documentation formats.
authorJoe Wreschnig <joe.wreschnig@gmail.com>
Mon, 24 Aug 2015 20:02:05 +0000 (22:02 +0200)
committerJoe Wreschnig <joe.wreschnig@gmail.com>
Mon, 24 Aug 2015 20:02:05 +0000 (22:02 +0200)
.gitignore [new file with mode: 0644]
NEWS.org [new file with mode: 0644]
NEWS.txt [deleted file]
README.md [new file with mode: 0644]
README.txt [deleted file]
bulletml/__init__.py
setup.py

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..0d20b64
--- /dev/null
@@ -0,0 +1 @@
+*.pyc
diff --git a/NEWS.org b/NEWS.org
new file mode 100644 (file)
index 0000000..d0232bc
--- /dev/null
+++ b/NEWS.org
@@ -0,0 +1,11 @@
+* 3 - 2015.?.?
+- Update documentation and homepage.
+- Fix a security issue reading untrusted bullet files.
+
+* 2 - 2010.04.24
+- Easier to extend Action with new behaviors.
+- Conditional <if>/<then>/<else> elements.
+- Faster Pyrex-less collision extension.
+
+* 1 - 2010.04.10
+- Initial release.
diff --git a/NEWS.txt b/NEWS.txt
deleted file mode 100644 (file)
index a2eecb9..0000000
--- a/NEWS.txt
+++ /dev/null
@@ -1,7 +0,0 @@
-2 - 2010.04.24
- * Easier to extend Action with new behaviors.
- * Conditional <if>/<then>/<else> elements.
- * Faster Pyrex-less collision extension.
-
-1 - 2010.04.10
- * Initial release.
diff --git a/README.md b/README.md
new file mode 100644 (file)
index 0000000..7990787
--- /dev/null
+++ b/README.md
@@ -0,0 +1,61 @@
+# python-bulletml - BulletML for Python
+
+BulletML is the Bullet Markup Language. BulletML can describe the
+barrage of bullets in shooting games. (For example Progear, Psyvariar,
+Gigawing2, G DARIUS, XEVIOUS, ...) This module parses and executes
+BulletML scripts in Python. All data structures in it are
+renderer-agnostic. A sample renderer for Pygame is included. The full
+API documentation is contained in its Python docstrings.
+
+In addition to the standard BulletML XML format, this module supports
+an equivalent YAML format. For convenience, two simple collision
+routines are provided, `bulletml.overlaps` for stationary circles and
+`bulletml.collides` for moving circles.
+
+More information is available at
+[the BulletML homepage](http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html),
+or
+[the python-bulletml homepage](https://yukkurigames.com/python-bulletml/).
+
+    $ ./bulletml-runner examples/*/*.xml
+
+Use Page Up and Page Down to switch between bullet definitions, S to
+respawn the bullet pattern, and Enter to restart it.
+
+
+## Installing
+
+BulletML requires Python 2.6 or later. It should work on Python 3. It
+has no dependencies outside the CPython standard library.
+
+    $ ./setup.py build
+    $ sudo ./setup.py install
+
+
+## License
+
+The BulletML specification is the work of Kenta Cho.
+
+All example BulletML files in the examples folder are released into
+the public domain. Everything else is covered by the following
+license:
+
+Copyright 2010 Joe Wreschnig
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/README.txt b/README.txt
deleted file mode 100644 (file)
index c7a1633..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-python-bulletml - BulletML for Python
--------------------------------------
-
-BulletML is the Bullet Markup Language. BulletML can describe the
-barrage of bullets in shooting games. (For example Progear, Psyvariar,
-Gigawing2, G DARIUS, XEVIOUS, ...) This module parses and executes
-BulletML scripts in Python. All data structures in it are
-renderer-agnostic.
-
-In addition to the standard BulletML XML format, this module supports
-an equivalent YAML format. See bulletml.bulletyaml for more details.
-
-Finally, two simple collision routines are provided, bulletml.overlaps
-for stationary circles and bulletml.collides for moving circles.
-
-A sample renderer for Pygame is included.
-
-More information is available at the BulletML homepage,
-http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html, or the
-python-bullet homepage, http://code.google.com/p/python-bulletml/.
-
-$ ./bulletml-runner examples/*/*.xml
-
-Use Page Up and Page Down to switch between bullet definitions, S to
-respawn the bullet pattern, and Enter to restart it.
-
-
-Installing
-----------
-BulletML requires Python 2.6 or later. It should work on Python 3. It
-has no dependencies outside the CPython standard library.
-
-$ ./setup.py build
-$ sudo ./setup.py install
-
-
-License
--------
-
-The BulletML specification is the work of Kenta Cho.
-
-All example BulletML files in the examples folder are released into
-the public domain. Everything else is covered by the following
-license:
-
-Copyright 2010 Joe Wreschnig
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
index 62a1d0419c696097fb723e58084287194d2056e6..d872be88ed5eb738d2022c182faa220ccc6eed3a 100644 (file)
@@ -4,31 +4,32 @@ BulletML is the Bullet Markup Language. BulletML can describe the
 barrage of bullets in shooting games. (For example Progear, Psyvariar,
 Gigawing2, G DARIUS, XEVIOUS, ...) This module parses and executes
 BulletML scripts in Python. All data structures in it are
-renderer-agnostic.
+renderer-agnostic. A sample renderer for Pygame is included. The full
+API documentation is contained in its Python docstrings.
 
 In addition to the standard BulletML XML format, this module supports
-an equivalent YAML format. See bulletml.bulletyaml for more details.
-
-Finally, three simple collision routines are provided:
-bulletml.overlaps for stationary circles, bulletml.collides for moving
-circles, and bulletml.collides_all for one moving circle against many
-moving circles.
+an equivalent YAML format. For convenience, two simple collision
+routines are provided, bulletml.overlaps for stationary circles and
+bulletml.collides for moving circles.
 
 More information is available at the BulletML homepage,
 http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html, or the
-python-bullet homepage, http://code.google.com/p/python-bulletml/.
+python-bulletml homepage, https://yukkurigames.com/python-bulletml/.
+
 
 Basic Usage:
 
     from bulletml import Bullet, BulletML
-    doc = Bulletml.BulletML.FromDocument(open("test.xml", "rU"))
+
+    doc = BulletML.FromDocument(open("test.xml", "rU"))
     player = ...  # On your own here, but it needs x and y fields.
     rank = 0.5    # Player difficulty, 0 to 1
+
     bullet = Bullet.FromDocument(doc, x, y, target=player, rank=rank)
     bullets = [bullet]
     ...
     for bullet in bullets:
-        bullets.extend(bullet.step())
+        bullets.extend(bullet.step()) # step() returns new Bullets
     ...
 
 For drawing, you're on your own, but Bullet instances have a number of
@@ -40,9 +41,8 @@ from bulletml.parser import BulletML
 from bulletml.impl import Bullet
 from bulletml.collision import overlaps, collides, collides_all
 
-VERSION = (2,)
+VERSION = (3,)
 VERSION_STRING = ".".join(map(str, VERSION))
 
 __all__ = ["VERSION", "VERSION_STRING", "Bullet", "BulletML",
            "overlaps", "collides", "collides_all"]
-
index fb4b2e329436be7e6f4440ebfcec5818a0379d76..a6c07cd25aae80035a55fab7c0f111f9b517522f 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -105,8 +105,8 @@ class test_cmd(Command):
 if __name__ == "__main__":
     setup(cmdclass=dict(clean=clean, test=test_cmd, coverage=coverage_cmd,
                         sdist=sdist),
-          name="python-bulletml", version="2",
-          url="http://code.google.com/p/python-bulletml/",
+          name="python-bulletml", version="3",
+          url="https://yukkurigames.com/python-bulletml/",
           description="parse and run BulletML scripts",
           author="Joe Wreschnig",
           author_email="joe.wreschnig@gmail.com",
@@ -122,18 +122,15 @@ BulletML is the Bullet Markup Language. BulletML can describe the
 barrage of bullets in shooting games. (For example Progear, Psyvariar,
 Gigawing2, G DARIUS, XEVIOUS, ...) This module parses and executes
 BulletML scripts in Python. All data structures in it are
-renderer-agnostic.
+renderer-agnostic. A sample renderer for Pygame is included. The full
+API documentation is contained in its Python docstrings.
 
 In addition to the standard BulletML XML format, this module supports
-an equivalent YAML format.
-
-Finally, two simple collision routines are provided, bulletml.overlaps
-for stationary circles and bulletml.collides for moving circles.
-
-A sample renderer for Pygame is included.
+an equivalent YAML format. For convenience, two simple collision
+routines are provided, bulletml.overlaps for stationary circles and
+bulletml.collides for moving circles.
 
 More information is available at the BulletML homepage,
 http://www.asahi-net.or.jp/~cs8k-cyu/bulletml/index_e.html, or the
-python-bullet homepage, http://code.google.com/p/python-bulletml/.
-"""
-          )
+python-bulletml homepage, https://yukkurigames.com/python-bulletml/.
+""")