demo/MANIFEST.in | 2 ++ demo/demo/consumer.py | 7 +++++++ demo/demo/producer.py | 8 ++++++++ demo/demo/root.py | 12 ++++++++++++ demo/demo/template.mak | 8 ++++++++ demo/demo/widget.py | 9 +++++++++ demo/setup.py | 31 +++++++++++++++++++++++++++++++ 7 files changed, 77 insertions(+)
New commits: commit 90e57260092911d6897160db40d0ca74a017b8c0 Author: Luke Macken lmacken@redhat.com Date: Sat Oct 2 00:12:05 2010 -0400
Add the beginnings of our simple Hello World demo
diff --git a/demo/MANIFEST.in b/demo/MANIFEST.in new file mode 100644 index 0000000..2d52b69 --- /dev/null +++ b/demo/MANIFEST.in @@ -0,0 +1,2 @@ +include *.py +graft demo diff --git a/demo/demo/__init__.py b/demo/demo/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/demo/demo/consumer.py b/demo/demo/consumer.py new file mode 100644 index 0000000..c32fea6 --- /dev/null +++ b/demo/demo/consumer.py @@ -0,0 +1,7 @@ +from moksha.api.hub.consumer import Consumer + +class HelloWorldConsumer(Consumer): + topic = 'helloworld' + + def consume(self, message): + self.log.info('Received message: ' + message['body']['msg']) diff --git a/demo/demo/producer.py b/demo/demo/producer.py new file mode 100644 index 0000000..bfd44f4 --- /dev/null +++ b/demo/demo/producer.py @@ -0,0 +1,8 @@ +from moksha.api.hub.producer import PollingProducer +from datetime import timedelta + +class HelloWorldProducer(PollingProducer): + frequency = timedelta(seconds=3) + + def poll(self): + self.send_message('helloworld', {'msg': 'Hello World!'}) diff --git a/demo/demo/root.py b/demo/demo/root.py new file mode 100644 index 0000000..3574b84 --- /dev/null +++ b/demo/demo/root.py @@ -0,0 +1,12 @@ +from tg import expose + +class Root(object): + + @expose() + def index(self, *args, **kwargs): + return 'Hello World!' + + @expose('mako:demo.template') + def mako(self, *args, **kwargs): + """ An example controller method exposed with a Mako template """ + return {'msg': 'Hello World!'} diff --git a/demo/demo/template.mak b/demo/demo/template.mak new file mode 100644 index 0000000..2010e44 --- /dev/null +++ b/demo/demo/template.mak @@ -0,0 +1,8 @@ +<html> + <head> + <title>${msg}</title> + </head> + <body> + ${msg} + </body> +</html> diff --git a/demo/demo/widget.py b/demo/demo/widget.py new file mode 100644 index 0000000..a954c92 --- /dev/null +++ b/demo/demo/widget.py @@ -0,0 +1,9 @@ +from moksha.api.widgets.live import LiveWidget + +class HelloWorldWidget(LiveWidget): + topic = "helloworld" + onmessage = "$('#data').append(json.msg).append('<br/>');" + template = """ + <b>Hello World Widget</b> + <div id="data"/> + """ diff --git a/demo/setup.py b/demo/setup.py new file mode 100644 index 0000000..8cc041e --- /dev/null +++ b/demo/setup.py @@ -0,0 +1,31 @@ +from setuptools import setup, find_packages + +setup( + name='moksha.demo', + version='0.1', + description='A Hello World Moksha app', + author='Luke Macken', + author_email='lmacken@redhat.com', + url='http://moksha.fedorahosted.org', + license='GPLv3+', + install_requires=['Moksha'], + packages=find_packages(), + include_package_data=True, + test_suite='nose.collector', + + entry_points=""" + + [moksha.root] + root = demo.root:Root + + [moksha.producer] + helloworld = demo.producer:HelloWorldProducer + + [moksha.consumer] + helloworld = demo.consumer:HelloWorldConsumer + + [moksha.widget] + helloworld = demo.widget:HelloWorldWidget + + """ +)
moksha-commits@lists.fedorahosted.org