def redirect_me(request): uid = request.matchdict['uid'] url = "http://www.stackexchange.com" try: row = DBSession.query(RasPi).filter(RasPi.uuid == uid).first() if row: url = row.url logging.info("UID {uid}: {page}".format(uid=row.uuid, page=url)) else: row = RasPi() row.uuid = uid row.url = "http://www.stackexchange.com" row.landscape = True row.browser = True DBSession.add(row) DBSession.flush() logging.warn( "UID {uid} NOT FOUND. ADDED TO TABLE WITH DEFAULT URL".format( uid=uid)) url = row.url except Exception: logging.error( "Something went south with DB when searching for {uid}".format( uid=uid)) raise exc.HTTPFound(url)
def get_pi_info(uid): tags = [] row = DBSession.query(RasPi).filter(RasPi.uuid == uid).first() if row is None: row = RasPi() row.uuid = uid row.url = "http://www.stackexchange.com" row.landscape = True row.lastseen = datetime.now() row.description = "" row.orientation = 0 row.browser = True DBSession.add(row) DBSession.flush() else: try: tagset = DBSession.query(Tags).filter(Tags.uuid == uid).all() for tag in tagset: tags.append(tag.tag) except Exception: pass rowdict = row.get_dict() rowdict['tags'] = tags return rowdict
def view_api_post_new_tag(request): uid=request.matchdict['uid'] tag=request.matchdict['tag'] newtag = Tags() newtag.uuid=uid newtag.tag=tag DBSession.add(newtag) DBSession.flush()
def view_api_post_new_tag(request): uid=request.matchdict['uid'] tag=request.matchdict['tag'] newtag = Tags() newtag.uuid=uid newtag.tag=tag DBSession.add(newtag) DBSession.flush()
def view_api_screenshot_save(request): uid = request.matchdict['uid'] imgblob = request.POST['screenshot'].file '''first, delete previous screenshot''' DBSession.query(Screenshot).filter(Screenshot.uuid == uid).delete() '''Now, lets make a new screenshot''' foo = Screenshot() foo.uuid = uid foo.image = imgblob.read() DBSession.add(foo) DBSession.flush()
def setUp(self): self.config = testing.setUp() from sqlalchemy import create_engine engine = create_engine('sqlite://') from pi_director.models.models import ( Base, RasPi, ) DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: model = RasPi(name='one', value=55) DBSession.add(model)
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, options=options) engine = engine_from_config(settings, "sqlalchemy.") DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: model = RasPi(uuid="default", url="http://www.facebook.com") DBSession.add(model)
def view_api_screenshot_save(request): uid = request.matchdict['uid'] imgblob = request.POST['screenshot'].file '''first, delete previous screenshot''' DBSession.query(Screenshot).filter(Screenshot.uuid == uid).delete() '''Now, lets make a new screenshot''' foo = Screenshot() foo.uuid = uid foo.image = imgblob.read() DBSession.add(foo) DBSession.flush()
def setUp(self): self.config = testing.setUp() from sqlalchemy import create_engine engine = create_engine('sqlite://') from pi_director.models.models import ( Base, RasPi, ) DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: model = RasPi(name='one', value=55) DBSession.add(model)
def view_api_log_save(request): uid = request.matchdict['uid'] pi_log = request.POST['pi_log'] filename = request.POST['filename'] DBSession.query(Logs).filter( Logs.uuid == uid).filter( Logs.filename == filename).delete() new_log = Logs() new_log.filename = filename new_log.uuid = uid new_log.log = pi_log DBSession.add(new_log) DBSession.flush()
def view_api_log_save(request): uid = request.matchdict['uid'] pi_log = request.POST['pi_log'] filename = request.POST['filename'] DBSession.query(Logs).filter( Logs.uuid == uid).filter( Logs.filename == filename).delete() new_log = Logs() new_log.filename = filename new_log.uuid = uid new_log.log = pi_log DBSession.add(new_log) DBSession.flush()
def make_an_admin(request): email = request.matchdict['email'] '''First, make sure there aren't already admins in the system''' res = DBSession.query(UserModel).filter(UserModel.AccessLevel == 2).first() if res != None: msg = "User already an admin: {user}".format(user=res.email) return False user = DBSession.query(UserModel).filter(UserModel.email == email).first() if user == None: user = UserModel() user.email = email DBSession.add(user) user.AccessLevel = 2 DBSession.flush() return True
def make_an_admin(request): email=request.matchdict['email'] '''First, make sure there aren't already admins in the system''' res=DBSession.query(UserModel).filter(UserModel.AccessLevel==2).first() if res != None: msg="User already an admin: {user}".format(user=res.email) return False user=DBSession.query(UserModel).filter(UserModel.email==email).first() if user == None: user=UserModel() user.email=email DBSession.add(user) user.AccessLevel=2 DBSession.flush() return True
def login_complete_view(request): context = request.context result = { 'provider_type': context.provider_type, 'provider_name': context.provider_name, 'profile': context.profile, 'credentials': context.credentials, } email = context.profile['verifiedEmail'] try: User = DBSession.query(UserModel).filter(UserModel.email==email).one() except NoResultFound, e: User = UserModel() User.email = email User.AccessLevel = 1 DBSession.add(User) DBSession.flush()
def view_api_ping(request): uid = request.matchdict['uid'] now = datetime.now() row = DBSession.query(RasPi).filter(RasPi.uuid == uid).first() if row is None: row = RasPi() row.uuid = uid row.url = "http://www.stackexchange.com" row.landscape = True row.orientation = 0 row.description = "" row.lastseen = now DBSession.add(row) DBSession.flush()
def view_api_ping(request): uid = request.matchdict['uid'] now = datetime.now() row = DBSession.query(RasPi).filter(RasPi.uuid == uid).first() if row is None: row = RasPi() row.uuid = uid row.url = "http://www.stackexchange.com" row.landscape = True row.orientation = 0 row.description = "" row.browser = True row.lastseen = now DBSession.add(row) DBSession.flush()
def login_complete_view(request): context = request.context result = { 'provider_type': context.provider_type, 'provider_name': context.provider_name, 'profile': context.profile, 'credentials': context.credentials, } email = context.profile['verifiedEmail'] try: User = DBSession.query(UserModel).filter( UserModel.email == email).one() except NoResultFound, e: User = UserModel() User.email = email User.AccessLevel = 1 DBSession.add(User) DBSession.flush()
def redirect_me(request): uid = request.matchdict['uid'] url = "http://www.stackexchange.com" try: row = DBSession.query(RasPi).filter(RasPi.uuid==uid).first() if row: url = row.url logging.info("UID {uid}: {page}".format(uid=row.uuid, page=url)) else: row = RasPi() row.uuid = uid row.url = "http://www.stackexchange.com" row.landscape = True DBSession.add(row) DBSession.flush() logging.warn("UID {uid} NOT FOUND. ADDED TO TABLE WITH DEFAULT URL".format(uid=uid)) url = row.url except Exception: logging.error("Something went south with DB when searching for {uid}".format(uid=uid)) raise exc.HTTPFound(url)
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, options=options) engine = engine_from_config(settings, 'sqlalchemy.') DBSession.configure(bind=engine) Base.metadata.create_all(engine) with transaction.manager: model = RasPi() model.uuid = '11:22:33:44:55:66' model.description = "Testing Pi" model.url = "http://www.facebook.com" model.orientation = 0 model.browser = True model.lastseen = datetime.now() DBSession.add(model) tag = Tags() tag.uuid = '11:22:33:44:55:66' tag.tag = 'test' DBSession.add(tag) User = UserModel() User.email = '*****@*****.**' User.AccessLevel = 2 DBSession.add(User) DBSession.flush()
def view_json_set_pi(request): # TODO: move into controller(s) uid = request.matchdict['uid'] response = request.json_body row = DBSession.query(RasPi).filter(RasPi.uuid == uid).first() if row is None: row = RasPi() row.uuid = uid row.url = response['url'] row.description = response['description'] row.orientation = response['orientation'] row.browser = response['browser'] DBSession.add(row) DBSession.flush() rowdict = { 'uuid': row.uuid, 'url': row.url, 'description': row.description, 'orientation': row.orientation, 'browser': row.browser } return rowdict
def view_json_set_pi(request): # TODO: move into controller(s) uid = request.matchdict['uid'] response = request.json_body row = DBSession.query(RasPi).filter(RasPi.uuid == uid).first() if row is None: row = RasPi() row.uuid = uid row.url = response['url'] row.description = response['description'] row.orientation = response['orientation'] row.browser = response['browser'] DBSession.add(row) DBSession.flush() rowdict = { 'uuid': row.uuid, 'url': row.url, 'description': row.description, 'orientation': row.orientation, 'browser': row.browser } return rowdict