diff options
| author | Simeon Simeonov | 2013-01-25 21:54:44 +0100 |
|---|---|---|
| committer | Simeon Simeonov | 2013-01-25 21:54:44 +0100 |
| commit | 3fcb4d9fbcc80b7bb2669eb03f838bb15fa9d5c6 (patch) | |
| tree | 564af611e2d925eb4cf4e781885ce154a712b984 /web_server.py | |
| parent | 5c2becae337ea7e2bcebec2912e4626d853b16aa (diff) | |
Some mess added
Diffstat (limited to 'web_server.py')
| -rwxr-xr-x | web_server.py | 47 |
1 files changed, 16 insertions, 31 deletions
diff --git a/web_server.py b/web_server.py index a8ccc7c..cec8c38 100755 --- a/web_server.py +++ b/web_server.py | |||
| @@ -1,55 +1,40 @@ | |||
| 1 | #!/usr/bin/env python | 1 | #!/usr/bin/env python |
| 2 | # -*- coding: utf-8 -*- | 2 | # -*- coding: utf-8 -*- |
| 3 | 3 | ||
| 4 | import json | ||
| 5 | import sys | 4 | import sys |
| 6 | 5 | ||
| 7 | import cherrypy | 6 | import cherrypy |
| 8 | 7 | ||
| 9 | from sqlalchemy import create_engine | 8 | class WebNotifyServer(object): |
| 10 | from sqlalchemy.orm import sessionmaker | ||
| 11 | |||
| 12 | from bpynotify_orm import NotificationEntry, notification_entry_table | ||
| 13 | 9 | ||
| 10 | def __init__(self): | ||
| 11 | self.counter = 0 | ||
| 14 | 12 | ||
| 15 | class WebNotifyServer(object): | 13 | @cherrypy.expose |
| 14 | def notifications(self, **kwargs): | ||
| 15 | self.counter += 1 | ||
| 16 | print(str(kwargs)) | ||
| 17 | print(self.counter) | ||
| 18 | return ("called") | ||
| 16 | 19 | ||
| 17 | def __init__(self, session): | ||
| 18 | self.session = session | ||
| 19 | 20 | ||
| 20 | @cherrypy.expose | 21 | @cherrypy.expose |
| 21 | def notifications(self): | 22 | def other(self, **kwargs): |
| 22 | query = self.session.query(NotificationEntry)\ | 23 | self.counter += 1 |
| 23 | .filter(NotificationEntry.viewed==False)\ | 24 | print(str(kwargs)) |
| 24 | .order_by(NotificationEntry.id) | 25 | print(self.counter) |
| 25 | entries = query.all() | 26 | return ("called") |
| 26 | entry_list = list() | ||
| 27 | for entry in entries: | ||
| 28 | #print(entry.message) | ||
| 29 | entry_list.append(entry.message) | ||
| 30 | entry.viewed = True | ||
| 31 | self.session.commit() | ||
| 32 | print (json.dumps(entry_list, sort_keys=True, indent=4)) | ||
| 33 | return json.dumps(entry_list, sort_keys=True, indent=4) | ||
| 34 | 27 | ||
| 35 | 28 | ||
| 36 | def main(): | 29 | def main(): |
| 37 | 30 | ||
| 38 | cherrypy.config.update({ | 31 | cherrypy.config.update({ |
| 39 | 'server.socket_host': '10.0.0.4', | 32 | 'server.socket_host': '10.0.0.4', |
| 40 | 'server.socket_port': 40004, | 33 | 'server.socket_port': 40003, |
| 41 | |||
| 42 | 'server.ssl_module': 'pyopenssl', | ||
| 43 | 'server.ssl_certificate': '/home/blackmore/gitprogs/bpynotify/cert.crt', | ||
| 44 | 'server.ssl_private_key': '/home/blackmore/gitprogs/bpynotify/key.pem', | ||
| 45 | }) | 34 | }) |
| 46 | 35 | ||
| 47 | try: | 36 | try: |
| 48 | engine = create_engine('sqlite:///notifications.db') | 37 | cherrypy.quickstart(WebNotifyServer()) |
| 49 | Session = sessionmaker(bind=engine) # bound session | ||
| 50 | session = Session() | ||
| 51 | |||
| 52 | cherrypy.quickstart(WebNotifyServer(session)) | ||
| 53 | 38 | ||
| 54 | except Exception as e: | 39 | except Exception as e: |
| 55 | sys.stderr.write("WebServer error: {0}".format(e)) | 40 | sys.stderr.write("WebServer error: {0}".format(e)) |
