First commit
This commit is contained in:
		
						commit
						326429af12
					
				
							
								
								
									
										21
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								LICENSE
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,21 @@
 | 
				
			|||||||
 | 
					MIT License
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Copyright (c) 2023 Dita Aji Pratama
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Permission is hereby granted, free of charge, to any person obtaining a copy
 | 
				
			||||||
 | 
					of this software and associated documentation files (the "Software"), to deal
 | 
				
			||||||
 | 
					in the Software without restriction, including without limitation the rights
 | 
				
			||||||
 | 
					to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 | 
				
			||||||
 | 
					copies of the Software, and to permit persons to whom the Software is
 | 
				
			||||||
 | 
					furnished to do so, subject to the following conditions:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					The above copyright notice and this permission notice shall be included in all
 | 
				
			||||||
 | 
					copies or substantial portions of the Software.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | 
				
			||||||
 | 
					IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | 
				
			||||||
 | 
					FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 | 
				
			||||||
 | 
					AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 | 
				
			||||||
 | 
					LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 | 
				
			||||||
 | 
					OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 | 
				
			||||||
 | 
					SOFTWARE.
 | 
				
			||||||
							
								
								
									
										25
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								README.md
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,25 @@
 | 
				
			|||||||
 | 
					# pageforge
 | 
				
			||||||
 | 
					Python Script for help your pagination.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Usage
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    import pageforge
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    result = pageforge.count({'page':6,'limit':10,'records':1432})
 | 
				
			||||||
 | 
					    print(result)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Output
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					      'page': {
 | 
				
			||||||
 | 
					        'current': 6,
 | 
				
			||||||
 | 
					        'all': 144
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      'record': {
 | 
				
			||||||
 | 
					        'all': 1432,
 | 
				
			||||||
 | 
					        'min': 51,
 | 
				
			||||||
 | 
					        'max': 60
 | 
				
			||||||
 | 
					      },
 | 
				
			||||||
 | 
					      'limit': 10,
 | 
				
			||||||
 | 
					      'offset': 50
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
							
								
								
									
										32
									
								
								pageforge.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										32
									
								
								pageforge.py
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					import math
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					def count(input):
 | 
				
			||||||
 | 
					    page    = input['page'      ]
 | 
				
			||||||
 | 
					    limit   = input['limit'     ]
 | 
				
			||||||
 | 
					    records = input['records'   ]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    offset  = (page*limit)-limit
 | 
				
			||||||
 | 
					    pages   = math.ceil(records/limit)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    record_min = offset+1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if page == pages:
 | 
				
			||||||
 | 
					        record_max = records
 | 
				
			||||||
 | 
					    else:
 | 
				
			||||||
 | 
					        record_max = offset+limit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    output = {
 | 
				
			||||||
 | 
					        'page':{
 | 
				
			||||||
 | 
					            'current':page,
 | 
				
			||||||
 | 
					            'all':pages
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        'record':{
 | 
				
			||||||
 | 
					            'all'   : records,
 | 
				
			||||||
 | 
					            'min'   : record_min,
 | 
				
			||||||
 | 
					            'max'   : record_max,
 | 
				
			||||||
 | 
					        },
 | 
				
			||||||
 | 
					        'limit':limit,
 | 
				
			||||||
 | 
					        'offset':offset
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    return output
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user