Commit e818e70e by Javier

Versión Mixta Selenium API

parent 86da9baa
MAGNUS_HOST = 'http://192.168.2.56/mbilling'
API_KEY = 'VZvFS9QBDa4WqsIHF1IKChDKOVuy8uzo'
API_SECRET = 'eBy8Cuwc29z490gvmU7BZmpvUWdfehFl'
\ No newline at end of file
MAGNUS_HOST = 'http://192.168.2.84/mbilling'
API_KEY = 'FxMqVFWMztbigCeZlFupGULLh6LRaLs8'
API_SECRET = 'rguvK0sNZMki5yWtv4RKONMJo1Hd9jiX'
\ No newline at end of file
MAGNUS_HOST = 'http://192.168.2.56/mbilling'
API_KEY = 'VZvFS9QBDa4WqsIHF1IKChDKOVuy8uzo'
API_SECRET = 'eBy8Cuwc29z490gvmU7BZmpvUWdfehFl'
\ No newline at end of file
......@@ -4,15 +4,22 @@ include 'api.php';
// ARGUMENTOS: DID
if (isset($argv[1])) {
$did_id = $magnusBilling->getId('did', 'did', $argv[1]);
if (isset($sip_id)) {
print("[200] OK id=" . $did_id);;
} else {
$result = $magnusBilling->create('did', [
"did" => $argv[1],
"activated" => "1"
]);
if ($result['success'] == 1) {
print("[201] OK id=" . $result['rows'][0]['id']);
} else {
print("[409] ERROR Ya existe una cuenta con mismo usuario.");
}
}
} else {
print("[404] ERROR No se han introducido todos los parámetros necesarios.");
}
<?php
include 'api.php';
// ARGUMENTOS: USER PASSWORD PBX
if (isset($argv[1]) && isset($argv[2])) {
$data = [
"id_user" => $magnusBilling->getId('user', 'username', $argv[1]),
"name" => $argv[1],
"callerid" => $argv[1],
"secret" => $argv[2]
];
if(isset($argv[3])) {
$data["host"] = $argv[3];
$data["insecure"] = "invite,port";
}
$sip_id = $magnusBilling->getId('sip', 'name', $argv[1]);
if ($sip_id == null) {
$result = $magnusBilling->create('sip', $data);
} else {
$result = $magnusBilling->update('sip', $sip_id, $data);
}
if ($result['success'] == 1) {
print("[201] OK id=" . $result['rows'][0]['id']);
} else {
print_r($result);
}
} else {
print("[404] ERROR No se han introducido todos los parámetros necesarios.");
}
......@@ -4,6 +4,11 @@ include 'api.php';
// ARGUMENTOS : USERNAME PASSWORD NOMBRE APELLIDOS
if (isset($argv[1]) && isset($argv[2]) && isset($argv[3]) && isset($argv[4])) {
$user_id = $magnusBilling->getId('user', 'username', $argv[1]);
if (isset($user_id)) {
print("[201] OK id=" . $user_id);
} else {
$result = $magnusBilling->create('user', [
'username' => $argv[1],
'password' => $argv[2] . strval(rand(100, 999)),
......@@ -21,6 +26,8 @@ if (isset($argv[1]) && isset($argv[2]) && isset($argv[3]) && isset($argv[4])) {
} else {
print("[409] ERROR Ya existe una cuenta con mismo usuario.");
}
}
} else {
print("[404] ERROR No se han introducido todos los parámetros necesarios.");
}
......
......@@ -59,3 +59,4 @@ def create_account(nombre : str, telefono : str, id_cliente : int, email : str =
create_account(tarifa=Tarifa.ESTANDAR,nombre="Cliente",telefono="856856856",id_cliente=256452,email="pruebas@pruebas.es")
e
\ No newline at end of file
import numbers
from operator import sub
import subprocess
from pathlib import Path
import re
from unittest import result
import requests
mbapi_path = Path('D:\Proyectos\scrapper-portabilidad\magnus-api')
succesful = re.compile(r'^\[20\d\]')
def _add_user_account(phone_number : str, password : str, name : str, surname : str):
result = subprocess.run(['php', Path(mbapi_path, 'create_user.php'), phone_number, password, name, surname])
print(result)
def create_user(phone_number : str, password : str, name : str, surname : str, balance : float = 0.0):
class MagnusCommandError(Exception):
pass
def _create_user(phone_number: str, password: str, name: str, surname: str):
"""Genera una cuenta de usuario en MagnusBilling
"""
result = subprocess.check_output(
['php', Path(mbapi_path, 'create_user.php'),
phone_number, password, name, surname]
)
if not re.match(succesful, result.decode(encoding='utf-8')):
raise MagnusCommandError(result.decode(encoding='utf-8'))
def _create_sip(phone_number: str, password: str, pbx: str = None):
command = ['php', Path(mbapi_path, 'create_sip.php'),
phone_number, password]
if pbx:
command.append(pbx)
result = subprocess.check_output(command)
if not re.match(succesful, result.decode(encoding='utf-8')):
raise MagnusCommandError(result.decode(encoding='utf-8'))
def _create_did(phone_number: str):
"""Genera un DID
"""
for did in (phone_number, f'34{phone_number}'):
result = subprocess.check_output(
['php', Path(mbapi_path, 'create_did.php'), did]
)
result = subprocess.check_output(
['php', Path(mbapi_path, 'assign_did.php'), phone_number, did]
)
if not re.match(succesful, result.decode('utf-8')):
raise MagnusCommandError(result.decode('utf-8'))
def create_user(phone_number: str, name: str, surname: str, password: str = None, pbx: str = None, balance: float = 0.0):
"""Crea a un nuevo usuario en MagnusBilling
"""
_add_user_account(phone_number,password,name,surname)
password = password if password else ''.join(
(name.split(' ')[0].lower(), phone_number[4:6]))
_create_user(phone_number, password, name, surname)
_create_sip(phone_number, password, pbx)
_create_did(phone_number)
response = {'number': phone_number}
if pbx:
response['outgoing'] = f'type = friend\nusername = {phone_number}\nhost = 192.168.2.84\nnat = force_rport, comedia\nqualify = yes\ninsecure = invite, port'
response['incoming'] = 'type = friend\nhost = 192.168.2.84\nnat = force_rport, comedia\nqualify = yes\ninsecure = invite, port'
else:
response['password'] = phone_number
return response
def add_trunk_account(pbx: str, username: str, password: str):
"""Añade la troncal a una Centralita
"""
base = pbx if re.match(r'^https:/.*$', pbx) else f'https://{pbx}'
with requests.Session() as s:
r = s.post(
url=base,
verify=False,
data={
'input_user': 'admin',
'input_pass': 'Mur5cKUBatdw',
'submit_login': ''
}
)
r = s.get(
url=f'{base}/config.php?display=trunks&tech=SIP'
)
print(r.content)
account = {
'number': '956385412',
'name': 'AkunaDecor',
'surname': 'Interiorismo S.L.',
'pbx': '192.168.2.54'
}
create_user('856132067', 'test', 'nombre', 'apellido')
user = create_user(phone_number = account['number'], name = account['name'], surname = account['surname'], pbx= account['pbx'])
print(f'url: {account["pbx"]}')
print('--------')
print(user['number'])
print('--------')
print(user['outgoing'])
print('--------')
print(user['incoming'])
print('--------')
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment