Skip to content

Commit

Permalink
Remove dependency on Pandas and NumPy (#1188)
Browse files Browse the repository at this point in the history
  • Loading branch information
lel-amri committed Sep 15, 2022
1 parent bc87efb commit 8295481
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 11 deletions.
16 changes: 7 additions & 9 deletions pyplanet/views/generics/list.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
import math
import re
import logging
import pandas as pd
import numpy as np

from asyncio import iscoroutinefunction
from peewee import Field
Expand Down Expand Up @@ -435,12 +433,12 @@ async def get_data(self):
return self.objects_raw

async def get_object_data(self):
frame = pd.DataFrame(await self.get_data())
frame = await self.get_data()
frame = await self.apply_filter(frame)
frame = await self.apply_ordering(frame)
self.count = len(frame)
frame = await self.apply_pagination(frame)
self.objects = frame.to_dict('records')
self.objects = frame
return {
'objects': self.objects,
'search': self.search_text,
Expand All @@ -456,20 +454,20 @@ async def apply_filter(self, frame):
if 'searching' in field and field['searching']:
if 'search_strip_styles' in field and field['search_strip_styles']:
query.append(
frame[field['index']].apply(lambda x: self.search_text.lower() in style.style_strip(str(x).lower()) if x else False)
[self.search_text.lower() in style.style_strip(str(x).lower()) if x else False for x in (x[field['index']] for x in frame)]
)
else:
query.append(
frame[field['index']].apply(lambda x: self.search_text.lower() in str(x).lower() if x else False)
[self.search_text.lower() in str(x).lower() if x else False for x in (x[field['index']] for x in frame)]
)
if query:
query = np.logical_or.reduce(query)
return frame.loc[query]
query = [any(e) for e in zip(*query)]
return [e for i, e in enumerate(frame) if query[i]]
return frame

async def apply_ordering(self, frame):
if self.sort_field:
return frame.sort_values(self.sort_field['index'], ascending=bool(self.sort_order))
frame.sort(key=lambda e: e[self.sort_field['index']], reverse=not bool(self.sort_order))
return frame

async def apply_pagination(self, frame):
Expand Down
2 changes: 0 additions & 2 deletions requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,6 @@ urllib3==1.26.5
# Utils
cached-property==1.5.2
watchdog==0.10.2
pandas<=1.4.1
numpy<=1.22.3
async_generator==1.10
asyncio_extras==1.3.2
bcrypt==3.2.0
Expand Down

0 comments on commit 8295481

Please sign in to comment.