예제 #1
0
def main(port=5000):
    global db
    db = connect()
    plugins = get_config(db, "plugins")
    db.close()

    db = connect()

    admin = Admin(app)
    admin.name = "MSNoise"
    admin.project_folder = os.getcwd()
    tech, hostname, database, username, password = read_database_inifile()
    if tech == 1:
        database = "SQLite: %s"%hostname
    else:
        database = "MySQL: %s@%s:%s"%(username, hostname, database)
    admin.project_database = database

    plugins = get_config(db, "plugins")
    jobtypes = ["CC","DTT"]
    if plugins:

        for ep in pkg_resources.iter_entry_points(group='msnoise.plugins.jobtypes'):
            module_name = ep.module_name.split(".")[0]
            if module_name in plugins:
                tmp = ep.load()()
                for t in tmp:
                    jobtypes.append(t["name"])

    # print jobtypes


    admin.add_view(StationView(db,endpoint='stations', category='Configuration'))
    admin.add_view(FilterView(db,endpoint='filters', category='Configuration'))
    admin.add_view(ConfigView(db,endpoint='config', category='Configuration'))

    admin.add_view(DataAvailabilityView(db,endpoint='data_availability',category='Database'))

    admin.add_view(JobView(db,endpoint='jobs',category='Database'))


    #admin.add_view(DataAvailabilityPlot(endpoint='data_availability_plot',category='Results'))
    # admin.add_view(ResultPlotter(endpoint='results',category='Results'))
    # admin.add_view(InterferogramPlotter(endpoint='interferogram',category='Results'))

    if plugins:
        plugins = plugins.split(',')
        for ep in pkg_resources.iter_entry_points(group='msnoise.plugins.admin_view'):
            module_name = ep.module_name.split(".")[0]
            if module_name in plugins:
                admin.add_view(ep.load()(db))

    a = GenericView(endpoint='about',category='Help', name='About')
    a.page = "about"
    admin.add_view(a)
    admin.add_view(BugReport(name='Bug Report', endpoint='bugreport', category='Help'))


    app.run(host='0.0.0.0', debug=True, port=port)
예제 #2
0
def main(port=5000):
    global db
    db = connect()
    plugins = get_config(db, "plugins")
    db.close()

    db = connect()

    admin = Admin(app)
    admin.name = "MSNoise"
    admin.add_view(StationView(db,endpoint='stations', category='Configuration'))
    admin.add_view(FilterView(db,endpoint='filters', category='Configuration'))
    admin.add_view(ConfigView(db,endpoint='config', category='Configuration'))

    admin.add_view(DataAvailabilityView(db,endpoint='data_availability',category='Database'))

    admin.add_view(JobView(db,endpoint='jobs',category='Database'))


    admin.add_view(DataAvailabilityPlot(endpoint='data_availability_plot',category='Results'))
    admin.add_view(ResultPlotter(endpoint='results',category='Results'))
    admin.add_view(InterferogramPlotter(endpoint='interferogram',category='Results'))

    if plugins:
        plugins = plugins.split(',')
        for ep in pkg_resources.iter_entry_points(group='msnoise.plugins.admin_view'):
            module_name = ep.module_name.split(".")[0]
            if module_name in plugins:
                admin.add_view(ep.load()(db))

    a = GenericView(endpoint='about',category='Help', name='About')
    a.page = "about"
    admin.add_view(a)
    admin.add_view(BugReport(name='Bug Report', endpoint='bugreport', category='Help'))


    app.run(host='0.0.0.0', debug=True, port=port)
예제 #3
0
class ArticleView(WritingView):
    pass

class ReviewView(WritingView):
    pass

class AuthorView(AuthMixin, ModelView):
    column_exclude_list = ['bio', 'twitter', 'email']
    form_overrides = dict(
        bio=TextAreaField
    )

class BookView(AuthMixin, ModelView):
    column_exclude_list = ['city', 'year', 'isbn_10', 'isbn_13', 'pages', 'price']
    form_overrides = dict(
        isbn_10=TextAreaField,
        isbn_13=TextAreaField)



admin.name = 'CMS'
# admin.index_view = IndexView()

admin.add_view(ArticleView(Article, db.session))
admin.add_view(ReviewView(Review, db.session))

# admin.add_view(IssueView(Issue, db.session))
admin.add_view(AuthorView(Author, db.session))
admin.add_view(TagView(Tag, db.session))
admin.add_view(BookView(Book, db.session))