Skip to content
This repository was archived by the owner on Nov 4, 2025. It is now read-only.

Commit ecd80f2

Browse files
committed
v0.9 car fine and electro
1 parent 62fbba7 commit ecd80f2

5 files changed

Lines changed: 81 additions & 26 deletions

File tree

README.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,3 +83,7 @@ python https://bootstrap.pypa.io/get-pip.py
8383
перезагружаем терминал
8484
```
8585

86+
## Благодарности
87+
88+
@monster1025
89+
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
# -*- coding: utf-8 -*-
2+
from __future__ import print_function
3+
import argparse
4+
from emp_mos_api import MosAPI, AuthException, EmpServerException
5+
6+
# Код написан общим для python2, python3 благодаря
7+
# http://python-future.org/compatible_idioms.html
8+
9+
if __name__ == "__main__":
10+
parser = argparse.ArgumentParser(description='emp.mos.ru API')
11+
parser.add_argument('--token', help='application token')
12+
parser.add_argument('--user_agent', default='okhttp/3.8.1', help='User-Agent header')
13+
parser.add_argument('--guid', help='some guid')
14+
parser.add_argument('--dev_user_agent', default='Android', help='application user agent')
15+
parser.add_argument('--dev_app_version', help='application version')
16+
17+
parser.add_argument('--login', help='your login (phone number: 7xxxxxxxxxx)')
18+
parser.add_argument('--pwd', help='your password')
19+
20+
parser.add_argument('--sts', help='your car sts')
21+
22+
args = parser.parse_args()
23+
24+
#
25+
try:
26+
api = MosAPI(token=args.token,
27+
user_agent=args.user_agent,
28+
guid=args.guid,
29+
dev_user_agent=args.dev_user_agent,
30+
dev_app_version=args.dev_app_version,
31+
timeout=6)
32+
33+
api.login(args.login, args.pwd)
34+
35+
car_fines = api.get_car_fines(args.sts)
36+
unpaid = car_fines['unpaid']
37+
print("Неоплаченных штрафов: {}".format(len(unpaid)))
38+
39+
for u in unpaid:
40+
print("\nНомер: {}".format(u['seriesAndNumber']))
41+
print("Дата: {}".format(u['date']))
42+
print("Место: {}".format(u['offence_place']))
43+
print("Статья: {}".format(u['offenceType']))
44+
print("Сумма: {}".format(u['cost']))
45+
print("is_discount: {}".format(u['is_discount']))
46+
print("drive_license: {}".format(u['drive_license']))
47+
print("sts_number: {}".format(u['sts_number']))
48+
print("executionState: {}".format(u['executionState']))
49+
print("is_fssp: {}".format(u['is_fssp']))
50+
51+
52+
except AuthException as err:
53+
print('Некорректный логин или пароль')
54+
except EmpServerException as err:
55+
print('Ошибка сервера: {}'.format(err))
56+
except Exception as err:
57+
print('Ошибка: {}'.format(err))
58+
finally:
59+
try:
60+
api.logout()
61+
except Exception as err:
62+
print('Ошибка: {}'.format(err))

emp_mos_api/examples/read_electro_car_epd.py renamed to emp_mos_api/examples/read_electro_epd.py

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# -*- coding: utf-8 -*-
22
from __future__ import print_function
33
import argparse
4+
import time
45
from emp_mos_api import MosAPI, AuthException, EmpServerException
56

67
# Код написан общим для python2, python3 благодаря
@@ -17,8 +18,6 @@
1718
parser.add_argument('--login', help='your login (phone number: 7xxxxxxxxxx)')
1819
parser.add_argument('--pwd', help='your password')
1920

20-
parser.add_argument('--sts', help='your car sts')
21-
2221
args = parser.parse_args()
2322

2423
#
@@ -30,20 +29,9 @@
3029
dev_app_version=args.dev_app_version,
3130
timeout=6)
3231

33-
api.login(login, pwd)
32+
api.login(args.login, args.pwd)
3433
p = api.get_profile()
3534

36-
car_fines = api.get_car_fines(args.sts)
37-
unpaid = car_fines['unpaid']
38-
print("Неоплаченных штрафов: {}".format(len(unpaid)))
39-
40-
print('ФИО: ', p['firstname'],
41-
' ', p['middlename'],
42-
' ', p['lastname'])
43-
print('Дата рождения: ', p['birthdate'])
44-
print('Телефон: ', p['msisdn'])
45-
print('Эл. почта: ', p['email'])
46-
4735
flats = api.get_flats()
4836

4937
print('Кол-во квартир: ', len(flats))
@@ -70,7 +58,6 @@
7058
print(" - Дата: {}, сумма: {}, оплачен: {}.".format(date, epd_total, epd_is_paid))
7159
time.sleep(1)
7260

73-
7461
if f['electro_account'] != "":
7562
electro = api.get_electrocounters(f['flat_id'])
7663
balance = electro['balance']

emp_mos_api/mos.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
from datetime import datetime, tzinfo
55
from copy import deepcopy
66

7+
API_V1_0 = 'https://emp.mos.ru/v1.0'
8+
API_V1_1 = 'https://emp.mos.ru/v1.1'
79

810
class AuthException(Exception):
911
pass
@@ -94,7 +96,7 @@ def login(self, telephone, pwd):
9496
}
9597
}
9698

97-
ret = self.session.post('https://emp.mos.ru/v1.0/auth/virtualLogin',
99+
ret = self.session.post(API_V1_0 + '/auth/virtualLogin',
98100
params={'token': self.token},
99101
headers={'Content-Type': 'application/json; charset=UTF-8',
100102
'Connection': 'Keep-Alive',
@@ -128,7 +130,7 @@ def get_profile(self):
128130
"""
129131
assert self.session_id
130132

131-
ret = self.session.get('https://emp.mos.ru/v1.0/profile/get',
133+
ret = self.session.get(API_V1_0 + '/profile/get',
132134
params={'token': self.token,
133135
'info[guid]': self.guid,
134136
'auth[session_id]': self.session_id
@@ -159,7 +161,7 @@ def get_flats(self):
159161
"""
160162
assert self.session_id
161163

162-
ret = self.session.get('https://emp.mos.ru/v1.0/flat/get',
164+
ret = self.session.get(API_V1_0 + '/flat/get',
163165
params={'token': self.token,
164166
'info[guid]': self.guid,
165167
'auth[session_id]': self.session_id
@@ -234,7 +236,7 @@ def get_watercounters(self, flat_id):
234236
}
235237
}
236238

237-
ret = self.session.post('https://emp.mos.ru/v1.0/watercounters/get',
239+
ret = self.session.post(API_V1_0 + '/watercounters/get',
238240
params={'token': self.token},
239241
headers=wheaders,
240242
verify=self.verify,
@@ -275,7 +277,7 @@ def send_watercounters(self, flat_id, counters_data):
275277
'session_id': self.session_id
276278
}}
277279

278-
ret = self.session.post('https://emp.mos.ru/v1.0/watercounters/addValues',
280+
ret = self.session.post(API_V1_0 + '/watercounters/addValues',
279281
params={'token': self.token},
280282
headers=wheaders,
281283
verify=self.verify,
@@ -329,7 +331,7 @@ def get_electrocounters(self, flat_id):
329331
}
330332
}
331333

332-
ret = self.session.post('https://emp.mos.ru/v1.0/electrocounters/get',
334+
ret = self.session.post(API_V1_0 + '/electrocounters/get',
333335
params={'token': self.token},
334336
headers=wheaders,
335337
verify=self.verify,
@@ -371,7 +373,7 @@ def send_electrocounters(self, flat_id, counters_data):
371373
'auth': {
372374
'session_id': self.session_id
373375
}}
374-
ret = self.session.post('https://emp.mos.ru/v1.0/electrocounters/addValues',
376+
ret = self.session.post(API_V1_0 + '/electrocounters/addValues',
375377
params={'token': self.token},
376378
headers=wheaders,
377379
verify=self.verify,
@@ -417,7 +419,7 @@ def get_epd(self, flat_id, period, is_debt=True):
417419
}
418420
}
419421

420-
ret = self.session.post('https://emp.mos.ru/v1.1/epd/get',
422+
ret = self.session.post(API_V1_1 + '/epd/get',
421423
params={'token': self.token},
422424
headers=wheaders,
423425
verify=self.verify,
@@ -465,7 +467,7 @@ def get_car_fines(self, sts_number):
465467
}
466468
}
467469

468-
ret = self.session.post('https://emp.mos.ru/v1.0/offence/getOffence',
470+
ret = self.session.post(API_V1_0 + '/offence/getOffence',
469471
params={'token': self.token},
470472
headers=wheaders,
471473
verify=self.verify,
@@ -489,7 +491,7 @@ def logout(self, timeout=None):
489491
'session_id': self.session_id
490492
}
491493
}
492-
ret = self.session.post('https://emp.mos.ru/v1.0/auth/logout',
494+
ret = self.session.post(API_V1_0 + '/auth/logout',
493495
params={'token': self.token},
494496
headers=self.headers,
495497
timeout=timeout or self.timeout,

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
from setuptools import setup
88

99
VERSION_MAJOR = 0
10-
VERSION_MINOR = 8
10+
VERSION_MINOR = 9
1111

1212
ver = '%d.%d' % (VERSION_MAJOR, VERSION_MINOR)
1313

0 commit comments

Comments
 (0)