def last_items_feed(count=5): lang = 'ru' items_list = list(ItemContent.objects.prefetch_related('item').filter(item__publicated=True, lang=lang).order_by( '-item__create_date')[:count]) nd = {} for item in items_list: nd[item.item.id_in_catalog] = item records_ids = [] for items_lis in items_list: records_ids.append(items_lis.item.id_in_catalog) saved_documents = mydocs_models.SavedDocument.objects.values('gen_id').filter(gen_id__in=records_ids) for saved_document in saved_documents: item_content = nd.get(saved_document.get('gen_id')) if item_content: item_content.in_favorite = True for record in get_records(records_ids): item_content = nd.get(record.gen_id) if item_content: nd[record.gen_id].attrs = xml_doc_to_dict(record.content) return ({ 'items_list': items_list, 'MEDIA_URL': settings.MEDIA_URL, 'STATIC_URL': settings.STATIC_URL })
def index(request): cur_language = translation.get_language() items_page = get_page( request, ItemContent.objects.prefetch_related('item') .filter(item__publicated=True, lang=cur_language) .order_by('-item__create_date') ) nd = {} for item in items_page.object_list: nd[item.item.id_in_catalog] = item records_ids = [] for items_lis in items_page.object_list: records_ids.append(items_lis.item.id_in_catalog) records = get_records(records_ids) for record in records: doc = utils.xml_doc_to_dict(record.content) item = nd.get(record.gen_id) if item is not None: item.cover = doc.get('cover', [''])[0] return render(request, 'newinlib/frontend/list.html', { 'items_page': items_page, })
def index(request): cur_language = translation.get_language() items_page = get_page( request, ItemContent.objects.prefetch_related('item').filter( item__publicated=True, lang=cur_language).order_by('-item__create_date')) nd = {} for item in items_page.object_list: nd[item.item.id_in_catalog] = item records_ids = [] for items_lis in items_page.object_list: records_ids.append(items_lis.item.id_in_catalog) records = get_records(records_ids) for record in records: doc = utils.xml_doc_to_dict(record.content) item = nd.get(record.gen_id) if item is not None: item.cover = doc.get('cover', [''])[0] return render(request, 'newinlib/frontend/list.html', { 'items_page': items_page, })
def get_bib_records(gen_ids): records = get_records(gen_ids) bib_records = [] for record in records: doc_tree = etree.XML(record.content) bib_tree = xslt_bib_draw_transformer(doc_tree) bib_dump = etree.tostring(bib_tree, encoding='utf-8') bib_records.append({ 'record': record, 'card': beautify(bib_dump.replace('<b/>', '')), }) return bib_records
def get_bib_records(question): bib_ids = [] if question.bib_ids: bib_ids = question.bib_ids.replace(u"\r", '').split("\n") bib_ids = map(lambda x: x.strip(), bib_ids) bib_records = [] if bib_ids: records = get_records(bib_ids) for record in records: doc_tree = etree.XML(record.content) bib_tree = xslt_bib_draw_transformer(doc_tree) bib_dump = etree.tostring(bib_tree, encoding='utf-8') bib_records.append({ 'record': record, 'card': beautify(bib_dump.replace('<b/>', '')), }) return bib_records
def last_items_feed(count=5): lang = 'ru' items_list = list( ItemContent.objects.prefetch_related('item').filter( item__publicated=True, lang=lang).order_by('-item__create_date')[:count]) nd = {} for item in items_list: nd[item.item.id_in_catalog] = item records_ids = [] for items_lis in items_list: records_ids.append(items_lis.item.id_in_catalog) records = get_records(records_ids) for record in records: doc = utils.xml_doc_to_dict(record.content) item = nd.get(record.gen_id) if item is not None: item.cover = doc.get('cover', [''])[0] # saved_documents = mydocs_models.SavedDocument.objects.values('gen_id').filter(gen_id__in=records_ids) # # for saved_document in saved_documents: # item_content = nd.get(saved_document.get('gen_id')) # if item_content: # item_content.in_favorite = True # # for record in get_records(records_ids): # item_content = nd.get(record.gen_id) # if item_content: # nd[record.gen_id].attrs = xml_doc_to_dict(record.content) return ({ 'items_list': items_list, 'MEDIA_URL': settings.MEDIA_URL, 'STATIC_URL': settings.STATIC_URL })