-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmock_card_reader.py
More file actions
52 lines (48 loc) · 1.46 KB
/
mock_card_reader.py
File metadata and controls
52 lines (48 loc) · 1.46 KB
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
import argparse
import requests
import logging
logger = logging.getLogger(__name__)
logging.basicConfig(level=logging.INFO)
def get_args():
parser = argparse.ArgumentParser()
parser.add_argument(
'--base-url',
default='0.0.0.0',
help='The base url of the request. defaults to 0.0.0.0',
type=str
)
parser.add_argument(
'--port',
default=8080,
type=int,
help='The port number of the API request'
)
parser.add_argument(
'--card-bytes',
required=True,
help='The ID of the card read',
type=int
)
parser.add_argument(
'--api-key',
required=True,
type=str,
help='API key for secure access'
)
parser.add_argument(
'--add',
action='store_true',
help='Whether or not to add the card to the database',
)
return parser.parse_args()
def main(base_url, port, card_bytes, api_key, add):
api_url = f'http://{base_url}:{port}/api/OfficeAccessCard/verify'
data = {'cardBytes': card_bytes, 'add': add}
logger.info(f'Request payload: {data}')
response = requests.get(url=api_url, params=data, headers={'x-api-key': api_key})
logger.info(f'Response received from {api_url}')
logger.info(f'Response: {response.text}')
if __name__ == '__main__':
args = get_args()
logger.info(f'Arguments retrieved: {args}')
main(args.base_url, args.port, args.card_bytes, args.api_key, args.add)