/
main.py
62 lines (47 loc) · 2.12 KB
/
main.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
"""
Advance Subscription Program: organizes subscription records and generates print reports.
Copyright (C) 2014, 2015 Max Silbiger.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
"""
=======
from camelot.core.conf import settings, SimpleSettings
import logging, os, jinja2
logging.basicConfig( level = logging.ERROR )
logger = logging.getLogger( 'main' )
# begin custom settings
class MySettings( SimpleSettings ):
# add an ENGINE or a CAMELOT_MEDIA_ROOT method here to connect
# to another database or change the location where files are stored
ROOT_DIR = os.path.dirname(os.path.abspath(__file__))
CAMELOT_MEDIA_ROOT = os.path.abspath(os.path.join(ROOT_DIR, 'images'))
def ENGINE( self ):
from sqlalchemy import create_engine
return create_engine(u'sqlite:///subscriptions.db')
def setup_model( self ):
"""This function will be called at application startup, it is used to
setup the model"""
from camelot.core.sql import metadata
from sqlalchemy.orm import configure_mappers
metadata.bind = self.ENGINE()
import camelot.model.i18n
import subs.model
configure_mappers()
metadata.create_all()
my_settings = MySettings( 'Max Silbiger', 'Subscriptions' )
settings.append( my_settings )
# end custom settings
def start_application():
from camelot.view.main import main
from subs.application_admin import MyApplicationAdmin
main(MyApplicationAdmin())
if __name__ == '__main__':
start_application()