Added basic support for packages
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import json
|
||||
from typing import Union, List, Optional
|
||||
|
||||
import requests
|
||||
@@ -23,6 +24,10 @@ download.jsp?path=%2Fcontent%2Fdam%2Fbeeldbank%2Fvrouw-direct-naar.jpg%2Fjcr%3Ac
|
||||
|
||||
CRX_SERVER_ROOT = '/crx/server/crx.default/jcr:root/'
|
||||
CRX_QUERY = '/crx/de/query.jsp'
|
||||
|
||||
PACKMGR_EXEC = '/crx/packmgr/service/exec.json'
|
||||
PACKMGR_UPDATE = '/crx/packmgr/update.jsp'
|
||||
|
||||
WCM_REFERENCES = '/bin/wcm/references.json'
|
||||
WCM_PAGE_REFERENCES = '/libs/wcm/core/content/reference.json'
|
||||
WCM_REPLICATE = '/bin/replicate.json'
|
||||
@@ -279,3 +284,32 @@ class Connection:
|
||||
# todo check for exception
|
||||
resp = self._session.post(self._data_root, files=files)
|
||||
resp.raise_for_status()
|
||||
|
||||
def create_package(self, name: str, group: str, version: str = '1.0') -> (bool, str):
|
||||
resp = self._session.post(self._host + PACKMGR_EXEC, params={'cmd': 'create'}, data={
|
||||
'_charset_': 'utf-8',
|
||||
'packageName': name,
|
||||
'packageVersion': version,
|
||||
'groupName': group
|
||||
})
|
||||
resp.raise_for_status()
|
||||
data = resp.json()
|
||||
if not data['success']:
|
||||
return False, f'/etc/packages/{group}/{data["msg"]}'
|
||||
return True, resp.json()['path']
|
||||
|
||||
def update_package(self, path: str, name: str, group: str, version: str, filters: list, description: str = None):
|
||||
resp = self._session.post(
|
||||
self._host + PACKMGR_UPDATE,
|
||||
files={
|
||||
'path': (None, path),
|
||||
'packageName': (None, name),
|
||||
'groupName': (None, group),
|
||||
'version': (None, version),
|
||||
'filter': (None, json.dumps(filters, separators=(',', ':'))),
|
||||
# 'description': description or '',
|
||||
'_charset_': (None, 'UTF-8')
|
||||
}
|
||||
)
|
||||
resp.raise_for_status()
|
||||
return resp.json()['path']
|
||||
|
||||
Reference in New Issue
Block a user