def new(): if request.method == 'GET': return render_template( 'serie/new.html', title='New Serie', edit=True, serie=Serie(), menuItems=menu.make(), fansubs=Fansub.select()) elif request.method == 'POST': fansub = Fansub.get(Fansub.id == request.form.get('fansub')) serie = Serie( title=request.form.get('title'), lastChapter=request.form.get('lastChapter', 0), totalChapters=request.form.get('totalChapters'), onGoing=request.form.get('onGoing', False), scrapCode='', scrapParam='', fansub=fansub) serie.save() count = 1 for paramTemplate in fansub.paramTemplate: ScrapParam.create( name=paramTemplate.name, dataType=paramTemplate.dataType, value=paramTemplate.value, serie=serie, paramNo=count) count += 1 return redirect(url_for('.update', id=serie.id))
def delete(id): serie = Serie.get(Serie.id == id) serie.active = False serie.save() return redirect(url_for('.list'))
def api_notification_count(): series = ( Serie.select(Serie, Fansub) .join(Fansub) .where( Serie.onGoing == 1, Serie.active == 1)) #return json.dumps(make_response(series)) return jsonify(make_response(series))
def update(id): if request.method == 'GET': s = Serie.get(Serie.id == id) return render_template( 'serie/view.html', title=s.title, edit=True, serie=s, menuItems=menu.make()) elif request.method == 'POST': serie = Serie.get(Serie.id == id) serie.title = request.form.get('title') serie.lastChapter = request.form.get('lastChapter') serie.totalChapters = request.form.get('totalChapters') serie.onGoing = request.form.get('onGoing', False) serie.fansub = Fansub.get(Fansub.id == request.form.get('fansub')) for param in serie.params: param.value = request.form.get(param.name) param.save() serie.save() return redirect(url_for('.view', id=serie.id))
def checkNewChapters(): logger.debug('checkNewChapters() running') fansubs = Fansub.select() for fs in fansubs: scr = Scraper(fs) series = Serie.select().where( Serie.onGoing == 1, Serie.active == 1, Serie.fansub == fs) for s in series: try: logger.debug('Scraping %s - %s' % (fs, s)) scr.next(s) except ConnectionError as err: logger.error('%s/%s Connection Error: \n%s' % (fs, s, err)) except ReadTimeout as err: logger.error('%s/%s Read Timeout: \n%s' % (fs, s, err))
def view(id): s = Serie.get(Serie.id == id) return render_template( 'serie/view.html', title=s.title, edit=False, serie=s, menuItems=menu.make())
def listAll(): return _list( Serie.select().where( Serie.active == 1).order_by(Serie.id.desc()))
def checkAll(id): serie = Serie.get(Serie.id == id) Scraper(serie.fansub).all(serie) return redirect(url_for('.view', id=serie.id))