def banners(): template = env.get_template('banners.html') if request.method == 'GET': all_banners = Banner.select() return template.render({'banners': all_banners}) elif request.method == 'POST': banner_img = request.files.get('banner_img') banners_folder = static_path('img/banners/') file_path = os.path.join(banners_folder, banner_img.filename) # photo_file.save('/img/gallery/') # new Bottle with open(file_path, 'wb') as open_file: open_file.write(banner_img.file.read()) link = post_get('link') parsed_link = urlparse(link) if parsed_link.scheme == '': link = 'http://{0}'.format(link) if not parsed_link.path or parsed_link.path == '#': link = '#' banner = Banner.create(desc=post_get('desc'), link=link, img=banner_img.filename) app.flash(u'+1 новий банер') redirect('/banners')
def display_banner( request, position=None ): if position is None: #if no position has been set, then set it to "default" - may need to change this later position = "default" position = Position.objects.get( name__iexact = position ) banners = Banner.objects.filter( position = position ) display_banner = False now = datetime.datetime.today() temp = [] for banner in banners: schedules = Schedule.objects.filter( banner = banner, start_time__lte = now, end_time__gte = now ) if len( schedules ) >= 1: temp.append( banner ) if len( temp ) > 0: banner = temp[ random.randrange( 0, len( temp ) ) ] else: banner = Banner() banner.content = "<!-- This space intentionally left blank....... -->" return render_to_response("scheduler/banner.html", {'banner': banner }, context_instance = RequestContext( request ) )
def add_banner(): if request.method == 'GET': data = request.args.to_dict() else: data = request.form.to_dict() bn = Banner(data) db.session.add(bn) db.session.commit() return json.dumps({'code': 0, 'data': bn.to_admin_dict()})
def banner(id=None): if request.method == 'GET': if id is not None: banner = Banner.query.get(id) if banner: return jsonify(banner.serialize()), 200 return jsonify({"msg": "Image not found!"}), 404 else: banners = Banner.query.all() banners = list(map(lambda banner: banner.serialize(), banners)) return jsonify(banners), 200 elif request.method == 'PUT': banner = Banner.query.get(id) banner.admin_id = request.json.get("admin_id", "") banner.name = request.json.get("name", "") banner.size = request.json.get("size", "") banner.body = request.json.get("body", "") banner.update() return jsonify('Actualizado correctamente'), 200 elif request.method == 'DELETE': banner = Banner.query.get(id) banner.delete() return jsonify('Borrado'), 200 elif request.method == "POST": banner = Banner() banner.admin_id = request.json.get("admin_id", "") banner.name = request.json.get("name", "") banner.size = request.json.get("size", "") banner.body = request.json.get("body", "") banner.save() return jsonify(banner.serialize()), 201
def banner_delete(banner_id): try: banner = Banner.get(Banner.banner_id == banner_id) banner.delete_instance() redirect('/banners') except DoesNotExist: abort(404)
def banner_details_edit(): info = {} if request.method == "POST": info = request.values banner_id = int(info.get("banner_id")) if info.get("banner_id") else 0 banner_url = info.get("banner_url") btype = int(info.get("btype", 0)) jtype = int(info.get("jtype", 0)) news_id = int(info.get("news_id", 0)) if info.get("news_id", 0) else 0 status = int(info.get('status', 0)) title = info.get('banner_title', '') cur_time = int(time.time()) jump_url = '' if news_id: news_detail = News.get_news_details(news_id=news_id) jump_url = news_detail.details_url if banner_id == 0: # 新增banner last_weight = Banner.get_banner_weight(btype=btype) weight = last_weight + 1 addstatus = Banner.add_banner(banner_url=banner_url, btype=btype, jtype=jtype, jump_url=jump_url, weight=weight, cur_time=cur_time, jid=news_id, status=status, title=title) if addstatus: return jsonify(message=addstatus, status=0) elif banner_id > 0: editstatus = Banner.edit_banner(banner_url=banner_url, btype=btype, jtype=0, jump_url=jump_url, banner_id=banner_id, cur_time=cur_time, jid=news_id, status=status, title=title) if editstatus: return jsonify(message=editstatus, status=0) else: pass return jsonify(message="success", status=1)
def upload(): authors = Author.query.all() form = BannerForm(request.form) form.author_id.choices = [(a.id, a.name) for a in authors] if request.method == 'POST' and 'image' in request.files: image_data = request.FILES[form.image.name].read() open(os.path.join(UPLOAD_PATH, form.image.data), 'w').write(image_data) rec = Banner( filename=filename, created_by=g.user.id, author_id=data.get('author'), destination=data.get('destination'), ) rec.store() flash("Banner guardado.") return redirect(url_for('index')) return render_template('upload.html', form=form)
def update_banner_status(): """更新banner状态隐藏显示""" info = {} if request.method == 'GET': info = request.values elif request.method == 'POST': info = request.form _id = info.get('id') status = info.get('status') resp = Banner.update_banner_status(id=_id, status=status) return jsonify(message='success', status=1)
def update_banner_weight(): """修改banner权重""" info = {} if request.method == "POST": info = request.values param = json.loads(info.get("param", "[]")) if not param: return jsonify(message="没有需要修改权重的banner", status=0) res = Banner.update_banner_weight(weight_list=param) if res: return jsonify(message=res, status=0) return jsonify(message="success", status=1)
def del_banner(): """删除banner""" info = {} if request.method == "POST": info = request.values _id = info.get("id") if not _id: return jsonify(message="没有删除的banner", status=0) res = Banner.del_banner(banner_id=_id) if res: return jsonify(message=res, status=0) return jsonify(message="success", status=1)
def post_index(): all_posts = Post.get_posts().order_by(Post.date_posted.desc()).\ limit(config.POSTS_PER_PAGE) for item in all_posts: item.post_text = shorten_text(item.post_text) random_banner = Banner.select().\ where(Banner.disabled == False).order_by(fn.Rand()).first() quote = Quote.select().order_by(fn.Rand()).first() messages = StreamMessage.select() template = env.get_template('post/index.html') return template.render(posts=all_posts, banner=random_banner, stream_messages=messages, quote=quote, link_what='pstlink')
def __get_banner_info(banner_id): """获取banner""" if banner_id == 0: return {} banner = Banner.get_banner_details(banner_id=banner_id) if banner == None: return {} banner_dict = {} banner_dict["id"] = banner.id banner_dict["pic"] = banner.pic banner_dict["btype"] = banner.btype banner_dict["jtype"] = banner.jtype banner_dict['url'] = banner.url banner_dict["status"] = banner.status banner_dict["jid"] = banner.jid banner_dict["title"] = banner.title return banner_dict
async def get_item(item: str, item_id, x_session_token: Optional[str] = Header(None), x_session_id: Optional[str] = Header(None)): """ get item by type and id or alias :param item: type of the item (for example banner) :param item_id: id or alias of the item :param x_session_id: the id of the clint session :param x_session_token: the token of the clint session :return: response 405 if data incorrect + error in json, 401 if session is dead + session in json, 200 if ok + item in json """ # check session live session = Session.find({"id": int(x_session_id), "token": x_session_token}) check = session.check_session_live() if check is False: return JSONResponse(status_code=status.HTTP_401_UNAUTHORIZED, content=json.dumps({ "session": { "id": session.id, "authorized": session.authorized } })) # find item if item == "banner": banner = Banner.find({"alias": item_id}) if banner: return dict(banner) else: return JSONResponse(status_code=status.HTTP_405_METHOD_NOT_ALLOWED, content={"error": "banner not found"}) if item == "product": if item_id == 'all': list_ = Product().find_many() return JSONResponse(status_code=status.HTTP_200_OK, content=dict(list_)) else: product = Product().find_many({'id': item_id}) if product: return dict(product) else: return JSONResponse( status_code=status.HTTP_405_METHOD_NOT_ALLOWED, content={"error": "product not found"})
def get_banner_list_total(): """获取新闻条数,并渲染页面""" info = {} if request.method == "POST": info = request.form elif request.method == "GET": info = request.values index = int(info.get("page", 1)) banner_type = info.get("banner_type", "") total = Banner.get_banner_list_total(banner_type=banner_type) total_page = get_total_page(total=total, limit=limit) page_serach = u"&banner_type={banner_type}".format(banner_type=banner_type) params = {} params["banner_type"] = banner_type return render_template("operation_banner_list.html", params=params, pagination={ "page": index, "total_page": total_page, "page_serach": page_serach, "total": total })
def banner_list_data(): """获取banner列表数据""" info = request.values index = int(info.get("page", 1)) banner_type = info.get("banner_type", "") banner_obj = Banner.banner_list_data(banner_type=banner_type, index=index, limit=limit) banner_list = [] for banner in banner_obj: _dict = {} _dict['id'] = banner.id _dict['pic'] = banner.pic _dict['url'] = banner.url _dict['btype'] = banner.btype _dict['weight'] = banner.weight _dict['jtype'] = banner.jtype _dict['title'] = banner.title _dict['status'] = banner.status _dict['created_time'] = banner.created_time _dict['last_time'] = banner.last_time banner_list.append(_dict) return jsonify(banner_list=banner_list)
def disable_banner(banner_id): banner = Banner.get_or_404(Banner.banner_id == banner_id) banner.disabled = not banner.disabled banner.save() return 'Ok'