Compare commits

..

No commits in common. "b2bf152af4738bfb28ab4fad502eceff031a126e" and "3b905bd28e3415a48a164296013d172755e77bec" have entirely different histories.

7 changed files with 30 additions and 46 deletions

View File

@ -65,7 +65,7 @@ class Admin:
return ret
def authuser_update(self, Id, au):
def authuser_udpate(self, Id, au):
r = self.session.put(
"http+unix://" + self.socket_path + "/api/auth/" + quote_plus(Id),
data=json.dumps({

View File

@ -1,6 +1,3 @@
import json
from urllib.parse import quote
class AuthUser:
def __init__(self, _session, Id, Email, EmailVerification, Password, CreatedAt, LastLoggedIn, AllowCommercials):
@ -17,9 +14,9 @@ class AuthUser:
def Delete(self):
self._session.authuser_delete(self.Id)
def ResetPassword(self, NewPassword):
r = self._session.session.post(
"http+unix://" + self._session.socket_path + "/api/auth/" + quote(self.Id) + "/reset_password",
def ResetPassword(self, Id, NewPassword):
r = self.session.post(
"http+unix://" + self.socket_path + "/api/auth/" + quote_plus(Id) + "/reset_password",
data=json.dumps({
"password": NewPassword,
})

View File

@ -1,5 +1,4 @@
import json
from urllib.parse import quote
from .error import HappyError
from .domain import Domain
@ -16,13 +15,14 @@ class Provider:
self.args = kwargs
def _dumps(self):
return json.dumps({
d = {
"_srctype": self._srctype,
"_id": self._id,
"_ownerid": self._ownerid,
"_comment": self._comment,
"Provider": self.args,
})
}
d.update(self.kwargs)
return json.dumps(d)
def domain_add(self, dn):
r = self._session.session.post(
@ -36,11 +36,11 @@ class Provider:
if r.status_code != 200:
raise HappyError(r.status_code, **r.json())
return Domain(self._session, **r.json())
return Domain(self, **r.json())
def delete(self):
r = self._session.session.delete(
self._session.baseurl + "/api/providers/" + quote(self._id),
self.baseurl + "/api/providers/" + quote(self._id),
)
if r.status_code > 300:
@ -50,8 +50,8 @@ class Provider:
def update(self):
r = self._session.session.put(
self._session.baseurl + "/api/providers/" + quote(self._id),
data=self._dumps(),
self.baseurl + "/api/providers/" + quote(self._id),
date=self._dumps(),
)
if r.status_code > 300:

View File

@ -6,8 +6,6 @@ from .error import HappyError
class ServiceMeta:
def __init__(self, _session, _svctype, _domain, _ttl, _id=None, _ownerid=None, _comment="", _mycomment="", _aliases=[], _tmp_hint_nb=0):
self._session = _session
self._svctype = _svctype
self._domain = _domain
self._ttl = _ttl
@ -44,25 +42,22 @@ class HService(ServiceMeta):
return json.dumps(self._flat())
def _flat(self):
d = {
return {
"_svctype": self._svctype,
"_domain": self._domain,
"_ttl": self._ttl,
"_id": self._id,
"_ownerid": self._ownerid,
"_comment": self._comment,
"_mycomment": self._mycomment,
"_aliases": self._aliases,
"_tmp_hint_nb": self._tmp_hint_nb,
"Service": self.service,
}
if self._id is not None:
d["_id"] = self._id
if self._ownerid is not None:
d["_ownerid"] = self._ownerid
return d
def delete(self):
r = self._session.session.delete(
self._session.baseurl + "/api/domains/" + quote(self._domainid) + "/zone/" + quote(self._zoneid) + "/" + quote(self._domain) + "/services/" + quote(self._id),
self.baseurl + "/api/domains/" + quote(self._domainid) + "/zone/" + quote(self._zoneid) + "/" + quote(self._domain) + "/services/" + quote(self._id),
)
if r.status_code > 300:

View File

@ -33,20 +33,23 @@ class ZoneMeta:
class Zone(ZoneMeta):
def __init__(self, _session, _domainid, **kwargs):
self._domainid = _domainid
def __init__(self, _session, _domainid, services, **kwargs):
super(Zone, self).__init__(_session, **kwargs)
self._domainid = _domainid
self._load(services)
def _load(self, services, **kwargs):
super(Zone, self)._load(**kwargs)
if "id" in kwargs:
super(Zone, self).__init__(**kwargs)
self.services = {}
if services is not None:
for k in services:
self.services[k] = []
for s in services[k]:
self.services[k].append(HService(self._session, self._domainid, self.id, **s))
self.services[k].append(HService(_session, self._domainid, self.id, **s))
def _svc_dumps(self):
services = {}
@ -59,7 +62,9 @@ class Zone(ZoneMeta):
return services
def _dumps(self):
d = json.dumps({
return json.dumps({
"id": self.id,
"id_author": self.id_author,
"default_ttl": self.default_ttl,
"last_modified": self.last_modified,
"commit_message": self.commit_message,
@ -67,11 +72,6 @@ class Zone(ZoneMeta):
"published": self.published,
"services": self._svc_dumps(),
})
if self.id is not None:
d["id"] = self.id
if self.id_author is not None:
d["id_author"] = self.id_author
return d
def add_zone_service(self, subdomain, svctype, svc):
r = self._session.session.post(
@ -97,19 +97,11 @@ class Zone(ZoneMeta):
return r.json()
def apply_changes(self):
rdiff = self._session.session.post(
self._session.baseurl + "/api/domains/" + quote(self._domainid) + "/diff_zones/%40/" + quote(self.id),
)
if rdiff.status_code > 300:
raise HappyError(rdiff.status_code, **rdiff.json())
r = self._session.session.post(
self._session.baseurl + "/api/domains/" + quote(self._domainid) + "/zone/" + quote(self.id) + "/apply_changes",
data=rdiff.text
)
if r.status_code > 300:
raise HappyError(r.status_code, **r.json())
return ZoneMeta(self._session, **r.json())
return r.json()

View File

@ -1,6 +1,6 @@
[project]
name = "happydomain"
version = "0.0.5"
version = "0.0.4"
authors = [
{ name="happyDomain's team", email="contact+pypi@happydomain.org" },
]

View File

@ -8,7 +8,7 @@ try:
except ImportError:
from distutils.core import setup
version = "0.0.5"
version = "0.0.4"
setup(
name = "happydomain",