Project

General

Profile

Product Backlog #5727 » code_export_path_unused.py

sprawdzenie nie używanych ścieżek z routingu - Patryk Szymański, 09/05/2024 05:26 AM

 
1
@app.route("/export_path_unused", methods=['GET'])
2
def export_path_unused():
3
    paths = [
4
        '',
5
        'home',
6
        'users',
7
        'users/details/*/*',
8
        'users/edit/*',
9
        'users/groups/*',
10
        'users/set-password/*',
11
        'users/add',
12
        'users/cases/*',
13
        'users/user_info_controller/new/*',
14
        'users/user_info_controller/new/*/*',
15
        'payment-terms',
16
        'payment-terms/add',
17
        'payment-terms/edit/*',
18
        'groups',
19
        'groups/add',
20
        'groups/users/*',
21
        'groups/cases/users/*',
22
        'groups/edit/*',
23
        'groups/permission/*',
24
        'groups/case-type/*',
25
        'customers',
26
        'customers/add',
27
        'customers/details/*',
28
        'customers/details/*/*',
29
        'customers/edit/*',
30
        'customers/cases/*',
31
        'customers/contact/add/*',
32
        'customers/vcard/edit/*',
33
        'customers/form/edit/*',
34
        'customers/contact/edit/*/*',
35
        'customers/contact/history-contact/add/*',
36
        'customers/contact/history-contact/edit/*/*',
37
        'customers/message/*/*',
38
        'customers/weight/edit/*',
39
        'location',
40
        'location/industry-connect/*',
41
        'location/add/*',
42
        'location/add',
43
        'location/edit/*',
44
        'location/edit/*/*',
45
        'location/edit/*/*/*',
46
        'location/edit/*/*',
47
        'office-work',
48
        'timeline',
49
        'timeline/add',
50
        'timeline/add/company',
51
        'timeline/edit-company-event/*',
52
        'timeline/edit/*/*',
53
        'vacation-request',
54
        'cases',
55
        'cases-bilans',
56
        'cases-creator',
57
        'cases/add',
58
        'cases/details/*',
59
        'cases/edit/*',
60
        'cases/retry/*',
61
        'cases/restore',
62
        'cases/return/*',
63
        'forward-cases',
64
        'my-cases',
65
        'cost-cases-planner',
66
        'bank-transfer-details',
67
        'currency-list',
68
        'currency-list/add',
69
        'currency-list/edit/*',
70
        'deleted-purchase-invoices',
71
        'invoice-list',
72
        'pucharse-invoices-responsible-users',
73
        'invoice-list/add',
74
        'invoice-list/add/*',
75
        'invoice-list/edit/*',
76
        'invoice-list/details/*/*',
77
        'invoice-list/return/*',
78
        'sells-invoice',
79
        'sells-invoice/client/*',
80
        'sells-invoice/unpaid-invoices-report/*/*',
81
        'warehouse',
82
        'project',
83
        'permissions',
84
        'permissions/add',
85
        'permissions/edit/*',
86
        'spare-parts',
87
        'spare-parts/add',
88
        'spare-parts/add/*',
89
        'spare-parts/edit/*',
90
        'spare-parts/details/*',
91
        'sells-invoice/add',
92
        'sells-invoice/add/*',
93
        'sells-invoice/edit/*',
94
        'sells-invoice/correction/*',
95
        'project',
96
        'project/add',
97
        'project/add/user/*',
98
        'project/edit/*',
99
        'project/stage/add/*',
100
        'project/stage/edit/*',
101
        'settlements',
102
        'settlements-montly',
103
        'settlements/add',
104
        'settlements/add/*',
105
        'settlements/edit/*',
106
        'settlements/default-edit/*',
107
        'delegation',
108
        'delegation/add/*',
109
        'delegation/edit/*',
110
        'monitor',
111
        'marketing-monitor',
112
        'ticket',
113
        'users-vacation',
114
        'users-employments',
115
        'procedures',
116
        'procedures/*',
117
        'acceptance',
118
        'past-contacts',
119
        'future-contacts',
120
        'purchase',
121
        'issues',
122
        'change-password',
123
        'work-cards',
124
        'office-equipment',
125
        'my-vacation-request',
126
        'budget-planner',
127
        'port-calls-ship/*',
128
        'port-calls-port/*',
129
        'port-calls',
130
        'port-calls-port/*',
131
        'port-calls-ship/*',
132
        'monitor-case-invoices',
133
        'documents',
134
        'delegations',
135
        'delegations-national',
136
        'delegations-national-add',
137
        'delegations-national-edit/*',
138
        'delegations-national-add-settlements/*',
139
        'delegations-national-edit-settlements/*',
140
        'delegations-foreign',
141
        'delegations-foreign-add',
142
        'delegations-foreign-edit/*',
143
        'delegations-foreign-add-settlements/*',
144
        'delegations-foreign-edit-settlements/*',
145
        'delegations-users',
146
        'delegations-users-add',
147
        'delegations-users-edit/*',
148
        'delegations-fleet-company',
149
        'delegations-fleet-company-add',
150
        'delegations-fleet-company-edit/*',
151
        'delegations-fleet-other',
152
        'delegations-fleet-other-add',
153
        'delegations-fleet-other-edit/*',
154
        'delegations-acceptance-path',
155
        'delegations-acceptance-path-add',
156
        'delegations-advances',
157
        'delegations-advances/*/*',
158
        'delegations-advances-add',
159
        'financial-statistics',
160
        'financial-statistics/generating-expenses/*/*/*',
161
        'financial-statistics/generating-profits/*/*/*',
162
        'financial-statistics/generating-balance/*/*/*',
163
        'l4verification',
164
        'timeline-service',
165
        'warehouse-office-equipment',
166
        'warehouse-clothes',
167
        'warehouse-office-equipment/edit/*',
168
        'warehouse-office-equipment/addrequest',
169
        'warehouse-office-equipment/addset',
170
        'warehouse-office-equipment/editset/*',
171
        'warehouse-clothes/add',
172
        'warehouse-clothes/add-self',
173
        'warehouse-clothes/addrequest',
174
        'warehouse-clothes/edit/*',
175
        'warehouse-clothes/editUserrequest/*',
176
        'warehouse-clothes/editLogisticrequest/*',
177
        'warehouse-office-equipment/editUserrequest/*',
178
        'warehouse-office-equipment/editLogisticrequest/*',
179
        'purchase-order',
180
        'purchase-order/add/*',
181
        'purchase-order/add',
182
        'purchase-order/edit/*',
183
        'info-notify'
184
    ]
185

    
186
    query = """SELECT distinct(url) FROM user_logs where user_id not in (181,77,316,326,144, 42);"""
187
    df = pd.read_sql(query, db.session.bind)
188
    import fnmatch
189

    
190
    def match_path(path, patterns):
191
        for pattern in patterns:
192
            if fnmatch.fnmatch(path, f'/{pattern}'):
193
                return pattern
194
        return None
195

    
196
    df['matched_pattern'] = df['url'].apply(lambda x: match_path(x, paths))
197

    
198
    matched_patterns = df['matched_pattern'].dropna().unique()
199

    
200
    all_patterns = set(paths)
201

    
202
    unmatched_patterns = all_patterns - set(matched_patterns)
203
    sorted_unmatched_patterns = sorted(unmatched_patterns)
204

    
205
    print("Wzorce, które nie zostały przypisane:")
206
    for row in sorted_unmatched_patterns:
207
        print(row)
208

    
209
    return df
(2-2/2)