def web_list(cls, req): try: ret = {} page = 1 page_size = ModelSetting.get_int('item_per_page') job_id = '' search = '' category = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] agent_type = req.form['agent_type'] if 'agent_type' in req.form else 'all' query = cls.make_query(search=search, agent_type=agent_type) count = query.count() query = query.limit(page_size).offset((page-1)*page_size) logger.debug('cls count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def filelist(req): try: ret = {} page = 1 page_size = int( db.session.query(ModelSetting).filter_by( key='web_page_size').first().value) job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] query = db.session.query(ModelGDriveScanFile) if search != '': query = query.filter( ModelGDriveScanFile.name.like('%' + search + '%')) count = query.count() query = (query.order_by(desc( ModelGDriveScanFile.id)).limit(page_size).offset( (page - 1) * page_size)) logger.debug('ModelGDriveScanFile count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] #ret['paging'] = paging ret['paging'] = Util.get_paging_info(count, page, page_size) #ret['plex_server_hash'] = plex.Logic.get_server_hash() return ret except Exception as exception: logger.debug('Exception:%s', exception) logger.debug(traceback.format_exc())
def web_list(req): try: ret = {} page = 1 page_size = ModelSetting.get_int('web_page_size') job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] option = req.form['option'] if 'option' in req.form else 'all' order = req.form['order'] if 'order' in req.form else 'desc' query = SubModelItem.make_query(search=search, option=option, order=order) count = query.count() query = query.limit(page_size).offset((page - 1) * page_size) logger.debug('SubModelItem count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def web_list(cls, req): try: ret = {} page = 1 page_size = 30 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] option = req.form['option'] order = req.form['order'] if 'order' in req.form else 'desc' query = cls.make_query(search=search, option=option, order=order) count = query.count() query = query.limit(page_size).offset((page - 1) * page_size) logger.debug('cls count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) ModelSetting.set('jav_censored_last_list_option', '%s|%s|%s|%s' % (option, order, search, page)) return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def item_list(req): try: ret = {} page = 1 page_size = 30 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] query = db.session.query(ModelManamoaItem) if search != '': query = query.filter( ModelManamoaItem.title.like('%' + search + '%')) query = query.order_by(desc(ModelManamoaItem.id)) count = query.count() query = query.limit(page_size).offset((page - 1) * page_size) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception, e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def web_list(cls, module_name, req): try: ret = {} page = 1 page_size = ModelSetting.get_int('item_per_page') job_id = '' search = '' category = '' genre = 'all' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] if 'genre' in req.form: genre = req.form['genre'] rule_name = req.form['category'] if 'category' in req.form else 'all' status_option = req.form['status_option'] if 'status_option' in req.form else 'all' query = cls.make_query(module_name=module_name, genre=genre, search=search, rule_name=rule_name, status_option=status_option) count = query.count() query = query.limit(page_size).offset((page-1)*page_size) logger.debug('cls count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def db_list(req): try: ret = {} page = 1 page_size = 50 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] query = db.session.query(ModelDaumTVShow) if search != '': query = query.filter( ModelDaumTVShow.search_title.like('%' + search.replace(' ', '') + '%')) count = query.count() query = (query.order_by( (ModelDaumTVShow.title)).limit(page_size).offset( (page - 1) * page_size)) logger.debug('ModelDaumTVShow count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] #ret['paging'] = paging ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as exception: logger.debug('Exception:%s', exception) logger.debug(traceback.format_exc())
def web_list(req): try: ret = {} page = 1 page_size = 30 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] content_type = 'all' if 'type' in req.form: content_type = req.form['type'] query = ModelOffcloud2Cache.make_query(content_type=content_type, search=search) count = query.count() query = (query.order_by(desc( ModelOffcloud2Cache.id)).limit(page_size).offset( (page - 1) * page_size)) logger.debug('ModelOffcloud2Cache count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.debug('Exception:%s', e) logger.debug(traceback.format_exc())
def web_list(req): try: ret = {} page = 1 page_size = ModelSetting.get_int('web_page_size') search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] request_type = req.form['request_type'] program_type = req.form['program_type'] order = req.form['order'] if 'order' in req.form else 'desc' query = ModelDownloaderItem.make_query(search=search, request_type=request_type, program_type=program_type, order=order) count = query.count() query = query.limit(page_size).offset((page-1)*page_size) logger.debug('ModelDownloaderItem count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception, e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def web_list(req): try: ret = {} page = 1 page_size = 30 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] rss_select = 'all' if 'rss_select' in req.form: rss_select = req.form['rss_select'] option = 'all' if 'option' in req.form: option = req.form['option'] query = ModelFeed.make_query(rss_id=rss_select, option=option, search=search) count = query.count() query = (query.order_by(desc( ModelFeed.id)).limit(page_size).offset((page - 1) * page_size)) logger.debug('ModelFeed count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.debug('Exception:%s', e) logger.debug(traceback.format_exc())
def item_list(req): try: logger.debug(req.form) ret = {} page = 1 page_size = 30 search = '' if 'sheet_id' in req.form: sheet_id = req.form['sheet_id'] if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] if 'option' in req.form: option = req.form['option'] if 'copied' in req.form: copied = req.form['copied'] order = req.form['order'] if 'order' in req.form else 'desc' query = ListModelItem.make_query(sheet_id=sheet_id, search=search, option=option, copied=copied, order=order) if query is None: return ret count = query.count() logger.debug(count) query = query.limit(page_size).offset((page - 1) * page_size) lists = query.all() #logger.debug(lists) ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def web_list(req): try: ret = {} page = 1 page_size = 30 job_id = '' search = '' option = req.form['option'] if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] order = req.form['order'] if 'order' in req.form else 'desc' match_type = req.form['option'] query = ModelItem.make_query(search=search, match_type=match_type, order=order) count = query.count() query = query.limit(page_size).offset((page - 1) * page_size) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception, e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def select(req): try: class_is = ModelItem ret = {} page = 1 page_size = 30 job_id = '' search = '' option = req.form['option'] if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] query = db.session.query(class_is) if search != '': query = query.filter(class_is.title.like('%'+search+'%')) if option != 'all': query = query.filter(class_is.statusCd.like('%'+option+'%')) query = query.order_by(desc(class_is.id)) count = query.count() query = query.limit(page_size).offset((page-1)*page_size) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def get_list(req): try: page_size = 20 page = int(req.form['page']) if 'page' in req.form else 1 option = req.form['option'] if 'option' in req.form else 'all' order = req.form['order'] if 'order' in req.form else 'desc' program = req.form['program'].strip( ) if 'program' in req.form else None #query = Episode.query.filter_by(call='auto') query = ModelWavveEpisode.query.filter( (ModelWavveEpisode.call == 'auto') | (ModelWavveEpisode.call == None)) if program is not None: query = query.filter( ModelWavveEpisode.programtitle.like('%' + program + '%')) if option == 'completed': query = query.filter_by(completed=True) elif option == 'uncompleted': query = query.filter_by(completed=False) elif option == 'user_abort': query = query.filter_by(user_abort=True) elif option == 'pf_abort': query = query.filter_by(pf_abort=True) elif option == 'etc_abort_under_10': query = query.filter(ModelWavveEpisode.etc_abort < 10, ModelWavveEpisode.etc_abort > 0) elif option == 'etc_abort_11': query = query.filter_by(etc_abort='11') elif option == 'etc_abort_12': query = query.filter_by(etc_abort='12') elif option == 'etc_abort_13': query = query.filter_by(etc_abort='13') elif option == 'etc_abort_14': query = query.filter_by(etc_abort='14') if order == 'desc': query = query.order_by(desc(ModelWavveEpisode.id)) else: query = query.order_by(ModelWavveEpisode.id) count = query.count() if page_size: query = query.limit(page_size) if page: query = query.offset((page - 1) * page_size) tmp = query.all() ret = {} ret['paging'] = Util.get_paging_info(count, page, page_size) ret['list'] = [item.as_dict() for item in tmp] return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def web_list(cls, req): ret = {} page = int(req.form['page']) if 'page' in req.form else 1 page_size = 30 job_id = '' search = req.form['search_word'] if 'search_word' in req.form else '' option = req.form['option'] if 'option' in req.form else 'all' order = req.form['order'] if 'order' in req.form else 'desc' query = cls.make_query(search=search, order=order, option=option) count = query.count() query = query.limit(page_size).offset((page - 1) * page_size) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret
def get_list(req): page_size = 20 page = int(req.form['page']) if 'page' in req.form else 1 option = req.form['option'] if 'option' in req.form else 'all' order = req.form['order'] if 'order' in req.form else 'desc' program = req.form['program'].strip( ) if 'program' in req.form else None #query = Episode.query.filter_by(call='auto') query = Episode.query.filter((Episode.call == 'auto') | (Episode.call == None)) if program is not None: query = query.filter(Episode.program_name.like('%' + program + '%')) if option == 'completed': query = query.filter_by(completed=True) elif option == 'uncompleted': query = query.filter_by(completed=False) elif option == 'user_abort': query = query.filter_by(user_abort=True) elif option == 'pf_abort': query = query.filter_by(pf_abort=True) elif option == 'etc_abort_under_10': query = query.filter(Episode.etc_abort < 10, Episode.etc_abort > 0) elif option == 'etc_abort_8': query = query.filter_by(etc_abort='8') elif option == 'etc_abort_12': query = query.filter_by(etc_abort='12') elif option == 'etc_abort_13': query = query.filter_by(etc_abort='13') elif option == 'etc_abort_14': query = query.filter_by(etc_abort='14') if order == 'desc': query = query.order_by(desc(Episode.id)) else: query = query.order_by(Episode.id) count = query.count() if page_size: query = query.limit(page_size) if page: query = query.offset((page - 1) * page_size) #return query tmp = query.all() ret = {} ret['paging'] = Util.get_paging_info(count, page, page_size) ret['list'] = [item.as_dict() for item in tmp] return ret
def web_list(cls, req): ret = {} page = int(req.form['page']) if 'page' in req.form else 1 page_size = 30 job_id = '' search = req.form['search_word'] if 'search_word' in req.form else '' option1 = req.form['option1'] if 'option1' in req.form else 'all' option2 = req.form['option2'] if 'option2' in req.form else 'all' order = req.form['order'] if 'order' in req.form else 'desc' query = cls.make_query(search=search, order=order, option1=option1, option2=option2) count = query.count() query = query.limit(page_size).offset((page-1)*page_size) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) ModelSetting.set('user_last_list_option', '%s|%s|%s|%s|%s' % (option1, option2, desc, search, page)) return ret
def filelist(req): try: ret = {} page = 1 page_size = int(db.session.query(ModelSetting).filter_by(key='web_page_size').first().value) job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] query = db.session.query(ModelFileprocessMovieItem) if search != '': query = query.filter(ModelFileprocessMovieItem.filename.like('%'+search+'%')) option = req.form['option'] if option == 'all': pass elif option == 'movie_o': query = query.filter(ModelFileprocessMovieItem.movie_id != None) elif option == 'movie_x': query = query.filter(ModelFileprocessMovieItem.movie_id == None) else: query = query.filter(ModelFileprocessMovieItem.target == option) order = req.form['order'] if 'order' in req.form else 'desc' if order == 'desc': query = query.order_by(desc(ModelFileprocessMovieItem.id)) else: query = query.order_by(ModelFileprocessMovieItem.id) count = query.count() query = query.limit(page_size).offset((page-1)*page_size) logger.debug('ModelFileprocessMovieItem count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) try: ret['plex_server_hash'] = plex.Logic.get_server_hash() except: ret['plex_server_hash'] = '' return ret except Exception as exception: logger.error('Exception:%s', exception) logger.error(traceback.format_exc()) ############################################################
def web_list(req): try: ret = {} page = 1 page_size = 30 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] job_select = 'all' if 'job_select' in req.form: job_select = req.form['job_select'] option = 'all' if 'option' in req.form: option = req.form['option'] query = ModelOffcloud2Item.make_query(job_name=job_select, option=option, search=search) last_list_option_rss = '%s|%s|%s|%s' % (search, job_select, option, page) ModelSetting.set('last_list_option_rss', last_list_option_rss) count = query.count() query = (query.order_by(desc( ModelOffcloud2Item.id)).limit(page_size).offset( (page - 1) * page_size)) logger.debug('ModelOffcloud2Item count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.debug('Exception:%s', e) logger.debug(traceback.format_exc())
def web_list(cls, req): try: ret = {} page = 1 page_size = 30 search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] option = req.form['option'] if 'option' in req.form else None order = req.form['order'] if 'order' in req.form else 'desc' query = cls.make_query(search, option, order) count = query.count() query = query.limit(page_size).offset((page - 1) * page_size) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception, e: P.logger.error('Exception:%s', e) P.logger.error(traceback.format_exc())
def web_list(req): try: ret = {} page = 1 page_size = 30 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] result_type = req.form['result_type'] query = db.session.query(ModelSmi2srtFile) if search != '': query = query.filter( ModelSmi2srtFile.smi_file.like('%' + search + '%')) if result_type == 'success': query = query.filter(ModelSmi2srtFile.result == 'success') elif result_type == 'fail': query = query.filter(ModelSmi2srtFile.result == 'fail') elif result_type == 'etc': query = query.filter( ModelSmi2srtFile.result != 'success').filter( ModelSmi2srtFile.result != 'fail') count = query.count() query = (query.order_by(desc( ModelSmi2srtFile.id)).limit(page_size).offset( (page - 1) * page_size)) logger.debug('ModelSmi2srtFile count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception, e: logger.debug('Exception:%s', e) logger.debug(traceback.format_exc())
def web_list(req): try: ret = {} page = 1 page_size = 100 job_id = '' search = '' if 'page' in req.form: page = int(req.form['page']) if 'search_word' in req.form: search = req.form['search_word'] option_server = req.form[ 'option_server'] if 'option_server' in req.form else 'all' option_client = req.form[ 'option_client'] if 'option_client' in req.form else 'all' order = req.form['order'] if 'order' in req.form else 'name' query = ModelClientAVSubItem.make_query( search=search, option_server=option_server, option_client=option_client, order=order) last_list_option = '%s|%s|%s|%s|%s' % (search, option_server, option_client, order, page) ModelSetting.set('last_list_option', last_list_option) #logger.debug(query) count = query.count() query = query.limit(page_size).offset((page - 1) * page_size) logger.debug('ModelClientAVSubItem count:%s', count) lists = query.all() ret['list'] = [item.as_dict() for item in lists] ret['paging'] = Util.get_paging_info(count, page, page_size) return ret except Exception as e: logger.error('Exception:%s', e) logger.error(traceback.format_exc())
def get_list(call='web', group=None, sitename=None, board=None, page=1, select_column=None, search_word=None): try: if call == 'web': page_size = ModelSetting.get_int('web_page_size') else: page_size = ModelSetting.get_int('feed_count') query = db.session.query(ModelBbs2) #.join(ModelFile2) # 그룹만 있고, 게시판 등록을 안할 경우 검색 안되도록 add_group_query = False if group is not None and group != '': conditions = [] group_entity = db.session.query(ModelGroup2).filter_by( groupname=group).first() if group_entity is not None: #2019-05-18 add_group_query = (len(group_entity.schedulers) > 1) if len(group_entity.schedulers) == 0: query = query.filter(ModelBbs2.site == 'not_child') elif len(group_entity.schedulers) == 1: query = query.filter(ModelBbs2.site == group_entity. schedulers[0].sitename) query = query.filter(ModelBbs2.board == group_entity. schedulers[0].board_id) else: for item in group_entity.schedulers: conditions.append( and_(ModelBbs2.site == item.sitename, ModelBbs2.board == item.board_id)) query = query.filter(or_(*conditions)) else: if sitename is not None and sitename != '': query = query.filter(ModelBbs2.site == sitename) if board is not None and board != '': query = query.filter(ModelBbs2.board == board) if search_word is not None and search_word != '': if select_column is None or select_column == 'title': if search_word.find('|') != -1: tmp = search_word.split('|') conditions = [] for tt in tmp: if tt != '': conditions.append( ModelBbs2.title.like('%' + tt.strip() + '%')) query = query.filter(or_(*conditions)) elif search_word.find(',') != -1: tmp = search_word.split(',') for tt in tmp: if tt != '': query = query.filter( ModelBbs2.title.like('%' + tt.strip() + '%')) else: if ModelBbs2.torrent_info is None: query = query.filter( ModelBbs2.title.like('%' + search_word.strip() + '%')) else: conditions = [] conditions.append( ModelBbs2.title.like('%' + search_word.strip() + '%')) conditions.append( ModelBbs2.torrent_info.like( '%' + search_word.strip() + '%')) query = query.filter(or_(*conditions)) #query = query.filter(ModelBbs.title.like('%'+search_word+'%')) elif select_column == 'filename': #query = query.filter(ModelBbs.files.any(ModelFile.filename.like('%'+search_word+'%'))) query = query.filter( ModelBbs2.files.like('%' + search_word + '%')) elif select_column == 'magnet': #query = query.filter(ModelBbs.files.any(ModelFile.magnet.like('%'+search_word+'%'))) query = query.filter( ModelBbs2.magnet.like('%' + search_word + '%')) else: query = query.filter( ModelBbs2.title.like('%' + search_word + '%')) if group is not None and group != '' and add_group_query: #query = query.with_entities(ModelBbs.magnet).distinct() #query = query.distinct(ModelBbs.files.magnet) subq = (db.session.query( func.min(ModelBbs2.id).label("min_id")).group_by( ModelBbs2.magnet).filter(or_(*conditions))).subquery() query = query.join(subq, and_(ModelBbs2.id == subq.c.min_id)) query = query #logger.debug('GET LIST: %s', query) count = query.count() query = (query.order_by(desc( ModelBbs2.id)).limit(page_size).offset((page - 1) * page_size)) ret = query.all() #logger.debug('LAST QUERY : %s', query) if call == 'api': return ret #return Util.db_to_dict(query) paging = Util.get_paging_info(count, page, page_size) return ret, paging except Exception as e: logger.debug('Exception:%s', e) logger.debug(traceback.format_exc())