4
4
from flask import request , session
5
5
6
6
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
+
8
17
if config .track_session ():
9
18
log_id = session ['log_id' ] if 'log_id' in session else 0
10
19
no_of_visits = session ['no_of_visits' ]
11
20
current_page = request .url
12
21
previous_page = session ['current_page' ] if 'current_page' in session else ''
13
22
14
23
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)"
53
24
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 :
56
27
conn = None
57
28
cursor = None
58
29
@@ -62,18 +33,11 @@ def track_visitor():
62
33
conn = mysql .connect ()
63
34
cursor = conn .cursor ()
64
35
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 )
70
37
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)
76
39
40
+ if log_id > 0 :
77
41
sql = 'select max(no_of_visits) as next from visits_log limit 1'
78
42
79
43
conn = mysql .connect ()
@@ -95,14 +59,45 @@ def track_visitor():
95
59
96
60
conn .commit ()
97
61
62
+ session ['track_session' ] = True
98
63
session ['no_of_visits' ] = count
99
- session ['current_page' ] = requested_url
100
-
64
+ session ['current_page' ] = requested_url
101
65
else :
102
66
session ['track_session' ] = False
103
67
except Exception as e :
104
68
print (e )
105
69
session ['track_session' ] = False
106
70
finally :
107
71
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