def main(global_config, **settings): """ This function returns a Pyramid WSGI application. """ engine = engine_from_config(settings, 'plant_settings_database.') DBSession.configure(bind=engine) Base.metadata.bind = engine config = Configurator(settings=settings) config.add_static_view('static', 'farmgui:static', cache_max_age=3600) config.include(add_routes) config.scan() return config.make_wsgi_app()
def plant_settings_new(self): response_dict = dict() addForm = Form(PlantSettingsSchema(), formid='addForm', buttons=('Save',), use_ajax=True) form = addForm.render() if 'Save' in self.request.POST: controls = self.request.POST.items() try: values = addForm.validate(controls) new_setting = PlantSetting(values['Plant'], values['Variety'], values['Method'], values['Description']) PlantSettings_Session.add(new_setting) return HTTPFound(location=self.request.route_url('plant_settings_list')) except ValidationFailure as e: form = e.render() return {'addForm': form}
def plant_settings_list(self): try: plant_settings = PlantSettings_Session.query(PlantSetting).all() except DBAPIError: return Response('database error.', content_type='text/plain', status_int=500) return {'plant_settings': plant_settings}
def plant_settings_view(self): try: plant_setting = PlantSettings_Session.query(PlantSetting).filter( PlantSetting._id == self.request.matchdict['_id']).first() return {'plant_setting': plant_setting} except DBAPIError: return Response('database error.', content_type='text/plain', status_int=500)
def stage_new(self): response_dict = dict() addForm = Form(StageSchema(), formid='addForm', buttons=('Save',), use_ajax=True) form = addForm.render() if 'Save' in self.request.POST: controls = self.request.POST.items() try: plant_setting = PlantSettings_Session.query(PlantSetting).filter(PlantSetting._id==self.request.matchdict['_id']).first() except DBAPIError: return Response('database error.', content_type='text/plain', status_int=500) try: values = addForm.validate(controls) new_stage = Stage(plant_setting, values['Number'], values['Duration'], values['Name'], values['Description']) PlantSettings_Session.add(new_stage) return HTTPFound(location=self.request.route_url('plant_settings_view', _id=plant_setting._id)) except ValidationFailure as e: form = e.render() return {'addForm': form}
def main(argv=sys.argv): if len(argv) < 2: usage(argv) config_uri = argv[1] options = parse_vars(argv[2:]) setup_logging(config_uri) settings = get_appsettings(config_uri) plant_settings_engine = engine_from_config(settings, 'plant_settings_database.') PlantSettings_Session.configure(bind=plant_settings_engine) PlantSettings_Base.metadata.create_all(plant_settings_engine) field_controller_engine = engine_from_config(settings, 'field_controller_database.') FieldController_Session.configure(bind=field_controller_engine) FieldController_Base.metadata.create_all(field_controller_engine) with transaction.manager: init_Parameters(PlantSettings_Session) pass
def plant_settings_new(self): response_dict = dict() addForm = Form(PlantSettingsSchema(), formid='addForm', buttons=('Save', ), use_ajax=True) form = addForm.render() if 'Save' in self.request.POST: controls = self.request.POST.items() try: values = addForm.validate(controls) new_setting = PlantSetting(values['Plant'], values['Variety'], values['Method'], values['Description']) PlantSettings_Session.add(new_setting) return HTTPFound( location=self.request.route_url('plant_settings_list')) except ValidationFailure as e: form = e.render() return {'addForm': form}
class StageConfigurationSchema(MappingSchema): parameter = SchemaNode( typ=Int(), title='Parameter', widget=SelectWidget(values=[(_id, name) for _id, name in DBSession.query( Parameter._id, Parameter.name)])) time = SchemaNode(typ=Time(), title='Time', default=time(0, 0)) setpoint = SchemaNode(typ=Float(), title='Setpoint') upper_limit = SchemaNode(typ=Float(), title='Upper limit') lower_limit = SchemaNode(typ=Float(), title='Lower limit')
def parameters_new(self): response_dict = dict() addForm = Form(ParameterSchema(), formid='addForm', buttons=('Save', ), use_ajax=True) form = addForm.render() if 'Save' in self.request.POST: controls = self.request.POST.items() try: values = addForm.validate(controls) new_parameter = Parameter(values['Name'], values['Unit'], values['Minimum'], values['Maximum'], values['Description']) PlantSettings_Session.add(new_parameter) return HTTPFound( location=self.request.route_url('parameters_list')) except ValidationFailure as e: form = e.render() return {'addForm': form}
def plant_settings_view(self): try: plant_setting = PlantSettings_Session.query(PlantSetting).filter(PlantSetting._id==self.request.matchdict['_id']).first() return {'plant_setting': plant_setting} except DBAPIError: return Response('database error.', content_type='text/plain', status_int=500)
def stage_view(self): try: stage = PlantSettings_Session.query(Stage).filter(Stage._id==self.request.matchdict['_id']).first() return {'stage': stage} except DBAPIError: return Response('database error.', content_type='text/plain', status_int=500)