Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 3450151

Browse files
authored
Update visitor.py
broken into function
1 parent c04f9ae commit 3450151

File tree

1 file changed

+49
-54
lines changed
  • python-flask-mysql-online-visitor-tracker

1 file changed

+49
-54
lines changed

python-flask-mysql-online-visitor-tracker/visitor.py

Lines changed: 49 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -4,55 +4,26 @@
44
from flask import request, session
55

66
def track_visitor():
7-
if config.is_tracking_allowed():
7+
if not config.is_tracking_allowed():
8+
return
9+
else:
10+
ip_address = request.remote_addr
11+
requested_url = request.url
12+
referer_page = request.referrer
13+
page_name = request.path
14+
query_string = request.query_string
15+
user_agent = request.user_agent.string
16+
817
if config.track_session():
918
log_id = session['log_id'] if 'log_id' in session else 0
1019
no_of_visits = session['no_of_visits']
1120
current_page = request.url
1221
previous_page = session['current_page'] if 'current_page' in session else ''
1322

1423
if previous_page != current_page:
15-
ip_address = request.remote_addr
16-
requested_url = request.url
17-
referer_page = request.referrer
18-
page_name = request.path
19-
query_string = request.query_string
20-
user_agent = request.user_agent.string
21-
22-
sql = "INSERT INTO visits_log(no_of_visits, ip_address, requested_url, referer_page, page_name, query_string, user_agent) VALUES(%s, %s, %s, %s, %s, %s, %s)"
23-
24-
data = (no_of_visits, ip_address, requested_url, referer_page, page_name, query_string, user_agent,)
25-
26-
conn = None
27-
cursor = None
28-
29-
try:
30-
conn = mysql.connect()
31-
cursor = conn.cursor()
32-
33-
cursor.execute(sql, data)
34-
35-
conn.commit()
36-
37-
session.modified = True
38-
session['current_page'] = requested_url
39-
except Exception as e:
40-
print(e)
41-
finally:
42-
cursor.close()
43-
conn.close()
44-
else:
45-
ip_address = request.remote_addr
46-
requested_url = request.url
47-
referer_page = request.referrer
48-
page_name = request.path
49-
query_string = request.query_string
50-
user_agent = request.user_agent.string
51-
52-
sql = "INSERT INTO visits_log(ip_address, requested_url, referer_page, page_name, query_string, user_agent) VALUES(%s, %s, %s, %s, %s, %s)"
5324

54-
data = (ip_address, requested_url, referer_page, page_name, query_string, user_agent,)
55-
25+
log_visitor(ip_address, requested_url, referer_page, page_name, query_string, user_agent, no_of_visits)
26+
else:
5627
conn = None
5728
cursor = None
5829

@@ -62,18 +33,11 @@ def track_visitor():
6233
conn = mysql.connect()
6334
cursor = conn.cursor()
6435

65-
cursor.execute(sql, data)
66-
67-
conn.commit()
68-
69-
log_id = cursor.lastrowid
36+
log_id = log_visitor(ip_address, requested_url, referer_page, page_name, query_string, user_agent)
7037

71-
print('log_id', log_id)
72-
73-
if log_id > 0:
74-
session['current_page'] = requested_url
75-
session['track_session'] = True
38+
#print('log_id', log_id)
7639

40+
if log_id > 0:
7741
sql = 'select max(no_of_visits) as next from visits_log limit 1'
7842

7943
conn = mysql.connect()
@@ -95,14 +59,45 @@ def track_visitor():
9559

9660
conn.commit()
9761

62+
session['track_session'] = True
9863
session['no_of_visits'] = count
99-
session['current_page'] = requested_url
100-
64+
session['current_page'] = requested_url
10165
else:
10266
session['track_session'] = False
10367
except Exception as e:
10468
print(e)
10569
session['track_session'] = False
10670
finally:
10771
cursor.close()
108-
conn.close()
72+
conn.close()
73+
74+
def log_visitor(ip_address, requested_url, referer_page, page_name, query_string, user_agent, no_of_visits=None):
75+
sql = None
76+
data = None
77+
conn = None
78+
cursor = None
79+
log_id = 0
80+
81+
if no_of_visits == None:
82+
sql = "INSERT INTO visits_log(no_of_visits, ip_address, requested_url, referer_page, page_name, query_string, user_agent) VALUES(%s, %s, %s, %s, %s, %s, %s)"
83+
data = (no_of_visits, ip_address, requested_url, referer_page, page_name, query_string, user_agent,)
84+
else:
85+
sql = "INSERT INTO visits_log(ip_address, requested_url, referer_page, page_name, query_string, user_agent) VALUES(%s, %s, %s, %s, %s, %s)"
86+
data = (ip_address, requested_url, referer_page, page_name, query_string, user_agent,)
87+
88+
try:
89+
conn = mysql.connect()
90+
cursor = conn.cursor()
91+
92+
cursor.execute(sql, data)
93+
94+
conn.commit()
95+
96+
log_id = cursor.lastrowid
97+
98+
return log_id
99+
except Exception as e:
100+
print(e)
101+
finally:
102+
cursor.close()
103+
conn.close()

0 commit comments

Comments
 (0)