def index( self ): ModelArticles = MVC.loadModel('Articles') ModelArticlesSources = MVC.loadModel('ArticlesSources') data = { 'articles' : ModelArticles.getAll(), 'sources' : ModelArticlesSources.getAll() } return self.Renderer.build( 'admin/articles/index.html', data )
def prowl_alerts( self, message ): UserModel = MVC.loadModel( 'User' ) users = UserModel.getUsersWithMeta( 'prowl-apikey' ) Prowl = MVC.loadDriver('Prowl') for user in users: Prowl.send( user['meta']['prowl-apikey'], message[0], message[1], 1 ) # End File: models/ModelAlert.py
def info( self, user_id = False ): UserModel = MVC.loadModel( 'User' ) ACL = MVC.loadHelper( 'ACL' ) data = {} if user_id != False: data['user'] = UserModel.getById( user_id ) data['roles'] = ACL.getAllRoles() return self.Renderer.make( 'admin/user/info.html', data ) else: return 'error'
def settings( self, *boom ): UsersModel = MVC.loadModel('User') Settings = MVC.loadHelper( 'Settings' ) #Settings.update( 'url', 'http://www.somewhere.com' ) tpl_args = { 'users' : UsersModel.getAll(), 'settings' : Settings.get_options() } view = env.get_template('settings/index.html') return view.render( d = tpl_args )
def acl_perm_update( self, **kwargs ): if kwargs: ACL = MVC.loadHelper( 'ACL' ) if kwargs['perm_id'] == '': Misc = MVC.loadHelper( 'Misc' ) perm_id = ACL.createPerm( Misc.slug( kwargs['perm_name'] ), kwargs['perm_name'] )[0] if kwargs['role_id'] != '': ACL.createRolePerm( kwargs['role_id'], perm_id ) raise cherrypy.HTTPRedirect( '/admin/user_acl/' ) # End File: controllers/admin/ControllerAdminUser.py
def getLoadLevel( self, article, hide = True, load_level = 'light' ): if load_level == 'full': ModelArticlesSources = MVC.loadModel('ArticlesSources') article['source'] = ModelArticlesSources.getByID( article['source_id'] ) article['meta'] = self.getMeta( article['id'] ) if article['meta']: if 'assoc_company' in article['meta']: ModelCompany = MVC.loadModel('Company') article['meta']['companies'] = [] for c_id in article['meta']['assoc_company']['value']: article['meta']['companies'].append( ModelCompany.getByID( c_id, hide ) ) return article
def info( self, company_id = None ): if company_id: ModelCompany = MVC.loadModel('Company') # ModelCompanyNews = MVC.loadModel('CompanyNews') company = ModelCompany.getByID( company_id, 'full', hide = False ) if not company: raise cherrypy.HTTPRedirect( '/admin/error/?e="cantfindcompany"' ) ModelArticles = MVC.loadModel('Articles') data = { 'company' : company, 'articles' : ModelArticles.getByCompany( company_id ) } return self.Renderer.build( 'admin/companies/info.html', data ) else: raise cherrypy.HTTPRedirect( '/admin/error/?e="cantfindcompany"' )
def dashboard( self ): Weather = MVC.loadModel('Weather') tpl_args = { 'weather_indoor' : Weather.get_current() } view = env.get_template('index.html') return view.render( d = tpl_args )
def sensor_sht1x(): global verbose if verbose: print 'SHTX Sensor' GPIO = MVC.loadDriver( 'GPIO' ) reading = GPIO.read_sht1x() return reading
def chart_water_temp( self ): WaterModel = MVC.loadModel('Water') tpl_args = { 'water_stats' : WaterModel.get_stats( ) } view = env.get_template('water/chart-temp.html') return view.render( d = tpl_args )
def update( self, **kwargs ): Settings = MVC.loadHelper( 'Settings') if kwargs['meta_id'] == '': Settings.create( kwargs['meta_key'], kwargs['meta_value'] ) else: Settings.update( kwargs['meta_key'], kwargs['meta_value'] ) raise cherrypy.HTTPRedirect( '/admin/settings' )
def chart_humidity( self ): Weather = MVC.loadModel('Weather') tpl_args = { 'weather_stats' : Weather.get_stats( ) } view = env.get_template('weather/chart-humidity.html') return view.render( d = tpl_args )
def lighting( status ): global verbose Devices = MVC.loadModel('Devices') Devices.lighting( status ) if verbose: print 'Lights have been turned %s' % status sys.exit()
def index( self ): """ Main home page. """ Company = MVC.loadModel( 'Company' ) SimpleStats = MVC.loadModel( 'SimpleStats' ) data = { 'random_company' : Company.getRandom(), 'stats' : { 'company_count' : SimpleStats.countOfCompanies(), 'people_count' : SimpleStats.countOfPeople(), 'article_count' : SimpleStats.countOfArticles(), 'sources_count' : SimpleStats.countOfArticlesSources() } } return self.Renderer.build( 'frontend/index.html', data )
def meta_create( self, **kwargs ): if kwargs: User = MVC.loadModel('User') help_text = '' parent = '' User.addMeta( kwargs['user_id'], kwargs['meta_key'], kwargs['meta_value'], kwargs['pretty_name'], help_text, parent ) raise cherrypy.HTTPRedirect( '/admin/user/info/%s' % kwargs['user_id'] )
def people( self ): """ Roster page of people """ PeopleModel = MVC.loadModel('People') data = { 'people' : PeopleModel.getAll() } return self.Renderer.build( 'frontend/people.html' )
def getLoadLevel( self, person, load_level = 'light' ): if load_level == 'full': person['meta'] = self.getMeta( person['id'] ) if person['meta']: if 'people' in person['meta']: ModelPeople = MVC.loadModel('People') people = [] return person
def messaging( self, message ): if Settings.get_option('use-prowl'): Prowl = MVC.loadDriver('Prowl') prowl_api_key = Settings.get_option('prowl-apikey') Prowl.send( prowl_api_key, message[0], message[1], 1 ) # End File: models/ModelAlert.py
def __init__( self ): self.Renderer = MVC.loadDriver('Renderer') self.Renderer.layout = 'admin/layout.html' self.Renderer.layout_args = { 'ga_tracker' : '', 'cdn' : MVC.server['cdn'], 'production' : MVC.server['production'] }
def weather( self ): Weather = MVC.loadModel('Weather') tpl_args = { 'weather_current' : Weather.get_current(), 'weather_min_max' : Weather.get_min_max(), } view = env.get_template('weather/index.html') return view.render( d = tpl_args )
def meta_delete( self, user_id, metaID_or_key = False ): if metaID_or_key: UserModel = MVC.loadModel( 'User' ) if metaID_or_key.isdigit(): meta_id = metaID_or_key else: meta_key = metaID_or_key # @todo: build a way to delete by meta_key raise cherrypy.HTTPRedirect( '/admin/user/info/%s' % kwargs['user_id'] )
def companies( self ): """ List of all companies. """ Compaines = MVC.loadModel( 'Companies' ) data = { 'companies' : Compaines.getAll( False ) } return self.Renderer.build( 'frontend/companies.html', data )
def getMeta( self, article_id, metas = None ): """ @params: article_id : int() metas : list() meta keys @return: dict{ 'meta_key': 'meta_value' } """ MetaStore = MVC.loadHelper('MetaStore') return MetaStore.get( entity='articles', entity_id=article_id )
def getMeta( self, people_id, metas = None ): """ @params: company_id : int() metas : list() meta keys @return: dict{ 'meta_key': 'meta_value' } """ MetaStore = MVC.loadHelper('MetaStore') return MetaStore.get( entity = 'people', entity_id = people_id )
def createRolePerm( self, role_id, perm_id ): Time = MVC.loadHelper('Time') sql_check = 'SELECT * FROM `%s`.`acl_role_perms` WHERE `roleID` = "%s" AND `permID` = "%s";' % ( self.database, role_id, perm_id ) role_perm_exists = Mysql.ex( sql_check ) if len( role_perm_exists ) == 0: insert_sql = 'INSERT INTO `%s`.`acl_role_perms` ( `roleID`, `permID`, `value`, `addDate` ) VALUES( "%s", "%s", "1", "%s");' % ( self.database, role_id, perm_id, Time.now() ) Mysql.ex( insert_sql ) else: update_sql = "UPDATE `%s`.`acl_role_perms` SET `value` = 1 WHERE ID = %s; " % ( self.database, role_perm_exists[0][0] ) Mysql.ex( update_sql )
def createMeta( self, person_id, metas ): """ @params: company_id : int meta : dict { 'meta_key' : 'meta_value', 'meta_key' : 'meta_value', } """ MetaStore = MVC.loadHelper('MetaStore') MetaStore.create( 'people', person_id, metas )
def auth( self, **kwargs ): if kwargs: UserModel = MVC.loadModel('User') user = UserModel.auth( kwargs['user_name'], kwargs['password'] ) if user: return 'youre in' else: return 'youre out' else: print '' return ''
def createMeta( self, article_id, metas ): """ @params: article_id : int meta : [ { "meta_key" : 'test_meta', "meta_value" : '13,254', "meta_type" : 'comma' }, ] """ MetaStore = MVC.loadHelper('MetaStore') MetaStore.create( 'articles', article_id, metas )
def info( self, slug_name ): """ General Information page for a single company """ CompanyModel = MVC.loadModel( 'Company' ) Company = CompanyModel.getBySlug( slug_name, 'full' ) if Company: data = { 'company' : Company } return self.Renderer.build( 'frontend/info.html', data ) else: data = { 'searched_for' : slug_name } return self.Renderer.build( 'errors/company_not_found.html', data )
def getStatus( self, device ): Formula = MVC.loadHelper('Formula') status = "" try: for i in range (0, 30): status += chr( self.bus.read_byte(device) ) time.sleep(0.05); time.sleep(0.1) except: Alert = MVC.loadModel('Alert') Alert.messaging( ['I2C Bus Issue', 'There is a problem reading the I2c bus, we cannot collect data at this time.'] ) return False sensors = [ 'water-temp', 'flow-rate' ] status = status.split('x') # water temp status[0] = Formula.celcius_to_fahrenheit( float( str( status[0][0:-1] ).replace(',','') + '.' + str( status[0][-1] ).replace(',','') ) )# Adjusted because the sensor doesnt put a decimal place in status[1] = status[1].split('.') status[1] = str( status[1][0][0:-1] + '.' + status[1][0][-1] ) return status
""" Created on Sat Mar 2 16:30:53 2019 @author: orrivlin """ from discrete_actor_critic import DiscreteActorCritic from MVC import MVC import matplotlib.pyplot as plt from smooth_signal import smooth import numpy as np import time import torch n = 19 # number of nodes p = 0.15 # edge probability env = MVC(n, p) cuda_flag = False alg = DiscreteActorCritic(env, cuda_flag) num_episodes = 1 lista = [] for i in range(num_episodes): T1 = time.time() log = alg.train() T2 = time.time() lista.append(log.get_current('tot_return')) print('---------------------------------------------------') print('Epoch: {}. R: {}. TD error: {}. H: {}. T: {}'.format( i, np.round(log.get_current('tot_return'), 2), np.round(log.get_current('TD_error'), 3), np.round(log.get_current('entropy'), 3), np.round(T2 - T1, 3)))
""" import torch from MVC import MVC import dgl import torch.nn.functional as F from Models import ACNet import time from copy import deepcopy as dc import matplotlib.pyplot as plt import networkx as nx cuda_flag = True num_nodes = 40 p_edge = 0.15 mvc = MVC(num_nodes, p_edge) ndim = mvc.get_graph_dims() if cuda_flag: NN = ACNet(ndim, 264, 1).cuda() else: NN = ACNet(ndim, 264, 1) PATH = 'mvc_net.pt' NN.load_state_dict(torch.load(PATH)) init_state, done = mvc.reset() pos = nx.spring_layout(init_state.g.to_networkx(), iterations=20) #### GCN Policy state = dc(init_state) if cuda_flag: