mofh package

Submodules

mofh.errors module

exception mofh.errors.APIError(message: Optional[str], status: int)

Bases: Exception

Base API error class

mofh.main module

class mofh.main.AsyncClient(username, password, api_url: str = 'https://panel.myownfreehost.net/xml-api/', *, session: Optional[ClientSession] = None)

Bases: object

MyOwnFreeHost async API client.

Parameters
  • username – MyOwnFreeHost API username

  • password – MyOwnFreeHost API password

  • api_url – MyOwnFreeHost API url

  • session – AIOHTTP session

Usage:
>>> client = AsyncClient(username='username', password='password')
async change_password(username: str, password: str) Optional[int]

Changes a user’s vPanel account password.

Parameters
  • username – user’s internal username, has a limit of 8 characters.

  • password – user’s new password.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.change_password(username='username', password='password')
async close() None

Closes the internal session.

Note: This closes the custom session if you used one.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.close()
async create(username: str, password: str, contactemail: str, domain: str, plan: str) Any

Creates a new vPanel user account.

Parameters
  • username – user’s internal username, has a limit of 8 characters.

  • password – user’s password on the vPanel.

  • contactemail – user’s email on the vPanel.

  • domain – user’s domain on the vPanel.

  • plan – user’s plan on the vPanel.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.create(
>>>     username="username",
>>>     password="password",
>>>     contactemail="example@example.com",
>>>     domain="subdomain.example.com",
>>>     plan="MyAwesomePlan",
>>> )
async domain_available(domain: str) int

Checks if a domain is available for registration.

Parameters

domain – domain you want to check.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.domain_available(domain='example.com')
async suspend(username: str, reason: str) Optional[int]

Suspends a user’s vPanel account.

Parameters
  • username – user’s internal username, has a limit of 8 characters.

  • reason – reason of suspension.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.suspend(username='username', reason='reason')
async unsuspend(username: str) Optional[int]

Unsuspends a user’s vPanel account.

Parameters

username – user’s internal username, has a limit of 8 characters.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.unsuspend(username='username')
async user_by_domain(domain: str) Any

Gets the user’s vPanel account associated with the domain entered.

Parameters

domain – domain of the user you want to check.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.user_by_domain(domain='example.com')
async user_domains(username: str) Any

Gets the domains connected to a user’s vPanel account.

Parameters

username – user’s vPanel username, e.g. hname_12345678.

Usage:
>>> client = AsyncClient(username='username', password='password')
>>> await client.user_domains(username='hname_12345678')
class mofh.main.Client(username, password, api_url: str = 'https://panel.myownfreehost.net/xml-api/', *, session: Optional[Session] = None)

Bases: object

MyOwnFreeHost API client.

Parameters
  • username – MyOwnFreeHost API username

  • password – MyOwnFreeHost API password

  • api_url – MyOwnFreeHost API url

  • session – AIOHTTP session

Usage:
>>> client = Client(username='username', password='password')
change_password(username: str, password: str) Optional[int]

Changes a user’s vPanel account password.

Parameters
  • username – user’s internal username, has a limit of 8 characters.

  • password – user’s new password.

Usage:
>>> client = Client(username='username', password='password')
>>> client.change_password(username='username', password='password')
close() None

Closes the internal session.

Note: This closes the custom session if you used one.

Usage:
>>> client = Client(username='username', password='password')
>>> client.close()
create(username: str, password: str, contactemail: str, domain: str, plan: str) Any

Creates a new vPanel user account.

Parameters
  • username – user’s internal username, has a limit of 8 characters.

  • password – user’s password on the vPanel.

  • contactemail – user’s email on the vPanel.

  • domain – user’s domain on the vPanel.

  • plan – user’s plan on the vPanel.

Usage:
>>> client = Client(username='username', password='password')
>>> client.create(
>>>     username="username",
>>>     password="password",
>>>     contactemail="example@example.com",
>>>     domain="subdomain.example.com",
>>>     plan="MyAwesomePlan",
>>> )
domain_available(domain: str) int

Checks if a domain is available for registration.

Parameters

domain – domain you want to check.

Usage:
>>> client = Client(username='username', password='password')
>>> client.domain_available(domain='example.com')
suspend(username: str, reason: str) Optional[int]

Suspends a user’s vPanel account.

Parameters
  • username – user’s internal username, has a limit of 8 characters.

  • reason – reason of suspension.

Usage:
>>> client = Client(username='username', password='password')
>>> client.suspend(username='username', reason='reason')
unsuspend(username: str) Optional[int]

Unsuspends a user’s vPanel account.

Parameters

username – user’s internal username, has a limit of 8 characters.

Usage:
>>> client = Client(username='username', password='password')
>>> client.unsuspend(username='username')
user_by_domain(domain: str) Any

Gets the user’s vPanel account associated with the domain entered.

Parameters

domain – domain of the user you want to check.

Usage:
>>> client = Client(username='username', password='password')
>>> client.user_by_domain(domain='example.com')
user_domains(username: str) Any

Gets the domains connected to a user’s vPanel account.

Parameters

username – user’s vPanel username, e.g. hname_12345678.

Usage:
>>> client = Client(username='username', password='password')
>>> client.user_domains(username='hname_12345678')

Module contents