Skip to content

Commit

Permalink
0.7.5: using dataclass replace to change the page value for all place…
Browse files Browse the repository at this point in the history
…s it is needed. Only tested with get proposals, but it worked there
  • Loading branch information
Jon Bendtsen committed Sep 29, 2024
1 parent 31b583e commit 71198b8
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 25 deletions.
Binary file added dist/dolibarrpy-0.7.5.tar.gz
Binary file not shown.
47 changes: 23 additions & 24 deletions dolibarrpy/Dolibarrpy.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import requests
import logging
import json, urllib
from dataclasses import dataclass, asdict
from dataclasses import dataclass, asdict, replace
from typing import Optional
from icecream import install
install()
Expand Down Expand Up @@ -97,10 +97,10 @@ class ProductIdFilter():
class ProposalFilter():
sortfield: Optional[str] = None
sortorder: Optional[str] = None
limit: Optional[int] = None
page: Optional[int] = None
limit: Optional[int] = 100
page: Optional[int] = 0
thirdparty_ids: Optional[str] = None
sqlfilters: Optional[str] = None # Syntax example "(t.statut:=:1)
sqlfilters: Optional[str] = None # Syntax example "(t.statut:=:1)
properties: Optional[str] = None # Restrict the data returned to theses properties. Ignored if empty. Comma separated list of properties names

@dataclass
Expand Down Expand Up @@ -384,7 +384,7 @@ def find_some_shipments(self, from_ShipmentFilter = None, page = 0):
search_filter = ShipmentFilter()
else:
search_filter = from_ShipmentFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('shipments', params)
return result
Expand Down Expand Up @@ -565,7 +565,7 @@ def find_some_products_services(self, from_productFilter = None, page = 0):
search_filter = ProductFilter()
else:
search_filter = from_productFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('products', params)
return result
Expand Down Expand Up @@ -688,19 +688,18 @@ def find_some_projects(self, with_status = '', page = 0):
search_filter = ProjectFilter()
if "draft" == with_status.lower():
search_filter = ProjectFilter(
page=page,
sqlfilters="(t.fk_statut:=:0)"
)

if "open" == with_status.lower():
search_filter = ProjectFilter(
page=page,
sqlfilters="(t.fk_statut:=:1)"
)
if "closed" == with_status.lower():
search_filter = ProjectFilter(
page=page,
sqlfilters="(t.fk_statut:=:2)"
)
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('projects', params=params)
return result
Expand Down Expand Up @@ -827,7 +826,7 @@ def find_some_members(self, from_MemberFilter = None, page = 0):
search_filter = MemberFilter()
else:
search_filter = from_MemberFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
limit = params.get("limit")
if 0 == limit:
Expand Down Expand Up @@ -922,7 +921,7 @@ def find_some_member_types(self, from_MemberFilter = None, page = 0):
search_filter = MemberFilter()
else:
search_filter = from_MemberFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
category = params.get("category")
if category:
Expand Down Expand Up @@ -978,7 +977,7 @@ def get_some_member_categories_by_mid(self, objid, from_MemberFilter = None, pag
search_filter = MemberFilter()
else:
search_filter = from_MemberFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
category = params.get("category")
if category:
Expand Down Expand Up @@ -1043,7 +1042,7 @@ def find_some_thirdparty(self, from_ThirdpartyFilter = None, page = 0):
search_filter = ThirdpartyFilter()
else:
search_filter = from_ThirdpartyFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('thirdparties', params)
return result
Expand Down Expand Up @@ -1255,7 +1254,7 @@ def get_some_thirdparties_categories_by_tid(self, objid, from_ThirdpartyFilter =
search_filter = ThirdpartyFilter()
else:
search_filter = from_ThirdpartyFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
category = params.get("category")
if category:
Expand Down Expand Up @@ -1363,7 +1362,7 @@ def find_some_contacts(self, from_ContactFilter = None, page = 0):
search_filter = ContactFilter()
else:
search_filter = from_ContactFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('contacts', params)
return result
Expand Down Expand Up @@ -1436,7 +1435,7 @@ def get_some_contacts_categories_by_cid(self, objid, from_ContactFilter = None,
search_filter = ContactFilter()
else:
search_filter = from_ContactFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
category = params.get("category")
if category:
Expand Down Expand Up @@ -1498,7 +1497,7 @@ def find_some_subscriptions(self, from_SubscriptionFilter = None, page = 0):
search_filter = SubscriptionFilter()
else:
search_filter = from_SubscriptionFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('subscriptions', params)
return result
Expand Down Expand Up @@ -1553,7 +1552,7 @@ def find_some_proposals(self, from_ProposalFilter = None, page = 0):
search_filter = ProposalFilter()
else:
search_filter = from_ProposalFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('proposals', params)
return result
Expand Down Expand Up @@ -1735,7 +1734,7 @@ def find_some_orders(self, from_OrderFilter = None, page = 0):
search_filter = OrderFilter()
else:
search_filter = from_OrderFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('orders', params)
return result
Expand Down Expand Up @@ -1874,7 +1873,7 @@ def find_some_invoices(self, from_InvoiceFilter = None, page = 0):
search_filter = InvoiceFilter()
else:
search_filter = from_InvoiceFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('invoices', params)
return result
Expand Down Expand Up @@ -2011,7 +2010,7 @@ def find_some_interventions(self, from_InterventionFilter = None, page = 0):
search_filter = InterventionFilter()
else:
search_filter = from_InterventionFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('interventions', params)
return result
Expand Down Expand Up @@ -2068,7 +2067,7 @@ def find_some_tickets(self, from_TicketFilter = None, page = 0):
search_filter = TicketFilter()
else:
search_filter = from_TicketFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('tickets', params)
return result
Expand Down Expand Up @@ -2145,7 +2144,7 @@ def find_some_users(self, from_UserFilter = None, page = 0):
search_filter = UserFilter()
else:
search_filter = from_UserFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('users', params)
return result
Expand Down Expand Up @@ -2293,7 +2292,7 @@ def find_some_categories(self, from_categoryFilter = None, page = 0):
search_filter = CategoryFilter()
else:
search_filter = from_categoryFilter
search_filter.page = page
search_filter = replace(search_filter, page=page)
params = asdict(search_filter)
result = self.call_list_api('categories', params)
return result
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
setup(
name='dolibarrpy',
packages=['dolibarrpy'],
version="0.7.4",
version="0.7.5",
license='MIT',
description='Python wrapper for Dolibarr API',
long_description='This project is a python wrapper for the API for Dolibarr ERP & CRM found at dolibarr.org. It is not yet complete, but most major GET endpoints has been implemented. In the beginning I will mostly focus on implementing the API endpoints that I use.',
Expand Down

0 comments on commit 71198b8

Please sign in to comment.