Server : Apache System : Linux iad1-shared-b8-43 6.6.49-grsec-jammy+ #10 SMP Thu Sep 12 23:23:08 UTC 2024 x86_64 User : dh_edsupp ( 6597262) PHP Version : 8.2.26 Disable Function : NONE Directory : /lib/python3/dist-packages/trac/ticket/__pycache__/ |
Upload File : |
o �k�`)� � @ s� d dl Z d dlZd dlZd dlmZ d dlT d dlmZ d dlm Z d dl mZmZ d dl mZ d dlmZ d d lmZmZ d d lmZmZmZ d dlmZ d dlmZ d d lmZmZmZm Z m!Z! d dl"m#Z#m$Z$ d dl%m&Z&m'Z'm(Z( d dl)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 d dl4m5Z5m6Z6 dZ7dZ8dd� Z9e�:dej;ej<B �Z=dd� Z>dd� Z?e�:dej;�Z@d dd�ZAG dd� deB�ZCdS )!� N)� IntOption)�*)�get_column_names)�IPermissionRequestor)�Resource�ResourceNotFound)�TicketSystem)�Report)�as_int�content_disposition)�format_datetime�format_time�from_utimestamp)�tag)� Paginator)�exception_to_unicode�quote_query_string�sub_vars�sub_vars_re� to_unicode)�_�tag_)�HTTPBadRequest�IRequestHandler�RequestDone) �Chrome�INavigationContributor�add_ctxtnav�add_link� add_notice�add_script_data�add_stylesheet�add_warning� auth_link�web_context)�IWikiSyntaxProvider� WikiParserz @SORT_COLUMN@z@LIMIT_OFFSET@c C s | dkrdS | rt | �S dS )z�Normalize a cell value for display. >>> (cell_value(None), cell_value(0), cell_value(1), cell_value('v')) ('', '0', '1', 'v') r �0� )�str)�v� r+ �4/usr/lib/python3/dist-packages/trac/ticket/report.py� cell_value1 s r- z� --.*$ # single line "--" comment | /\*([^*/]|\*[^/]|/[^*])*\*/ # C style comment | '(\\.|[^'\\])*' # literal string | \([^()]+\) # parenthesis group c C s dt | �d�� S )N� r )�len�group)�mr+ r+ r, �_expand_with_spaceA s r2 c C s( d}| |kr| }t �t|�} | |ks|S )a� Strip an SQL query to leave only its toplevel structure. This is probably not 100% robust but should be enough for most needs. >>> re.sub(r'\s+', lambda m: '<%d>' % len(m.group(0)), sql_skeleton('''\n SELECT a FROM (SELECT x FROM z ORDER BY COALESCE(u, ')/*(')) ORDER \n /* SELECT a FROM (SELECT x /* FROM z \n ORDER BY */ COALESCE(u, ')X(')) ORDER */ \n BY c, (SELECT s FROM f WHERE v in ('ORDER BY', '(\')') \n ORDER BY (1), '') -- LIMIT \n ''')) '<9>SELECT<1>a<1>FROM<48>ORDER<164>BY<1>c,<144>' N)�_sql_re�subr2 )�sql�oldr+ r+ r, �sql_skeletonE s �r7 z ORDER\s+BYc C s\ |du rt | �}|�|�� �}t|�dkr*| dt|d �� | t|d � d� fS | dfS )z�Split an SQL query according to a toplevel clause regexp. We assume there's only one such clause present in the outer query. >>> split_sql('''SELECT a FROM x ORDER BY u, v''', _order_by_re) ('SELECT a FROM x ', ' u, v') N� r � r( )r7 �split�upperr/ )r5 � clause_re�skel�blocksr+ r+ r, � split_sql] s *r? c @ s e Zd Zeeeee� ej Z e dddd�Ze dddd�ZdZ d d � Zdd� Zd d� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd� Zdd � Zh d!�Zd"d#� Zd:d$d%�Ze�d&ejej B �Z!d'd(� Z"d)d*� Z#d+d,� Z$ . /d;d0d1�Z%d2d3� Z&d4d5� Z'd6d7� Z(d<d8d9�Z)d/S )=�ReportModule�report�items_per_page�d ztNumber of tickets displayed per page in ticket reports, by default. Set to `0` to specify no limit. �items_per_page_rssr zjNumber of tickets displayed in the rss feeds for reports. Set to `0` to specify no limit. ���c C s dS )N�ticketsr+ ��self�reqr+ r+ r, �get_active_navigation_item� s z'ReportModule.get_active_navigation_itemc c s>