def POST(self, medium, id): import uuid form = New.form() x = web.input(file={}) banner = model.get_banner(medium, int(id)) if not form.validates(): return get_render(medium).edit(medium, banner, form) if 'file' in x and x.file: image_file = x.file.file filename = 'static/%s.jpg' % uuid.uuid4() fout = open('%s/%s' % (PROJECT_DIR, filename), 'w') fout.write(image_file.read()) fout.close() if os.path.exists('%s/%s' % (PROJECT_DIR, banner.file)): os.remove('%s/%s' % (PROJECT_DIR, banner.file)) else: image_file = None filename = banner.file if form.d.zone == 'auto': zone = get_zone_for_file( image_file or open(PROJECT_DIR + '/' + filename, 'r')) else: zone = form.d.zone model.update_banner(medium, int(id), zone, filename, form.d.link, form.d.link_mode, form.d.weight, form.d.subzone) raise web.seeother('/%s' % medium)
def POST(self, medium, id): import uuid form = New.form() x = web.input(file={}) banner = model.get_banner(medium, int(id)) if not form.validates(): return get_render(medium).edit(medium, banner, form) if 'file' in x and x.file: image_file = x.file.file filename='static/%s.jpg' % uuid.uuid4() fout = open('%s/%s' % (PROJECT_DIR, filename), 'w') fout.write(image_file.read()) fout.close() if os.path.exists('%s/%s' % (PROJECT_DIR, banner.file)): os.remove('%s/%s' % (PROJECT_DIR, banner.file)) else: image_file = None filename = banner.file if form.d.zone == 'auto': zone = get_zone_for_file(image_file or open(PROJECT_DIR + '/' + filename, 'r')) else: zone = form.d.zone model.update_banner(medium, int(id), zone, filename, form.d.link, form.d.link_mode, form.d.weight, form.d.subzone) raise web.seeother('/%s' % medium)
def GET(self, medium, id): """ View single banner """ banner = model.get_banner(medium, int(id)) return get_render(medium).view(banner)
def GET(self, medium, id): banner = model.get_banner(medium, int(id)) form = New.form() form.fill(banner) return get_render(medium).edit(medium, banner, form)
def GET(self, medium, zone, id): banner = model.get_banner(medium, id) if not banner or banner.zone != zone: return web.notfound() model.increment_banner_click_count(medium, banner.id) raise web.seeother(banner.link)