-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmvprofile.py
58 lines (40 loc) · 1.39 KB
/
mvprofile.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import argparse
import phonenumbers
from mvlogger import *
from mvapi import user_profile
class MVUserProfileRequest:
def __init__(self, user_key):
self.user_key = user_key
self.profile_exist = False
self.run()
def run(self):
response = user_profile(self.user_key)
if not response.ok:
logging.error('UserProfile request failed')
exit(1)
self.content = response.content
self.__parse_content()
def has_profile(self):
return self.profile_exist
def get(self):
return self.phone
def __parse_content(self):
plus_idx = self.content.find(b'+')
if plus_idx != -1:
phone_len = self.content[plus_idx - 1]
str_phone_number = str(self.content[plus_idx:][:phone_len])
phone_number = phonenumbers.parse(str_phone_number)
if phonenumbers.is_valid_number(phone_number):
self.phone = phone_number
self.profile_exist = True
def main():
parser = argparse.ArgumentParser()
parser.add_argument('-userkey', required=True, type=str, help="User_Key")
args = parser.parse_args()
user_key = args.userkey
user = MVUserProfileRequest(user_key)
if user.has_profile():
profile = user.get()
logging.info(profile)
if __name__ == "__main__":
main()