def archival_storage_list_display(request, current_page_number=None): form = forms.StorageSearchForm() total_size = 0 # get ElasticSearch stats aip_indexed_file_count = advanced_search.indexed_count('aips') # get AIPs conn = elasticSearchFunctions.connect_and_create_index('aips') aipResults = conn.search(pyes.StringQuery('*'), doc_types=['aip']) aips = [] #if aipResults._total != None: if len(aipResults) > 0: for aip in aipResults: aips.append(aip) # handle pagination page = helpers.pager(aips, 10, current_page_number) sips = [] for aip in page['objects']: sip = {} sip['href'] = aip.filePath.replace(AIPSTOREPATH + '/', "AIPsStore/") sip['name'] = aip.name sip['uuid'] = aip.uuid #sip['date'] = str(aip.date)[0:19].replace('T', ' ') sip['date'] = aip.created try: size = float(aip.size) total_size = total_size + size sip['size'] = '{0:.2f} MB'.format(size) except: sip['size'] = 'Removed' sips.append(sip) order_by = request.GET.get('order_by', 'name') sort_by = request.GET.get('sort_by', 'up') def sort_aips(sip): value = 0 if 'name' == order_by: value = sip['name'].lower() else: value = sip[order_by] return value sips = sorted(sips, key=sort_aips) if sort_by == 'down': sips.reverse() total_size = '{0:.2f}'.format(total_size) return render(request, 'archival_storage/archival_storage.html', locals())
def archival_storage_list_display(request, current_page_number=None): form = forms.StorageSearchForm() total_size = 0 # get ElasticSearch stats aip_indexed_file_count = advanced_search.indexed_count('aips') # get AIPs conn = elasticSearchFunctions.connect_and_create_index('aips') aipResults = conn.search(pyes.StringQuery('*'), doc_types=['aip']) aips = [] #if aipResults._total != None: if len(aipResults) > 0: for aip in aipResults: aips.append(aip) # handle pagination page = helpers.pager(aips, 10, current_page_number) sips = [] for aip in page['objects']: sip = {} sip['href'] = aip.filePath.replace(AIPSTOREPATH + '/', "AIPsStore/") sip['name'] = aip.name sip['uuid'] = aip.uuid #sip['date'] = str(aip.date)[0:19].replace('T', ' ') sip['date'] = aip.created try: size = float(aip.size) total_size = total_size + size sip['size'] = '{0:.2f} MB'.format(size) except: sip['size'] = 'Removed' sips.append(sip) order_by = request.GET.get('order_by', 'name'); sort_by = request.GET.get('sort_by', 'up'); def sort_aips(sip): value = 0 if 'name' == order_by: value = sip['name'].lower() else: value = sip[order_by] return value sips = sorted(sips, key = sort_aips) if sort_by == 'down': sips.reverse() total_size = '{0:.2f}'.format(total_size) return render(request, 'archival_storage/archival_storage.html', locals())
def list_display(request): current_page_number = request.GET.get('page', 1) form = forms.StorageSearchForm() # get ElasticSearch stats aip_indexed_file_count = advanced_search.indexed_count('aips') # get AIPs order_by = request.GET.get('order_by', 'name') sort_by = request.GET.get('sort_by', 'up') if sort_by == 'down': sort_direction = 'desc' else: sort_direction = 'asc' sort_specification = order_by + ':' + sort_direction conn = elasticSearchFunctions.connect_and_create_index('aips') items_per_page = 10 start = (int(current_page_number) - 1) * items_per_page aipResults = conn.search(pyes.Search(pyes.MatchAllQuery(), start=start, size=items_per_page), doc_types=['aip'], fields='origin,uuid,filePath,created,name,size', sort=sort_specification) try: len(aipResults) except pyes.exceptions.ElasticSearchException: # there will be an error if no mapping exists for AIPs due to no AIPs # having been created return render(request, 'archival_storage/archival_storage.html', locals()) # handle pagination page = helpers.pager(aipResults, items_per_page, current_page_number) if not page: raise Http404 # augment data sips = [] for aip in page['objects']: sip = {} sip['href'] = aip.filePath.replace(AIPSTOREPATH + '/', "AIPsStore/") sip['name'] = aip.name sip['uuid'] = aip.uuid sip['date'] = aip.created try: size = float(aip.size) sip['size'] = '{0:.2f} MB'.format(size) except: sip['size'] = 'Removed' sips.append(sip) # get total size of all AIPS from ElasticSearch q = pyes.MatchAllQuery().search() q.facet.add(pyes.facets.StatisticalFacet('total', field='size')) aipResults = conn.search(q, doc_types=['aip']) total_size = aipResults.facets.total.total total_size = '{0:.2f}'.format(total_size) return render(request, 'archival_storage/archival_storage.html', locals())
def aip_file_count(es_client): query = elasticsearch_query_excluding_aips_pending_deletion("AIPUUID") return advanced_search.indexed_count(es_client, es.AIP_FILES_INDEX, query)
def aip_file_count(es_client): query = elasticsearch_query_excluding_aips_pending_deletion('AIPUUID') return advanced_search.indexed_count(es_client, 'aips', ['aipfile'], query)
def list_display(request): current_page_number = request.GET.get('page', 1) form = forms.StorageSearchForm() # get ElasticSearch stats aip_indexed_file_count = advanced_search.indexed_count('aips') # get AIPs order_by = request.GET.get('order_by', 'name') sort_by = request.GET.get('sort_by', 'up') if sort_by == 'down': sort_direction = 'desc' else: sort_direction = 'asc' sort_specification = order_by + ':' + sort_direction conn = elasticSearchFunctions.connect_and_create_index('aips') items_per_page = 10 start = (int(current_page_number) - 1) * items_per_page aipResults = conn.search( pyes.Search(pyes.MatchAllQuery(), start=start, size=items_per_page), doc_types=['aip'], fields='origin,uuid,filePath,created,name,size', sort=sort_specification ) try: len(aipResults) except pyes.exceptions.ElasticSearchException: # there will be an error if no mapping exists for AIPs due to no AIPs # having been created return render(request, 'archival_storage/archival_storage.html', locals()) # handle pagination page = helpers.pager( aipResults, items_per_page, current_page_number ) if not page: raise Http404 # augment data sips = [] for aip in page['objects']: sip = {} sip['href'] = aip.filePath.replace(AIPSTOREPATH + '/', "AIPsStore/") sip['name'] = aip.name sip['uuid'] = aip.uuid sip['date'] = aip.created try: size = float(aip.size) sip['size'] = '{0:.2f} MB'.format(size) except: sip['size'] = 'Removed' sips.append(sip) # get total size of all AIPS from ElasticSearch q = pyes.MatchAllQuery().search() q.facet.add(pyes.facets.StatisticalFacet('total', field='size')) aipResults = conn.search(q, doc_types=['aip']) total_size = aipResults.facets.total.total total_size = '{0:.2f}'.format(total_size) return render(request, 'archival_storage/archival_storage.html', locals())