From 55d117d8404bcd84d44671eb448e224567cf6517 Mon Sep 17 00:00:00 2001 From: g_miss_n Date: Thu, 16 Oct 2025 15:04:22 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=89=8D=E7=AB=AF=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/FortifyCode/CHECK_USAGE.md | 151 + src/FortifyCode/README.md | 235 + .../backend/__pycache__/app.cpython-39.pyc | Bin 0 -> 26486 bytes src/FortifyCode/backend/app.py | 1105 ++ src/FortifyCode/backend/beifen.txt | 30 + src/FortifyCode/backend/database_init.sql | 70 + .../DF_Manage4.0/README.md | 69 + .../DF_Manage4.0/favicon.ico | Bin 0 -> 5430 bytes .../DF_Manage4.0/manage.sql | 92 + .../DF_Manage4.0/requirements.txt | 5 + .../DF_Manage4.0/server.py | 692 + .../DF_Manage4.0/templates/add.html | 165 + .../DF_Manage4.0/templates/admin_main.html | 264 + .../DF_Manage4.0/templates/dashboard.html | 174 + .../DF_Manage4.0/templates/data_handle.html | 252 + .../DF_Manage4.0/templates/login.html | 154 + .../DF_Manage4.0/templates/register.html | 183 + .../DF_Manage4.0/templates/revise.html | 201 + .../DF_Manage4.0/templates/stats.html | 259 + .../DF_Manage4.0/templates/user_detail.html | 152 + .../DF_Manage4.0/templates/user_main.html | 161 + .../index.html | 630 + .../style.css | 1173 ++ ...527-ab12-4d8767e07b01_20251009_150416.json | 12400 ++++++++++++++++ ...9ba-9c30-daf9b6b28b79_20250918_152646.json | 1823 +++ ...f8d-99e5-43389ae483b3_20250918_153701.json | 3836 +++++ ...417-a655-51fc34f4b36e_20250918_153307.json | 1823 +++ ...c08-a3df-fba12b2c72ac_20250916_161703.json | 2450 +++ ...f0c-8d2a-cca1e3cf204f_20250918_153022.json | 1823 +++ ...f83-aec7-05fba3a42bca_20251009_145949.json | 4223 ++++++ ...60e-b299-a50d0bf14db3_20250918_153056.json | 1823 +++ ...381-bb52-c07bc78de5c4_20250916_161547.json | 278 + ...aba-98b7-daed8325d8b8_20250925_145057.json | 1823 +++ src/FortifyCode/backend/requirements.txt | 5 + src/FortifyCode/css/style.css | 1380 ++ src/FortifyCode/index.html | 361 + src/FortifyCode/js/app.js | 1607 ++ 37 files changed, 41872 insertions(+) create mode 100644 src/FortifyCode/CHECK_USAGE.md create mode 100644 src/FortifyCode/README.md create mode 100644 src/FortifyCode/backend/__pycache__/app.cpython-39.pyc create mode 100644 src/FortifyCode/backend/app.py create mode 100644 src/FortifyCode/backend/beifen.txt create mode 100644 src/FortifyCode/backend/database_init.sql create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/README.md create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/favicon.ico create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/manage.sql create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/requirements.txt create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/server.py create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/add.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/admin_main.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/dashboard.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/data_handle.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/login.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/register.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/revise.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/stats.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_detail.html create mode 100644 src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_main.html create mode 100644 src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/index.html create mode 100644 src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/style.css create mode 100644 src/FortifyCode/backend/reports/check_073620ac-c46d-4527-ab12-4d8767e07b01_20251009_150416.json create mode 100644 src/FortifyCode/backend/reports/check_234a343c-4fac-49ba-9c30-daf9b6b28b79_20250918_152646.json create mode 100644 src/FortifyCode/backend/reports/check_3a6ccdae-de55-4f8d-99e5-43389ae483b3_20250918_153701.json create mode 100644 src/FortifyCode/backend/reports/check_6a658358-2f47-4417-a655-51fc34f4b36e_20250918_153307.json create mode 100644 src/FortifyCode/backend/reports/check_7787c382-5ead-4c08-a3df-fba12b2c72ac_20250916_161703.json create mode 100644 src/FortifyCode/backend/reports/check_96093db2-a024-4f0c-8d2a-cca1e3cf204f_20250918_153022.json create mode 100644 src/FortifyCode/backend/reports/check_9c0815ae-95bd-4f83-aec7-05fba3a42bca_20251009_145949.json create mode 100644 src/FortifyCode/backend/reports/check_c261e960-e63e-460e-b299-a50d0bf14db3_20250918_153056.json create mode 100644 src/FortifyCode/backend/reports/check_e2b49302-1967-4381-bb52-c07bc78de5c4_20250916_161547.json create mode 100644 src/FortifyCode/backend/reports/check_f3a62841-5f35-4aba-98b7-daed8325d8b8_20250925_145057.json create mode 100644 src/FortifyCode/backend/requirements.txt create mode 100644 src/FortifyCode/css/style.css create mode 100644 src/FortifyCode/index.html create mode 100644 src/FortifyCode/js/app.js diff --git a/src/FortifyCode/CHECK_USAGE.md b/src/FortifyCode/CHECK_USAGE.md new file mode 100644 index 0000000..0ee2278 --- /dev/null +++ b/src/FortifyCode/CHECK_USAGE.md @@ -0,0 +1,151 @@ +# 代码检查功能使用说明 + +## 功能概述 + +FortifyCode 系统现在支持真实的代码质量检查,集成了三个主要的Python代码分析工具: + +- **pylint**: 代码质量分析工具 +- **flake8**: 代码风格检查工具 +- **bandit**: 安全漏洞检测工具 + +## 使用方法 + +### 1. 启动系统 + +```bash +# 启动后端服务 +cd FortifyCode/backend +python app.py + +# 访问前端界面 +# 打开浏览器访问 http://localhost:5000 +``` + +### 2. 上传代码文件 + +1. 在仪表板页面,点击"拖拽文件到此处或点击上传"区域 +2. 选择要检查的Python文件(支持 .py, .pyx, .pyi 格式) +3. 系统会显示已选择的文件数量 + +### 3. 开始检查 + +1. 点击"开始检查"按钮 +2. 系统会显示检查进度: + - 正在上传文件... + - 开始代码检查... + - 处理检查结果... + - 检查完成! + +### 4. 查看结果 + +检查完成后,系统会显示: + +- **结果摘要**: 显示错误、警告、信息的总数统计 +- **问题列表**: 详细列出每个发现的问题 +- **工具状态**: 显示各个Agent(pylint、flake8、bandit)的执行状态 + +### 5. 问题详情 + +对于每个发现的问题,可以: + +- **查看详情**: 点击"查看详情"按钮查看问题的详细信息 +- **修复建议**: 点击"修复建议"按钮获取具体的修复建议 + +## 检查规则 + +### pylint 检查项 +- 代码风格问题 +- 潜在的逻辑错误 +- 代码复杂度 +- 命名规范 + +### flake8 检查项 +- 行长度限制 +- 导入顺序 +- 未使用的变量 +- 语法错误 + +### bandit 检查项 +- SQL注入风险 +- 硬编码密码 +- 不安全的函数调用 +- 安全配置问题 + +## 项目管理功能 + +### 新建项目 +1. 在项目管理页面点击"新建项目"按钮 +2. 填写项目信息: + - 项目名称(必填) + - 项目描述(可选) + - 项目来源:GitHub、Gitee 或文件上传 + - 如果选择 Git 来源,需要提供仓库 URL +3. 点击"创建项目"完成创建 + +### 删除项目 +1. 在项目卡片上点击"删除"按钮 +2. 在项目详情页面点击"删除项目"按钮 +3. 确认删除操作(此操作不可撤销) +4. 系统将删除: + - 项目信息和配置 + - 所有检查历史记录 + - 所有检查结果数据 + - 项目本地文件 + +### 项目操作 +- **查看详情**:点击项目卡片或"查看详情"按钮 +- **运行检查**:在项目列表或详情页面点击"运行检查"按钮 +- **搜索项目**:使用搜索框按项目名称或描述搜索 + +### 文件管理功能 + +#### 文件浏览器 +在项目详情页面,您可以: +- **浏览文件**:点击文件夹进入目录,点击文件打开编辑 +- **查看文件信息**:显示文件大小、修改时间等信息 +- **文件类型识别**:不同文件类型显示不同颜色的图标 + +#### 代码编辑器 +- **打开文件**:点击文件即可在编辑器中打开 +- **编辑代码**:支持语法高亮和实时编辑 +- **保存文件**:使用 Ctrl+S 快捷键或点击保存按钮 +- **关闭编辑器**:点击关闭按钮(如有未保存更改会提示) + +#### 文件操作 +- **上传文件**:点击"上传文件"按钮选择本地文件上传 +- **新建文件**:点击"新建文件"按钮创建新文件 +- **新建文件夹**:点击"新建文件夹"按钮创建新目录 +- **下载文件**:通过API直接下载项目文件 + +#### 支持的编辑功能 +- 实时文件内容编辑 +- 自动保存提示 +- 键盘快捷键支持(Ctrl+S 保存) +- 文件修改状态跟踪 +- 多文件类型支持(Python、JavaScript、CSS、HTML等) + +## 测试文件 + +系统包含一个测试文件 `test_sample.py`,其中包含各种常见的代码问题,可以用来测试检查功能。 + +## 注意事项 + +1. 确保系统已安装所需的Python包: + ```bash + pip install pylint flake8 bandit + ``` + +2. 检查过程可能需要一些时间,特别是对于大型项目 + +3. 检查结果会保存到 `reports/` 目录下,文件名格式为 `check_{check_id}_{timestamp}.json` + +4. 临时上传的文件会在检查完成后自动清理 + +## 故障排除 + +如果检查失败,请检查: + +1. 后端服务是否正常运行 +2. 是否安装了所有必需的Python包 +3. 上传的文件是否为有效的Python文件 +4. 查看浏览器控制台的错误信息 diff --git a/src/FortifyCode/README.md b/src/FortifyCode/README.md new file mode 100644 index 0000000..2b1d934 --- /dev/null +++ b/src/FortifyCode/README.md @@ -0,0 +1,235 @@ + +# 基于多agent协同的军工Python代码合规性检查系统 - FortifyCode + +## 🎯 系统特色 + +### 核心功能 +- **多 Agent 协同检查**: 集成 pylint、flake8、bandit 三大专业工具 +- **项目导入管理**: 支持 GitHub、Gitee 仓库导入和本地文件上传 +- **实时检查报告**: 详细的代码质量、安全漏洞、合规性分析 +- **军事级安全**: 专门针对军事代码的特殊安全要求 + +### 技术架构 +- **前端**: HTML5 + CSS3 + JavaScript (ES6+) +- **后端**: Flask + SQLAlchemy + MySQL +- **代码检查**: pylint + flake8 + bandit +- **版本控制**: Git 集成支持 + +## 🚀 快速开始 + +### 环境要求 +- Python 3.8+ +- MySQL 5.7+ +- Node.js (可选,用于前端开发) + +### 安装步骤 + +1. **克隆项目** +```bash +git clone +cd FortifyCode +``` + +2. **安装 Python 依赖** +```bash +cd backend +pip install -r requirements.txt +``` + +3. **安装代码检查工具** +```bash +pip install pylint flake8 bandit +``` + +4. **配置数据库** +```bash +# 启动 MySQL 服务 +# 创建数据库用户 (可选) +mysql -u root -p +SOURCE database_init.sql +``` + +5. **启动系统** +```bash +python app.py +``` + +6. **访问系统** +- 前端界面: http://localhost:3000 (或直接打开 index.html) +- 后端API: http://localhost:5000 + +## 📁 项目结构 + +``` +FortifyCode/ +├── index.html # 主页面 +├── css/ +│ └── style.css # 样式文件 +├── js/ +│ └── app.js # 前端逻辑 +├── backend/ +│ ├── app.py # Flask 后端服务 +│ ├── config.py # 配置文件 +│ ├── start.py # 启动脚本 +│ ├── requirements.txt # Python 依赖 +│ └── database_init.sql # 数据库初始化脚本 +├── uploads/ # 文件上传目录 +├── projects/ # 项目存储目录 +├── reports/ # 检查报告目录 +└── README.md # 项目说明 +``` + +## 🔧 配置说明 + +### 数据库配置 +在 `backend/config.py` 中修改数据库连接信息: +```python +SQLALCHEMY_DATABASE_URI = 'mysql+pymysql://用户名:密码@localhost/fortifycode' +``` + +### 工具配置 +在 `backend/app.py` 中修改工具配置: +```python +TOOLS_CONFIG = { + 'pylint': { + 'command': 'pylint', + 'args': ['--output-format=json', '--reports=no'], + 'enabled': True + }, + # ... 其他工具配置 +} +``` + +## 📖 使用指南 + +### 1. 项目管理 +- **新建项目**: 点击"新建项目"按钮,选择项目来源 + - GitHub/Gitee: 输入仓库 URL + - 文件上传: 选择本地文件或文件夹 +- **项目列表**: 查看所有项目的基本信息和检查状态 +- **项目搜索**: 使用搜索框快速查找项目 + +### 2. 代码检查 +- **快捷检查**: 在仪表板直接上传文件进行快速检查 +- **项目检查**: 在项目详情页面运行完整的代码检查 +- **检查历史**: 查看项目的所有检查记录 + +### 3. 报告查看 +- **检查结果**: 查看详细的代码问题列表 +- **问题分类**: 按错误、警告、信息分类查看 +- **修复建议**: 获取具体的问题修复建议 + +### 4. 系统设置 +- **Agent配置**: 配置各个检查工具的参数 +- **检查规则**: 自定义代码风格和安全规则 +- **通知设置**: 配置检查完成通知 + +## 🛡️ 安全特性 + +### 军事级安全要求 +- **敏感信息检测**: 自动识别硬编码密码、API密钥等 +- **安全漏洞扫描**: SQL注入、XSS、CSRF等安全漏洞检测 +- **合规性检查**: 军事代码规范合规性验证 +- **访问控制**: 用户权限管理和操作日志记录 + +### 数据安全 +- **文件隔离**: 每个项目独立存储,避免数据泄露 +- **临时文件清理**: 自动清理检查过程中的临时文件 +- **数据加密**: 敏感数据加密存储 + +## 🔍 检查工具说明 + +### pylint +- **功能**: Python 代码质量检查 +- **检查项**: 代码风格、错误检测、复杂度分析 +- **输出**: JSON 格式的结构化报告 + +### flake8 +- **功能**: Python 代码风格检查 +- **检查项**: PEP8 规范、语法错误、未使用变量 +- **输出**: 文本格式的详细报告 + +### bandit +- **功能**: Python 安全漏洞扫描 +- **检查项**: 安全漏洞、敏感信息泄露、危险函数调用 +- **输出**: JSON 格式的安全报告 + +## 📊 报告格式 + +### 检查结果结构 +```json +{ + "total_issues": 25, + "error_count": 5, + "warning_count": 15, + "info_count": 5, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "src/database.py", + "line": 45, + "type": "error", + "severity": "high", + "message": "SQL注入风险", + "rule": "B608" + } + ] +} +``` + +## 🚨 故障排除 + +### 常见问题 + +1. **MySQL 连接失败** + - 检查 MySQL 服务是否启动 + - 验证用户名和密码是否正确 + - 确认数据库是否存在 + +2. **代码检查工具未找到** + - 运行 `pip install pylint flake8 bandit` + - 检查 PATH 环境变量 + - 使用绝对路径配置工具 + +3. **文件上传失败** + - 检查 uploads 目录权限 + - 确认文件大小限制 + - 验证文件格式是否支持 + +4. **前端页面无法访问** + - 检查文件路径是否正确 + - 确认浏览器支持现代 JavaScript + - 查看浏览器控制台错误信息 + +### 日志查看 +系统日志输出在控制台,包含: +- 请求处理日志 +- 错误信息 +- 检查进度信息 + +## 🤝 贡献指南 + +1. Fork 项目 +2. 创建功能分支 (`git checkout -b feature/AmazingFeature`) +3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) +4. 推送到分支 (`git push origin feature/AmazingFeature`) +5. 打开 Pull Request + +## 📄 许可证 + +本项目采用 MIT 许可证 - 查看 [LICENSE](LICENSE) 文件了解详情 + +## 📞 支持 + +如有问题或建议,请: +- 提交 Issue +- 发送邮件至项目维护者 +- 查看项目文档 + +--- + +**FortifyCode** - 让代码更安全,让开发更放心 🛡️ diff --git a/src/FortifyCode/backend/__pycache__/app.cpython-39.pyc b/src/FortifyCode/backend/__pycache__/app.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7a833a1ffd79679383f1f5d15fdb2d83113423c2 GIT binary patch literal 26486 zcmd^o3v?XSnPyjYclAT9maLa0*_gJ2jb$X+CI%eEcmP|*1|t(&ygE)aZQYjKa;qiZ zss`Mr#gLe1z(EO*5D?JfX=ezKgbj`fA)DQqWOsHlIoa&YY;SgEc4Eo)?4E?38AxIX zv)}*Us_ts3ZOBf}*_^Z1>04FzRkv={{r>NNR5?*w8}{JeUw!q@_AWi_@%)Sq-2bTb zGW^VAUXMq3gqHS?+=@dmrBG2X~!P4Omdjdb&9 zOT0z%BpXK-;@2tyhcr4Wv?bf8wfG_t6d@57H6kKvr~L87B0B65bx&)eUM!gMiU!d* z?Cdw8q`6emGUbh*lhl&!VxediZHK(^C89mKWaM12XoE*A=Dl;Uw}ki3-QY#7D$=cX;AU#d5I%+htdJ#Q9?79UigrpdSB7a!KJl z(J`%wRpNp>JO{P-a?a^QPM7HBoE4n28aZpkTFyBi=RZ$eC_aj7TX#qo7m15Gf2Ey& ziJiY*e2nuuIKQV<|Knl<=dZH!FSYA$6o0_^7jXV%!s+L7aRujha{i`LKbu7_=XY`b zmQwvI#a7Pm=KO7?{Hw&(oWGj$x0m|4M)Yz18qVKQ%D+~8g7eqf`8(}#?h^f+e<9~z zSL*+IaRcXnl=E*a^>dSmbN)Kq?N9F0C%y8U$&18pzMB_`Pw{ryLC>VuY(oC0`S@Zn zV3+@4MZJqe!am+(ZwKd;3w3o7|A7g5|Uy_3?K4po*O)wKA$JKe$sp3vl?pP z*||vUr4~1NGV4(CF_gTjdEz~2-Hx(UvgdKn6FSwn0d<5o-t)1soiO(m12VZkn>4LrV8k5Dq=pU@>tr$`l5)UGj*h1jR9N5?dhZxcio1 zmamj!w{!?>2glOb#%M<*J520Y$y==svuNx=mnj;T-ZfP8@mTaOdBiL0aRX!{B~3_j zdUtou=!F@Y~S3wGX*d=;tkhae&fKV z9ew@1ef$K6b@p*75{uV+Jv7;7iD=y zv>{K*W9iRopV#oPY1w9EpZxr5GY>p6`|vBXhhCaF_Tb4kpPc>tb2RVc2SyK=`_pmU zfJ_GGDTX#*LF3u7?aCt_c@CO#ayquTXZLVs_ZIb}Y{G@_-jf*Iho^FPVtl-N{6KNR zaMBtOdj{-|Qe&Avph4+KJi0s=X~oD5WRO7PkEWiEhZh%1Y zd3>IOSjd_BwH{Nf;U!FqmzL+8($Bg}F^0f2YGE6straSSMS%K6yWlSLYSkS0JIylz zVVhfm(ufG<{j~H|9V~rg!hf4zgm>9{y!Z{=j~c!oGxt0(^TK^I_q%S%^x@nBXK4+j zGAXMY_ob-G(|)YTuJ!y>WbnkLGQ+2}kN0I;F=wS4TIz4+rTb^^ne5NDS1*0`YbRfQ zt|zvoqn7VT(Ew(cW3uQQ8&75c3(15i`pt1X(b!lrHC_xPZw0Ubf(%-sls}jr!{Rs6 zW5dHqv`l4&#)_fdTL+Wl7H)dcpOkV;b{NHQ`ALw=F`S|{6tBTG(Gy}NGgdrA%PKjF z-J+H(KWlOcRj#Ee7;q+ppOP5zJ-V(LT3D~wf_hX7YCdf%(x4VbZd9w+X5^{dlmn81q`*Gl0d26lbKx*w>*KBleOWARwbZc@*!v%np}hx9hj zux9Uj+dK;~&Jk@`Tj-&sSHP?Yf5Dg6rZwlmw)`VTUK0lXFh_@c6FS!m<@J$3sSdRa zBPU4nb|=p9xJT4J;iZMawWBBt%`c-qMBP4Jz5)rn0PL?}%6kLmY#0kZ_Xzb@2v2(^ zHM!NQDMaXaTAT1$wRxWvJ*ZQD-UmR~JK+aB)aCt!deJDFrgh$H7IpSsOKEQ*I9efC2+ha12-2 zD9*_n&TR0wo5T_ZtI3IgI5!`-nXV$24-}e3Y+9StOxkY}=ZdA%`b5xb$p;T=V%a`F z*P?3)in=xr(vP%x3JZA-er&a>2l`^Cbj)J z<|s82#%%^T3U3*vR?w*PUW~+xk(@u}qx*ns^^dgSTK6a>gez?qE9tI^4zWtzF9XoZ zH5Z}Y^Y)x{a?K0Mb0S);#d+hP=G!mYG;`!v8lP9O|k13K7n|2Hk~X6P4GaO zvJPb1kZDinRl9cdoqXY$*(WDwY~fJU!l$*KoOji#Rj0hDc#81m6kXOSLbswZniQ$* zXfXtVFrH3YNpZv{318%9N_weI#2T{_=>c_RS-L~&bn51v{N|mrU;3upi0oX;wagu3 zgL{*M`(ku2M2zkR-FSB!Og*N!C)ROJG19+d$M#(|OHp{)h1#+k30U4(DpL%b**$<+ zx&=kA%pyZ3aqCHbVrorG;1s-tu#z3rm{<~+G7+_6IAx|XxJ#MAB;5@VW&2C=MZMt5#c02J z^m=a{PsyanAEY!e}&O@#9y)Vf0W^C6ZgSL8ucf%0^g zFiSxr9{~Ed>1A$)`pzTJiJ^^@9xCrb#wKrCW}Uo6f6S}&RMmJq%H z_5L0RUjwN}2)_W5t;UghB4#z_YZ&3t<_3?A@HMvq(}D2VvYa7=U+O~cm{Rr}glF}v z8p5k;4#LYGJUIRG<4ENOB#h&#%3K_`a~&L)q@c*ls12dKDlOsoC#Y~ICA%o;r-VRI zUPsCGl<-2of%dMUpqlL|0-( zVy_q?F~j6F9wbpUkjajc{+Om6C2s;GZw69A!BRZU!Mzle@N9YMOGTYnGa*JAQZa8a;{-i-_cbIEUmO@6ywo-_~tcZdHIl;1&lH0(XTS@>VMz zuwbL4MNNnouU93|<%d!t38vH$l(dqo@lUyf3a;f2%MF-?s!_-0vrtL+n+t8+7~4ie z=qU!WnSGhDTfm6-riS-cLtNEY6~w)Q&46b{Tz5kUaXVW7FTl3MB;_8u;vq^1XNg$e zf;rzy87wszmKl+&L2$4d1jlRCIGOgz{nS;7^;M;Ns`{U!qPZK%e2mqZ=+)aqPuH55 z=tZ^gucBc^^}{pI`Z_3NoJs3=cKCOcm__ODs zc((8@*eg$c>7`RoKYHS8ug^Sr--+p$W?p*i_|fN1-F@i9;rnKeJuh>p$d4o#HVnev z^3%%-L5Ie-0r^a(od+69RXpNQ_<_;H_?#J(!|2wBHDZ#H(&ObR_>JMuwO8=j3QeFw zy40Xm06)IgpJK;?T~ojyG@?5+3D!l}Gm-i@^@F(tz%Vu8!_SW&%q|6E z+5?0i->pvsCW4@KKA3R)K=LiHixSN<+B}4Lc`x<@ZJtYrs&Xz`t)B?xLn4S4A+&fT z?-OB^`}XJU+#2M*2zp7me&iawXY9}K--7;pc|UUCw7Ua$NR8v5me)me$^g-XjkBYU z&5;TXXYajzcIsZW3};?@ZsyL{nAXgE`*xT-RraarZ=HDjB`C`+m>9*XXr2^wbkt2z`hl8V|Te_hau@A ziZxjGV-iNsEHu7aTZOj|!(=?Q_n|V6rOg4`I1r}J8DdQUYnkjZ_cPJ2yqS_boxx8U zAnXYMY3QgOH3~dP0LZ&3;ki6Wdv{QBCndL2LhKH$317)#0S}BkFlQYUqm@@$OG|=Q zl1Fdw8c+d^-xvWOP=f!U9Fl4nVHGlr{jeVKIee{N(@z_r+@iD0V_!$82wNvftbu`I zcwk_3Oc0YCC`JYb_Gc4mRU$t|qpzF=Ua<0hDk$Gg-Xn9eya);LbCXm}7>s?vjlm0p zmjpvxl4~N@&*}|if$4E%=EjO=jl?BAZ}gm+L>q}I=3(3lC4?iW$TGrk%VOETSFqBvnk0OVTz|xnMJw=v2;vMl#YY!Zs(11;T z0dqAlkWp$vSL!^-31c zfrK@0Xj^vfxF%*l)3Nb+#oK$g^vAB+v8^vQ2uq>5%-CRTM;~S=C1RJx2D=@{5Dw=x zrwO~fZ!>Cf<(2mA!hO6lB|2h!a#zPUZ0+6I>x>4Z9sSd3I_C9jS9I>frLpr9gI4P1 zdsAPTWsAE4Y`$y#>>L;K)vM@q#1_#;1?pe8tN`ga43lSIT zbTO1N$5ecUvf^~2SQ4>TRvcyvOq(*u>j=oTRJ5EDGW;vCAFv;`vOAJ4psK+pLgsD< zta}N|FGDvTm}CstgTu8!m}P=GlK~W1B>lQ-cKO}8hE5-AOyjWV}Smo_P{@acpC+H zGV|JyHmyUj7zMyB;M;D&{YFHv+^-IArvum(XZexS24@MA0cRR^-HCuzI}$C_iD*86 z@dj~J57J&I>M2qUfWCk&yT8i&0Q^@uJ@8o@KFnERAKvP;+U3cuv=)ps6dFP3gLE}k z6AUFdf`_&#AB0%I{BhLN9Wd^+KzzId@ezWBcLX&Tie?KI=d$>4`sLBM%G~2(%Wv&O z=(f-eaE(`=8I19NIekIoaBUJfJo7C?<5>j>s@T6F9(mpvX@%{2s;>!7;c~Cj_ z44hLEr}hjuPu!#~|E7G#@)eh#NkqN1IyEvarFLG~;^ZQhjN%cNWXZcfbI;>5uOFLz zre;eD0~4JMTO7*j>k8e-I%|aLp3yjLqEhN=)gO zu0jWJbKk8HO(a9N_3i52*^f>C4o5u3R?^@*V=igc8FNXi(gCDZXN)yHHh*K^mRzX8 zKHbikBfRz;m@jItzkK_3y}M#7mz$lKr!)O3+r<%E2U47g8%iw4{RuIe$^g{QB(sX) z@(7jGn#Me-DdNY(zBjhFmz^LT=STo8L<}K4g~=(?6^RrI^g-C5DOt!+7?+YHE|D~r zNwVjl=*wmy`~8%zE9zsW+(OlNbI+rQ;}az)Pa97%sCbUKK9?-r7MpF=Z`SH&Db!G*FL)SA|Zwcz)4$iN6kB?Yx*YmoC7x|h`9 zsF$LXkhdIO)uN7nQLPIqxT8M8#1v0hSf8k&I-fvxiT0d{C zr8di;TnB#>MH>E>h$fF>G`S@e`qb(Ta4z>a7nTy0iYzHqwfM1oCEE)Ws&-bWNP$A+ zkF8L>#U?o@RC$jr`*bq>Q23qsY1D*-gaiqa{1rZye}2L{plm7Zjua6Xrw~!)>I3o< za@os@mX{PQ?1wppdWC(cQAle!g(8K0ihl8uDkYDqEjbLJE*Ut2S|xv|woWd^k;71h zXdtLGO;a_H=jG8h!^mYTNpnZa%2oXwx({D!Sa z@s<@S3Ic4Kr%0WA`T5y{cb@);jj^k$K`gWQ<>r>R3G&q{22d(&Rbc%PZf9R^dLHOi z_Ucj-=GCmCH!L^jYa=CHfCC)Ln!x;;+qYe_tv|MQO~skc2ww6mi?Q8N|(g0dw>c>K^*$oR(!jjg(rXQNLRFs`bmxBF1w=p5gsO0*K?8h7Uc>Ku*JlKk*|R*4h=*y> zFvoBE-Zt8T+B!yd`91UyH#Wlt(%)P0@RDhebR5Rt+i*7E?}{@1vfcp)0B{ppjte*8 zDq!r51I>Jlz5WlxUN1e$KwIi7SnA6se_|OUfkKc%rR7gJfEng3;{K$UAe0#zffLG1 z?>Sht2Yw9vqhRO7s1b!RtV*ymVhB0tnYp`0u46XDsj*VOHDoRo5jz&tFKR_p)Rnk- zh16gyUR(u>Yk|eL+GDvGW2qPQ79upuT8V{OQ8~6$THwNBgk(d*D2-AO7B^%`+nl+l zaO%s?Do~Z*LdF((3@O8^d>wmz908JBs_y7n;5oaHx&!BR^$2Ij%o`7bvbIy%yaH!A zWJxxwF~qV2aA3DIEX98NS!meo&6V#M6}F>+P4mjv;&iQOUW3cpP;F^_9bGVKBWD6| z1WpBWZ`Mks5q~yn$z*aaO}m;JTtG?L-eAaTE0BS`+Tx3fBn1&V9P6KG{dJ>9wf>k- z+3PRpje6lk0Ox7~t6Blx6-4CPIyfC*P53@q_7UrhbUCLhI6WWY zdZijIf=RyU%#drwJIG9rGgO@qu!(c*yWQo&rtod*Wf5#kJh5BxM2>$x{`xZ~3ZGH_)3YGd+s$~I6-biigzHFzeT}8dY#kK>^nRj}{zHOdgQL0?yRj48SW|3sZq_FmcIhac2 zqV{`Y3hV}o+Q8}B-K^r1EV9`eYTY82;#e-DH142; zq%uce^>+k{L1#9qIwML<-$kA0E&WP?-u7Vyy8QPv4lgkb27&-1i(@Fk5&5oPQCnATRpX0TAR0<$l}7ecm(40oFsn45QCw;! zM4HBb>fK8gmtd$#p80(cL&CHk{ zj z>#wTeA}k4f6e@l2baRCJJcEUL0@M>!fx7bF(uD-nDawY1@6Z_u z|4Z^*)_k* z%W!f0=;w}qyDsGXT-zg6@TVS%-^0aG^n^=ZU3p1S?s+53*D8p<+2 zlzQG`_0k;EkBo0HOxDv<9l=*w_UYFH1oy+P1G|IHte}r$w47DZhX!+vQ=tvR$xQOr zak=qnJR|b6sFFKZ-C-3*=2`$w&3?R1970gwxOz<^%+!k`5EZqc*mQLn>gp>V@4k)( z_6Er!jfQ+c@c>pGzX#`~@Pi=rOkE;kYoDM473dbC`Xv*B^85JA1mZJBsD%AGb7B(= zK8fma0PZ10rf#9?j4IU@PsDxkkI}jzQwD|T!Y}~0NQ>6w4Z=7;fd>?esARnHzVH2T zkWB?YL+xC+EZHj-3Q?qz1TQEFzO_o|fhJd2h&(I6xd3Ip$0GH)!V!Wc6v$(tu%yRV z1n9xH@ZhuC-^Xnuw4_*xhU1?U_ClQqvAP|8!Ve|dk6QJp1GS&R0qEgYMl)8a4Xa@U z??JHQj(0t5mAb(RKHzU2eAg{^b5U~m(|Fm*e=$3?wFCIj&jdac1k>KaLMy@nO0RPB zI~WZUf!hKw?eUhD4z9EY%5xJ~171x-+QR8VPFp!`-Ww@LrBPVHWA+&@ z#u?khIaVkSU~o*1G?OaFR+5*LmNAb3%eXWa(SU_?Zk7UP6k4mt`NU&)*xE9$YWd$$ zuB7_$qp#x4)47WAGbop|lqKmz^3N&xkCglwCI1PDa$3tD((zJCmQg}_lKcxKeQem9 zJ$mPf$-C4k92imGTR5ZkChwvy?nZ*QJy~RJqKqnfUb&|HFH~h330wQzc7cj@+|jO< z@mHxj5og!hWNmO0)R9oe?bA?FSFiKqDc;eg&wLDYgbbx;N&hF&Y>NjWVlell|ZQ zZj6LjPs(KPld^22H>X^tD+tN684HzorO#|Jf{>vf0v7S4`h>wf*5-|Atq`^MA$oyd z?^X04IcxvQb$~t)l0;uz@s*qrwRXFzj$p*%2KbzHbbbW={Lrem418VzM+fOu+FM~H zRHKEN5Tgy*M}9ggG?23Zx#4^;AGZ4eR`OnB9((BVSw3o_Be;hHR&$|+a~4t#uDKNf zLG@Gqi5k3f)|Rg!9E5qW-*pWOV6<#Fiyrfy8&7SsUpvfxHv-WjZ1!7JSS%W?bMg@v zqLE92bL{zPDj}LN5xFhGE(vT)X1`{a9-~ZoHk@#@?deWi^C-u8oW&h6-;V*A=8-?3 zgduMW?Oln4BZ+3eRG5AE9ssDqNY0xBm#4Me@*&hmNadr{mO6+>QYOi7d_ibT9>AAO zQaOBY0MYxYp;S`Lqt+D{RS}4?~pHoUF2Jtn3l&QE3I1UY4MVZu6Pzu>UVC5Vg=fD^~RF20aov{pegmmiN z+1jdxkQZqnwK9poQAE}6cz2FXTx4@=iqLoEUEjzYk+GAN?-uUSicWpsPd;3 z=Us5N_PGtVnLK$-Y=qB*5!bbEE_-P}s^+lCi>Z|!f z^mXH$zOJzQdS3NaaRn{qE1+;y`ppkxT7%q-j-b@Cyn|H1dvO8c)I7f}G*6H+3n67% zr+n(2iupb9wf<_(_{e?KijN8QLyjo-Q5!z5({3%A=RV>bd&G-ea-^F3Xt68I$d({? z-8u8px8w{K;fEItZ<8LY+LuH@DN2<6O(m(}uEk+WDx+jTdwU7GQk~2``m%D1|Ki*C zqa25-E>OGPqbNPI_nBwEGV|;Us6;3E#>2CZe&@uq$7Brsl$kh!3is?&W;R0@q4hohncCrk8{Pn*Iw5@Pk4k;!bIFhL|n_gXe;OBuZLv?P=!}Nv4^j9Aznr| z*CQ^Qzhy?WP8hUgpqeA{AD(mmbRgpVce2NvlyN84k>3EI=zsI`sHHvvNc{wbpZjs( zx%6@t$2vkaM!XH6Qa*26x$w0x^G6juMC=}TBmnq|9=KHmUv0r_(4fO)DXRtjCAzNm z(H|4<^D6qR{eV8}xHaA^z{ejzqithCkUkM18UW1g^m=fi0Twwn4V1^k(5#swZn$!t zIZD7@qRSOm!Vx@AyW81xxe*3{_e(HGZy+?|OJi;?Ip$gA*jLq3g1PX7f;rwYU8dL4 z7Bb8ofAa~1LMjZIQ835UmY(u0@*SjQlN|$~3h+^}J!MY(OH{0??ej@&I8&$Mm~{E? z(16wd`2(l~kcD&Aan`>pBdT4oZeOPn^A)hN&gys>K)!*}VgN*zgPsXQivC;hZLj3n z;NfZNlI?1|^w-kia!L+U!e~K2q5N{yfMEey^D2;GA0a~z8rixzv~wS(Ee z{v#KW&|%;^8<9i{3P2@{8i6U0zgbxSTeYW`KWjyVOaOTU6mA0(mMF{uhJ|k>j^JBO z)82_drpd`KR@9<3=>*5aBCPCfkMt3PX0m@ z9lIh0{U`$}l~ARk7e1WU0ujr1MFIZ8O^*mLbx!h^TrqppYx#MY&R zla0&m9l)z5N^$*g{E3bE{|$YxcCD6j8C~3PqC5~TIBA-D<_aD8w{-erh2jNeO31Dr z_tBe!Wp!E7`f)K60v7o%l>84$s*#P*8I@c%-^Xk49w9LZR&E(ks$of^ZN_&itd9|z zT!HhRnP)JQz^Cfq<7e&F&|38-#W{d0;WDbQldJ1Pp^Cs~W$4R)6

Wm%#gpLp@evC z!bDh`l^EPhA5T_Z06v$^ek#zS`FF0j7&Mk@zz{q$Ffi*lBNj9}E6|AoW{&YALW7Ms z*_qKGs-02m01{kCo&rsJK^N$=BBO~^W?&$@3LU=n)Z^2?IQl>=HgnhG$B*5od?+)M z_nds;j@jE^us#3Zc>TodPvtJW^tb+(CA|ClC+?3``93$_8)&m9Uw%!U=9&Y$KCxYW zkexp*n5CJ0>#4_XkIhWJJoCB3A2>q#4lQ{oPVjh-zd1eonU{O``$@4_7drX;i9de% z@@u#C#P(X&c+cw9Y&ND(`}bV5X3d)HGBl-%rLp$Jcu2985ERaT3(%n)T=(A_+hob~ z1)E|spP8Ed>eI7Rhh{!EJ@e(mxxkuk{!87{2+Ob+VPwfY*rh^=#4(zxC7? z?u(ULQItIQ!|FaynA4$s?e>%0@$tAHU+^>cN#L+Y@n~kxembP*F&^e}D6GuH|<$Mxp z>C_%cf`PurWu^u<(HGE$i@t4rTXw`lkbB$t!|3u5ou-SD#gu#!NzseX$j0#@b!wrU zX-xmuQH6_;#QhQJ@8b0s^2GhdXYfa2dCSLd8x5#Qf8L;% z!uq3Le4D2^`bVAwJbm!;g?+R|owfM&;&%~#%kldJe%<(;i{BdjD1RG%lt=rki75p6 UMNK>9@zEF!SRm+J5!fUC57p&eb^rhX literal 0 HcmV?d00001 diff --git a/src/FortifyCode/backend/app.py b/src/FortifyCode/backend/app.py new file mode 100644 index 0000000..b5e94a8 --- /dev/null +++ b/src/FortifyCode/backend/app.py @@ -0,0 +1,1105 @@ +from flask import Flask, request, jsonify, render_template, send_file +from flask_cors import CORS +import os +import json +import subprocess +import tempfile +import shutil +import git +from datetime import datetime +import uuid +import zipfile +from werkzeug.utils import secure_filename +import logging +import pymysql +from pathlib import Path + +# 配置日志 +logging.basicConfig(level=logging.INFO) +logger = logging.getLogger(__name__) + +# 数据库配置 +DB_CONFIG = { + 'host': 'localhost', + 'user': 'root', + 'password': '123456', + 'database': 'fortifycode', + 'charset': 'utf8mb4' +} + +# 工具配置 +TOOLS_CONFIG = { + 'pylint': { + 'command': 'pylint', + 'args': ['--output-format=json', '--reports=no'], + 'enabled': True + }, + 'flake8': { + 'command': 'flake8', + 'args': ['--format=%(path)s:%(row)d:%(col)d: %(code)s %(text)s'], + 'enabled': True + }, + 'bandit': { + 'command': 'bandit', + 'args': ['-f', 'json', '-r'], + 'enabled': True + } +} + +app = Flask(__name__, template_folder='..', static_folder='../css') +app.config['SECRET_KEY'] = 'fortify-code-military-system-2024' +app.config['UPLOAD_FOLDER'] = 'uploads' +app.config['MAX_CONTENT_LENGTH'] = 100 * 1024 * 1024 # 100MB + +# 初始化扩展 +CORS(app) + +# 确保上传目录存在 +os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True) +os.makedirs('projects', exist_ok=True) +os.makedirs('reports', exist_ok=True) + +# 数据库操作函数 +def get_db_connection(): + """获取数据库连接""" + return pymysql.connect(**DB_CONFIG) + +def init_database(): + """初始化数据库表""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 读取并执行SQL文件 + with open('database_init.sql', 'r', encoding='utf-8') as f: + sql_content = f.read() + # 分割SQL语句并执行 + for statement in sql_content.split(';'): + statement = statement.strip() + if statement: + cursor.execute(statement) + connection.commit() + connection.close() + logger.info("数据库初始化完成") + return True + except Exception as e: + logger.error(f"数据库初始化失败: {e}") + return False + +class CodeAnalyzer: + def __init__(self, project_path): + self.project_path = project_path + self.results = {} + + def run_pylint(self): + """运行 pylint 检查""" + try: + cmd = [TOOLS_CONFIG['pylint']['command']] + TOOLS_CONFIG['pylint']['args'] + [self.project_path] + result = subprocess.run(cmd, capture_output=True, text=True, timeout=300) + + if result.returncode == 0: + return {"status": "success", "output": "No issues found", "issues": []} + + # 解析 pylint JSON 输出 + issues = [] + try: + pylint_data = json.loads(result.stdout) + for item in pylint_data: + issues.append({ + 'file': item.get('path', ''), + 'line': item.get('line', 0), + 'column': item.get('column', 0), + 'type': 'error' if item.get('type') == 'error' else 'warning', + 'message': item.get('message', ''), + 'rule': item.get('message-id', ''), + 'severity': self._get_severity(item.get('type', 'warning')) + }) + except json.JSONDecodeError: + # 如果不是 JSON 格式,解析文本输出 + for line in result.stdout.split('\n'): + if ':' in line: + parts = line.split(':', 3) + if len(parts) >= 4: + issues.append({ + 'file': parts[0], + 'line': int(parts[1]) if parts[1].isdigit() else 0, + 'column': int(parts[2]) if parts[2].isdigit() else 0, + 'type': 'warning', + 'message': parts[3].strip(), + 'rule': 'pylint', + 'severity': 'medium' + }) + + return { + "status": "completed", + "output": result.stdout, + "issues": issues, + "total_issues": len(issues) + } + + except subprocess.TimeoutExpired: + return {"status": "timeout", "output": "Pylint check timed out", "issues": []} + except Exception as e: + return {"status": "error", "output": str(e), "issues": []} + + def run_flake8(self): + """运行 flake8 检查""" + try: + cmd = [TOOLS_CONFIG['flake8']['command']] + TOOLS_CONFIG['flake8']['args'] + [self.project_path] + result = subprocess.run(cmd, capture_output=True, text=True, timeout=300) + + issues = [] + for line in result.stdout.split('\n'): + if line.strip() and ':' in line: + parts = line.split(':', 3) + if len(parts) >= 4: + issues.append({ + 'file': parts[0], + 'line': int(parts[1]) if parts[1].isdigit() else 0, + 'column': int(parts[2]) if parts[2].isdigit() else 0, + 'type': 'warning', + 'message': parts[3].strip(), + 'rule': parts[3].split()[0] if parts[3].split() else 'flake8', + 'severity': 'medium' + }) + + return { + "status": "completed", + "output": result.stdout, + "issues": issues, + "total_issues": len(issues) + } + + except subprocess.TimeoutExpired: + return {"status": "timeout", "output": "Flake8 check timed out", "issues": []} + except Exception as e: + return {"status": "error", "output": str(e), "issues": []} + + def run_bandit(self): + """运行 bandit 安全检查""" + try: + cmd = [TOOLS_CONFIG['bandit']['command']] + TOOLS_CONFIG['bandit']['args'] + [self.project_path] + result = subprocess.run(cmd, capture_output=True, text=True, timeout=300) + + issues = [] + try: + bandit_data = json.loads(result.stdout) + for item in bandit_data.get('results', []): + issues.append({ + 'file': item.get('filename', ''), + 'line': item.get('line_number', 0), + 'column': 0, + 'type': 'error' if item.get('issue_severity') == 'HIGH' else 'warning', + 'message': item.get('issue_text', ''), + 'rule': item.get('test_id', ''), + 'severity': item.get('issue_severity', 'medium').lower(), + 'confidence': item.get('issue_confidence', 'medium') + }) + except json.JSONDecodeError: + # 解析文本输出 + for line in result.stdout.split('\n'): + if '>> Issue:' in line: + issues.append({ + 'file': 'unknown', + 'line': 0, + 'column': 0, + 'type': 'error', + 'message': line.strip(), + 'rule': 'bandit', + 'severity': 'high' + }) + + return { + "status": "completed", + "output": result.stdout, + "issues": issues, + "total_issues": len(issues) + } + + except subprocess.TimeoutExpired: + return {"status": "timeout", "output": "Bandit check timed out", "issues": []} + except Exception as e: + return {"status": "error", "output": str(e), "issues": []} + + def _get_severity(self, issue_type): + """根据问题类型确定严重程度""" + severity_map = { + 'error': 'high', + 'warning': 'medium', + 'info': 'low' + } + return severity_map.get(issue_type, 'medium') + + def run_all_checks(self): + """运行所有检查工具""" + logger.info(f"开始检查项目: {self.project_path}") + + results = { + 'pylint': self.run_pylint(), + 'flake8': self.run_flake8(), + 'bandit': self.run_bandit() + } + + # 汇总结果 + all_issues = [] + total_issues = 0 + error_count = 0 + warning_count = 0 + info_count = 0 + + for tool, result in results.items(): + if result['status'] == 'completed': + all_issues.extend(result['issues']) + total_issues += result['total_issues'] + + for issue in result['issues']: + if issue['type'] == 'error': + error_count += 1 + elif issue['type'] == 'warning': + warning_count += 1 + else: + info_count += 1 + + # 生成汇总报告 + summary = { + 'total_issues': total_issues, + 'error_count': error_count, + 'warning_count': warning_count, + 'info_count': info_count, + 'tools_status': {tool: result['status'] for tool, result in results.items()}, + 'all_issues': all_issues + } + + return summary + +# 静态文件路由 +@app.route('/css/') +def css_files(filename): + return send_file(f'../css/{filename}') + +@app.route('/js/') +def js_files(filename): + return send_file(f'../js/{filename}') + +# API 路由 +@app.route('/') +def index(): + return render_template('index.html') + + +@app.route('/api/projects', methods=['GET']) +def get_projects(): + """获取项目列表""" + try: + connection = get_db_connection() + with connection.cursor(pymysql.cursors.DictCursor) as cursor: + # 获取所有活跃项目 + cursor.execute(""" + SELECT p.*, + c.status as latest_check_status, + c.total_issues, + c.error_count, + c.warning_count, + c.completed_at + FROM project p + LEFT JOIN code_check c ON p.id = c.project_id + AND c.id = (SELECT MAX(id) FROM code_check WHERE project_id = p.id) + WHERE p.status = 'active' + ORDER BY p.created_at DESC + """) + projects = cursor.fetchall() + + result = [] + for project in projects: + project_data = { + 'id': project['id'], + 'name': project['name'], + 'description': project['description'], + 'source_type': project['source_type'], + 'source_url': project['source_url'], + 'language': project['language'], + 'status': project['status'], + 'created_at': project['created_at'].isoformat() if project['created_at'] else None, + 'updated_at': project['updated_at'].isoformat() if project['updated_at'] else None, + 'latest_check': { + 'status': project['latest_check_status'] or 'never', + 'total_issues': project['total_issues'] or 0, + 'error_count': project['error_count'] or 0, + 'warning_count': project['warning_count'] or 0, + 'completed_at': project['completed_at'].isoformat() if project['completed_at'] else None + } if project['latest_check_status'] else None + } + result.append(project_data) + + connection.close() + return jsonify({'success': True, 'data': result}) + except Exception as e: + logger.error(f"获取项目列表失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects', methods=['POST']) +def create_project(): + """创建新项目""" + try: + data = request.get_json() + project_name = data.get('name') + description = data.get('description', '') + source_type = data.get('source_type') # 'github', 'gitee', 'upload' + source_url = data.get('source_url', '') + + if not project_name or not source_type: + return jsonify({'success': False, 'error': '项目名称和来源类型不能为空'}), 400 + + connection = get_db_connection() + with connection.cursor() as cursor: + # 检查项目名称是否已存在 + cursor.execute("SELECT id FROM project WHERE name = %s", (project_name,)) + if cursor.fetchone(): + connection.close() + return jsonify({'success': False, 'error': '项目名称已存在'}), 400 + + # 创建项目目录 + project_id = str(uuid.uuid4()) + project_path = os.path.join('projects', project_id) + os.makedirs(project_path, exist_ok=True) + + # 根据来源类型处理项目代码 + if source_type in ['github', 'gitee']: + if not source_url: + connection.close() + return jsonify({'success': False, 'error': 'Git URL 不能为空'}), 400 + + try: + # 克隆仓库 + git.Repo.clone_from(source_url, project_path) + logger.info(f"成功克隆仓库: {source_url} 到 {project_path}") + except Exception as e: + logger.error(f"克隆仓库失败: {str(e)}") + connection.close() + return jsonify({'success': False, 'error': f'克隆仓库失败: {str(e)}'}), 400 + + elif source_type == 'upload': + # 文件上传方式 - 需要先上传文件,然后复制到项目目录 + # 这里暂时创建一个空的项目目录,文件上传将在后续步骤中处理 + logger.info(f"创建文件上传项目目录: {project_path}") + # 创建一个README文件作为占位符 + readme_path = os.path.join(project_path, 'README.md') + with open(readme_path, 'w', encoding='utf-8') as f: + f.write(f"# {project_name}\n\n{description}\n\n此项目通过文件上传方式创建。") + + # 创建项目记录 + cursor.execute(""" + INSERT INTO project (name, description, source_type, source_url, local_path, language, status, created_by) + VALUES (%s, %s, %s, %s, %s, %s, %s, %s) + """, (project_name, description, source_type, source_url, project_path, 'python', 'active', 'admin')) + + project_db_id = cursor.lastrowid + connection.commit() + + return jsonify({ + 'success': True, + 'data': { + 'id': project_db_id, + 'name': project_name, + 'description': description, + 'source_type': source_type, + 'source_url': source_url, + 'local_path': project_path, + 'created_at': datetime.now().isoformat() + } + }) + + except Exception as e: + logger.error(f"创建项目失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + finally: + if 'connection' in locals(): + connection.close() + +@app.route('/api/projects//upload-files', methods=['POST']) +def upload_files_to_project(project_id): + """上传文件到项目(用于项目创建时的文件上传)""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 获取项目信息 + cursor.execute("SELECT local_path, source_type FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + local_path, source_type = project + if source_type != 'upload': + connection.close() + return jsonify({'success': False, 'error': '此项目不支持文件上传'}), 400 + + if not local_path or not os.path.exists(local_path): + connection.close() + return jsonify({'success': False, 'error': '项目路径不存在'}), 400 + + # 获取上传的文件 + if 'files' not in request.files: + connection.close() + return jsonify({'success': False, 'error': '没有选择文件'}), 400 + + files = request.files.getlist('files') + if not files or all(file.filename == '' for file in files): + connection.close() + return jsonify({'success': False, 'error': '没有选择文件'}), 400 + + uploaded_count = 0 + has_uploaded_files = False + + for file in files: + if file and file.filename: + # 处理文件路径,保持文件夹结构 + filename = file.filename + + # 对于文件夹上传,filename 会包含相对路径 + # 例如: "folder1/subfolder/file.py" + if '/' in filename: + # 保持相对路径结构,但需要安全处理 + path_parts = filename.split('/') + safe_parts = [secure_filename(part) for part in path_parts] + relative_path = '/'.join(safe_parts) + file_path = os.path.join(local_path, relative_path) + else: + # 单个文件 + safe_filename = secure_filename(filename) + file_path = os.path.join(local_path, safe_filename) + + # 确保目录存在 + os.makedirs(os.path.dirname(file_path), exist_ok=True) + + # 保存文件 + file.save(file_path) + uploaded_count += 1 + has_uploaded_files = True + logger.info(f"上传文件: {filename} -> {file_path}") + + # 如果成功上传了文件,删除占位符README文件 + if has_uploaded_files: + readme_path = os.path.join(local_path, 'README.md') + if os.path.exists(readme_path): + try: + os.remove(readme_path) + logger.info("删除占位符README文件") + except Exception as e: + logger.warning(f"删除占位符README文件失败: {e}") + + connection.close() + return jsonify({ + 'success': True, + 'message': f'成功上传 {uploaded_count} 个文件', + 'uploaded_count': uploaded_count + }) + + except Exception as e: + logger.error(f"上传文件到项目失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects/', methods=['GET']) +def get_project(project_id): + """获取项目详情""" + try: + connection = get_db_connection() + with connection.cursor(pymysql.cursors.DictCursor) as cursor: + # 获取项目信息 + cursor.execute("SELECT * FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + # 获取检查历史 + cursor.execute(""" + SELECT * FROM code_check + WHERE project_id = %s + ORDER BY started_at DESC + LIMIT 10 + """, (project_id,)) + checks = cursor.fetchall() + + project_data = { + 'id': project['id'], + 'name': project['name'], + 'description': project['description'], + 'source_type': project['source_type'], + 'source_url': project['source_url'], + 'local_path': project['local_path'], + 'language': project['language'], + 'status': project['status'], + 'created_at': project['created_at'].isoformat() if project['created_at'] else None, + 'updated_at': project['updated_at'].isoformat() if project['updated_at'] else None, + 'checks': [{ + 'id': check['id'], + 'check_type': check['check_type'], + 'status': check['status'], + 'started_at': check['started_at'].isoformat() if check['started_at'] else None, + 'completed_at': check['completed_at'].isoformat() if check['completed_at'] else None, + 'total_issues': check['total_issues'], + 'error_count': check['error_count'], + 'warning_count': check['warning_count'], + 'info_count': check['info_count'], + 'summary': check['summary'] + } for check in checks] + } + + connection.close() + return jsonify({'success': True, 'data': project_data}) + except Exception as e: + logger.error(f"获取项目详情失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects/', methods=['DELETE']) +def delete_project(project_id): + """删除项目""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 检查项目是否存在 + cursor.execute("SELECT * FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + # 获取项目本地路径 + local_path = project[4] # local_path字段 + + # 删除项目(由于外键约束,相关数据会自动删除) + cursor.execute("DELETE FROM project WHERE id = %s", (project_id,)) + + # 删除本地项目文件 + if local_path and os.path.exists(local_path): + try: + shutil.rmtree(local_path) + logger.info(f"已删除项目目录: {local_path}") + except Exception as e: + logger.warning(f"删除项目目录失败: {e}") + + connection.commit() + connection.close() + + logger.info(f"项目 {project_id} 删除成功") + return jsonify({'success': True, 'message': '项目删除成功'}) + + except Exception as e: + logger.error(f"删除项目失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects//check', methods=['POST']) +def run_code_check(project_id): + """运行代码检查""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 获取项目信息 + cursor.execute("SELECT * FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + if not os.path.exists(project[4]): # local_path字段 + connection.close() + return jsonify({'success': False, 'error': '项目路径不存在'}), 400 + + # 创建检查记录 + cursor.execute(""" + INSERT INTO code_check (project_id, check_type, status, started_at) + VALUES (%s, %s, %s, %s) + """, (project_id, 'combined', 'running', datetime.now())) + + check_id = cursor.lastrowid + connection.commit() + + # 运行代码分析 + analyzer = CodeAnalyzer(project[4]) # local_path字段 + results = analyzer.run_all_checks() + + # 更新检查记录 + cursor.execute(""" + UPDATE code_check + SET status = %s, completed_at = %s, total_issues = %s, + error_count = %s, warning_count = %s, info_count = %s, + summary = %s, report_path = %s + WHERE id = %s + """, ( + 'completed', datetime.now(), results['total_issues'], + results['error_count'], results['warning_count'], results['info_count'], + json.dumps(results, ensure_ascii=False), + f'reports/check_{check_id}_{datetime.now().strftime("%Y%m%d_%H%M%S")}.json', + check_id + )) + + # 保存详细报告 + report_path = os.path.join('reports', f'check_{check_id}_{datetime.now().strftime("%Y%m%d_%H%M%S")}.json') + with open(report_path, 'w', encoding='utf-8') as f: + json.dump(results, f, ensure_ascii=False, indent=2) + + # 保存检查结果详情 + for issue in results['all_issues']: + cursor.execute(""" + INSERT INTO check_result (check_id, file_path, line_number, column_number, + issue_type, severity, rule_id, message, suggestion) + VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s) + """, ( + check_id, issue['file'], issue['line'], issue['column'], + issue['type'], issue['severity'], issue['rule'], issue['message'], '' + )) + + connection.commit() + connection.close() + + return jsonify({ + 'success': True, + 'data': { + 'check_id': check_id, + 'status': 'completed', + 'total_issues': results['total_issues'], + 'error_count': results['error_count'], + 'warning_count': results['warning_count'], + 'info_count': results['info_count'], + 'summary': results + } + }) + + except Exception as e: + logger.error(f"运行代码检查失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/checks//results', methods=['GET']) +def get_check_results(check_id): + """获取检查结果详情""" + try: + connection = get_db_connection() + with connection.cursor(pymysql.cursors.DictCursor) as cursor: + # 获取检查信息 + cursor.execute("SELECT * FROM code_check WHERE id = %s", (check_id,)) + check = cursor.fetchone() + + if not check: + connection.close() + return jsonify({'success': False, 'error': '检查记录不存在'}), 404 + + # 获取检查结果 + cursor.execute("SELECT * FROM check_result WHERE check_id = %s", (check_id,)) + results = cursor.fetchall() + + result_data = { + 'check_id': check['id'], + 'project_id': check['project_id'], + 'status': check['status'], + 'started_at': check['started_at'].isoformat() if check['started_at'] else None, + 'completed_at': check['completed_at'].isoformat() if check['completed_at'] else None, + 'total_issues': check['total_issues'], + 'error_count': check['error_count'], + 'warning_count': check['warning_count'], + 'info_count': check['info_count'], + 'issues': [{ + 'id': result['id'], + 'file_path': result['file_path'], + 'line_number': result['line_number'], + 'column_number': result['column_number'], + 'issue_type': result['issue_type'], + 'severity': result['severity'], + 'rule_id': result['rule_id'], + 'message': result['message'], + 'suggestion': result['suggestion'] + } for result in results] + } + + connection.close() + return jsonify({'success': True, 'data': result_data}) + except Exception as e: + logger.error(f"获取检查结果失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/upload', methods=['POST']) +def upload_files(): + """上传文件或文件夹""" + try: + if 'files' not in request.files: + return jsonify({'success': False, 'error': '没有选择文件'}), 400 + + files = request.files.getlist('files') + if not files or all(file.filename == '' for file in files): + return jsonify({'success': False, 'error': '没有选择文件'}), 400 + + # 创建临时目录 + temp_dir = tempfile.mkdtemp() + + for file in files: + if file and file.filename: + filename = secure_filename(file.filename) + file_path = os.path.join(temp_dir, filename) + file.save(file_path) + + return jsonify({ + 'success': True, + 'data': { + 'temp_path': temp_dir, + 'file_count': len(files) + } + }) + + except Exception as e: + logger.error(f"文件上传失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/check', methods=['POST']) +def check_code(): + """检查上传的代码文件""" + try: + data = request.get_json() + temp_path = data.get('temp_path') + + if not temp_path or not os.path.exists(temp_path): + return jsonify({'success': False, 'error': '临时路径不存在'}), 400 + + # 运行代码分析 + analyzer = CodeAnalyzer(temp_path) + results = analyzer.run_all_checks() + + # 生成检查ID + check_id = str(uuid.uuid4()) + + # 保存检查报告 + report_path = os.path.join('reports', f'check_{check_id}_{datetime.now().strftime("%Y%m%d_%H%M%S")}.json') + os.makedirs('reports', exist_ok=True) + + with open(report_path, 'w', encoding='utf-8') as f: + json.dump(results, f, ensure_ascii=False, indent=2) + + # 清理临时文件 + try: + shutil.rmtree(temp_path) + except Exception as e: + logger.warning(f"清理临时文件失败: {e}") + + return jsonify({ + 'success': True, + 'data': { + 'check_id': check_id, + 'status': 'completed', + 'total_issues': results['total_issues'], + 'error_count': results['error_count'], + 'warning_count': results['warning_count'], + 'info_count': results['info_count'], + 'tools_status': results['tools_status'], + 'all_issues': results['all_issues'], + 'report_path': report_path + } + }) + + except Exception as e: + logger.error(f"代码检查失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects//files', methods=['GET']) +def get_project_files(project_id): + """获取项目文件列表""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 获取项目信息 + cursor.execute("SELECT local_path FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + local_path = project[0] + if not local_path or not os.path.exists(local_path): + connection.close() + return jsonify({'success': False, 'error': '项目路径不存在'}), 400 + + # 获取相对路径参数 + relative_path = request.args.get('path', '') + full_path = os.path.join(local_path, relative_path) + + # 安全检查:确保路径在项目目录内 + if not os.path.abspath(full_path).startswith(os.path.abspath(local_path)): + connection.close() + return jsonify({'success': False, 'error': '无效的路径'}), 400 + + if not os.path.exists(full_path): + connection.close() + return jsonify({'success': False, 'error': '路径不存在'}), 404 + + files = [] + if os.path.isdir(full_path): + for item in sorted(os.listdir(full_path)): + item_path = os.path.join(full_path, item) + relative_item_path = os.path.join(relative_path, item).replace('\\', '/') + + file_info = { + 'name': item, + 'path': relative_item_path, + 'is_directory': os.path.isdir(item_path), + 'size': os.path.getsize(item_path) if os.path.isfile(item_path) else 0, + 'modified': datetime.fromtimestamp(os.path.getmtime(item_path)).isoformat() + } + files.append(file_info) + + connection.close() + return jsonify({'success': True, 'data': files}) + + except Exception as e: + logger.error(f"获取项目文件失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects//files/content', methods=['GET']) +def get_file_content(project_id): + """获取文件内容""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 获取项目信息 + cursor.execute("SELECT local_path FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + local_path = project[0] + if not local_path or not os.path.exists(local_path): + connection.close() + return jsonify({'success': False, 'error': '项目路径不存在'}), 400 + + # 获取文件路径参数 + file_path = request.args.get('path', '') + if not file_path: + connection.close() + return jsonify({'success': False, 'error': '文件路径不能为空'}), 400 + + full_path = os.path.join(local_path, file_path) + + # 安全检查:确保路径在项目目录内 + if not os.path.abspath(full_path).startswith(os.path.abspath(local_path)): + connection.close() + return jsonify({'success': False, 'error': '无效的文件路径'}), 400 + + if not os.path.exists(full_path): + connection.close() + return jsonify({'success': False, 'error': '文件不存在'}), 404 + + if os.path.isdir(full_path): + connection.close() + return jsonify({'success': False, 'error': '路径是目录,不是文件'}), 400 + + # 检查文件大小(限制为1MB) + file_size = os.path.getsize(full_path) + if file_size > 1024 * 1024: # 1MB + connection.close() + return jsonify({'success': False, 'error': '文件太大,无法显示'}), 400 + + # 尝试读取文件内容 + try: + with open(full_path, 'r', encoding='utf-8') as f: + content = f.read() + except UnicodeDecodeError: + # 如果UTF-8解码失败,尝试其他编码 + try: + with open(full_path, 'r', encoding='gbk') as f: + content = f.read() + except UnicodeDecodeError: + connection.close() + return jsonify({'success': False, 'error': '文件编码不支持'}), 400 + + connection.close() + return jsonify({ + 'success': True, + 'data': { + 'content': content, + 'path': file_path, + 'size': file_size, + 'modified': datetime.fromtimestamp(os.path.getmtime(full_path)).isoformat() + } + }) + + except Exception as e: + logger.error(f"获取文件内容失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects//files/content', methods=['PUT']) +def save_file_content(project_id): + """保存文件内容""" + try: + data = request.get_json() + file_path = data.get('path') + content = data.get('content') + + if not file_path: + return jsonify({'success': False, 'error': '文件路径不能为空'}), 400 + + connection = get_db_connection() + with connection.cursor() as cursor: + # 获取项目信息 + cursor.execute("SELECT local_path FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + local_path = project[0] + if not local_path or not os.path.exists(local_path): + connection.close() + return jsonify({'success': False, 'error': '项目路径不存在'}), 400 + + full_path = os.path.join(local_path, file_path) + + # 安全检查:确保路径在项目目录内 + if not os.path.abspath(full_path).startswith(os.path.abspath(local_path)): + connection.close() + return jsonify({'success': False, 'error': '无效的文件路径'}), 400 + + # 确保目录存在 + os.makedirs(os.path.dirname(full_path), exist_ok=True) + + # 保存文件内容 + with open(full_path, 'w', encoding='utf-8') as f: + f.write(content) + + connection.close() + return jsonify({'success': True, 'message': '文件保存成功'}) + + except Exception as e: + logger.error(f"保存文件内容失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects//files/upload', methods=['POST']) +def upload_project_file(project_id): + """上传文件到项目""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 获取项目信息 + cursor.execute("SELECT local_path FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + local_path = project[0] + if not local_path or not os.path.exists(local_path): + connection.close() + return jsonify({'success': False, 'error': '项目路径不存在'}), 400 + + # 获取上传的文件 + if 'file' not in request.files: + connection.close() + return jsonify({'success': False, 'error': '没有选择文件'}), 400 + + file = request.files['file'] + if file.filename == '': + connection.close() + return jsonify({'success': False, 'error': '没有选择文件'}), 400 + + # 获取目标路径 + target_path = request.form.get('path', '') + if target_path: + full_path = os.path.join(local_path, target_path, secure_filename(file.filename)) + else: + full_path = os.path.join(local_path, secure_filename(file.filename)) + + # 安全检查:确保路径在项目目录内 + if not os.path.abspath(full_path).startswith(os.path.abspath(local_path)): + connection.close() + return jsonify({'success': False, 'error': '无效的文件路径'}), 400 + + # 确保目录存在 + os.makedirs(os.path.dirname(full_path), exist_ok=True) + + # 保存文件 + file.save(full_path) + + connection.close() + return jsonify({'success': True, 'message': '文件上传成功'}) + + except Exception as e: + logger.error(f"上传文件失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + +@app.route('/api/projects//files/download', methods=['GET']) +def download_project_file(project_id): + """下载项目文件""" + try: + connection = get_db_connection() + with connection.cursor() as cursor: + # 获取项目信息 + cursor.execute("SELECT local_path FROM project WHERE id = %s", (project_id,)) + project = cursor.fetchone() + + if not project: + connection.close() + return jsonify({'success': False, 'error': '项目不存在'}), 404 + + local_path = project[0] + if not local_path or not os.path.exists(local_path): + connection.close() + return jsonify({'success': False, 'error': '项目路径不存在'}), 400 + + # 获取文件路径 + file_path = request.args.get('path', '') + if not file_path: + connection.close() + return jsonify({'success': False, 'error': '文件路径不能为空'}), 400 + + full_path = os.path.join(local_path, file_path) + + # 安全检查:确保路径在项目目录内 + if not os.path.abspath(full_path).startswith(os.path.abspath(local_path)): + connection.close() + return jsonify({'success': False, 'error': '无效的文件路径'}), 400 + + if not os.path.exists(full_path): + connection.close() + return jsonify({'success': False, 'error': '文件不存在'}), 404 + + if os.path.isdir(full_path): + connection.close() + return jsonify({'success': False, 'error': '路径是目录,不是文件'}), 400 + + connection.close() + return send_file(full_path, as_attachment=True) + + except Exception as e: + logger.error(f"下载文件失败: {str(e)}") + return jsonify({'success': False, 'error': str(e)}), 500 + + +if __name__ == '__main__': + print("🛡️ 军事代码合规性检查系统") + print("=" * 50) + + # 初始化数据库 + if not init_database(): + print("❌ 数据库初始化失败,请检查MySQL连接") + exit(1) + + # 启动服务器 + print("🚀 启动军事代码合规性检查系统...") + print("=" * 50) + print("系统信息:") + print(" - 后端API: http://localhost:5000") + print(" - 数据库: MySQL (fortifycode)") + print("=" * 50) + print("按 Ctrl+C 停止服务器") + print() + + try: + app.run(debug=True, host='0.0.0.0', port=5000) + except KeyboardInterrupt: + print("\n👋 服务器已停止") + except Exception as e: + print(f"❌ 服务器启动失败: {e}") diff --git a/src/FortifyCode/backend/beifen.txt b/src/FortifyCode/backend/beifen.txt new file mode 100644 index 0000000..a42d71a --- /dev/null +++ b/src/FortifyCode/backend/beifen.txt @@ -0,0 +1,30 @@ +多Agent状态面板 +

+
+

Agent 状态

+
+
+
+
A1
+
+
pylint Agent
+ 空闲 +
+
+
+
A2
+
+
flake8 Agent
+ 空闲 +
+
+
+
A3
+
+
bandit Agent
+ 空闲 +
+
+
+
+ \ No newline at end of file diff --git a/src/FortifyCode/backend/database_init.sql b/src/FortifyCode/backend/database_init.sql new file mode 100644 index 0000000..76e1d19 --- /dev/null +++ b/src/FortifyCode/backend/database_init.sql @@ -0,0 +1,70 @@ +-- 设置字符集 +SET NAMES utf8mb4; +SET CHARACTER SET utf8mb4; + +-- 创建数据库 +CREATE DATABASE IF NOT EXISTS fortifycode CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; + +-- 使用数据库 +USE fortifycode; + +-- 创建项目表 +CREATE TABLE IF NOT EXISTS project ( + id INT AUTO_INCREMENT PRIMARY KEY, + name VARCHAR(200) NOT NULL, + description TEXT, + source_type VARCHAR(50) NOT NULL COMMENT 'github, gitee, upload', + source_url VARCHAR(500), + local_path VARCHAR(500), + language VARCHAR(50) DEFAULT 'python', + status VARCHAR(50) DEFAULT 'active' COMMENT 'active, archived, deleted', + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + created_by VARCHAR(100) DEFAULT 'admin', + INDEX idx_name (name), + INDEX idx_status (status), + INDEX idx_created_at (created_at) +); + +-- 创建代码检查表 +CREATE TABLE IF NOT EXISTS code_check ( + id INT AUTO_INCREMENT PRIMARY KEY, + project_id INT NOT NULL, + check_type VARCHAR(50) NOT NULL COMMENT 'pylint, flake8, bandit, combined', + status VARCHAR(50) DEFAULT 'pending' COMMENT 'pending, running, completed, failed', + started_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + completed_at TIMESTAMP NULL, + total_files INT DEFAULT 0, + total_issues INT DEFAULT 0, + error_count INT DEFAULT 0, + warning_count INT DEFAULT 0, + info_count INT DEFAULT 0, + report_path VARCHAR(500), + summary TEXT, + FOREIGN KEY (project_id) REFERENCES project(id) ON DELETE CASCADE, + INDEX idx_project_id (project_id), + INDEX idx_status (status), + INDEX idx_started_at (started_at) +); + +-- 创建检查结果表 +CREATE TABLE IF NOT EXISTS check_result ( + id INT AUTO_INCREMENT PRIMARY KEY, + check_id INT NOT NULL, + file_path VARCHAR(500) NOT NULL, + line_number INT, + column_number INT, + issue_type VARCHAR(50) NOT NULL COMMENT 'error, warning, info', + severity VARCHAR(20) DEFAULT 'medium' COMMENT 'high, medium, low', + rule_id VARCHAR(100), + message TEXT NOT NULL, + suggestion TEXT, + FOREIGN KEY (check_id) REFERENCES code_check(id) ON DELETE CASCADE, + INDEX idx_check_id (check_id), + INDEX idx_issue_type (issue_type), + INDEX idx_severity (severity) +); + +-- 字符集设置正确 +SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci; + diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/README.md b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/README.md new file mode 100644 index 0000000..013d8dd --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/README.md @@ -0,0 +1,69 @@ +# 党费管理系统 + +这是一个基于Flask的党费管理系统,用于管理党员的党费缴纳情况。 + +## 功能特点 + +- 用户登录和权限管理 +- 党费记录管理(添加、修改、删除) +- 数据统计和分析 +- 数据导入导出 +- 响应式界面设计 + +## 系统要求 + +- Python 3.7+ +- MySQL 5.7+ +- 现代浏览器(Chrome、Firefox、Safari等) + +## 安装步骤 + +1. 克隆项目到本地 +2. 创建虚拟环境: + ```bash + python -m venv venv + source venv/bin/activate # Linux/Mac + venv\Scripts\activate # Windows + ``` +3. 安装依赖: + ```bash + pip install -r requirements.txt + ``` +4. 创建数据库: + ```bash + mysql -u root -p < manage.sql + ``` +5. 修改数据库配置: + 在server.py中修改DB_CONFIG配置 + +## 运行系统 + +```bash +python server.py +``` + +访问 http://localhost:5000 即可使用系统 + +## 默认账号 + +- 管理员账号:admin +- 密码:a123 + +## 使用说明 + +1. 管理员功能: + - 管理所有用户的党费记录 + - 查看统计数据 + - 导入导出数据 + - 管理用户信息 + +2. 普通用户功能: + - 查看个人党费记录 + - 修改个人信息 + - 查看缴费状态 + +## 注意事项 + +- 请定期备份数据库 +- 及时更新系统密码 +- 定期检查系统日志 \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/favicon.ico b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..b48b3442ad90fd9b5bcbef8a9f703c1852de1561 GIT binary patch literal 5430 zcmchb`BM}}6vrn=RerU~e}JE;{1#6HHI^o#f*c}>As#Wtm_$)Ph+G1TXayBe6BCaj zBvFZYti~%*t5QJ(qGiBR5RfGTyDo=F)D_J}U0&Yn+3uO1JtUi$srpv;&d&7rGu>}y z-Wx@ENqJcb3R18QQYuF%O0c3RBe134AHS+74cLDj_u(PRR21!J8}2u50HBb1J8i-H z^GnJy-(Fx}HF~CN<)|6J^~tDkV0r`F0EJ_@GTutC@5?VP>+P@wb6;w&{Zbd38W!W= ze*Rj)LQDa&q=ZI0uKrvT%db0iVypwN8I1DBq5m%sCSss@IAAI*OG0mw(cjx|y|2Ii zaF}QV#&}i&4y?7>yht*>uTqszL3?#w9`!A4Z<>(o%HDl46i*XPO*DN?& zb`b9M^*>*|{m|8FfeVLE!M5e;>^k)8=WDIjjEw|M5!hG7nJyeUiDCNBwxOXRXuNnC zGN#S<8B?4mdE9JB9v2D8$U)Lr)P8jU{+za>sTGn#qWs2o3iBrhy)+)9{~fCxj&9xU z)-G&!!HFGTLyh?iIR3cLtwmc=xLu7YA90j2J_=IC&sK#D#G_}bK6FZqMIB51b;BHK zYnC^A2{PQ1j&H2K>^HVk(O)l>M`QBlFV@Vbk$#>yQ|#@a7WaH<^Ca#$WJ(K(L4T6Q!TZE>@$hMBJPY}= zHPhyZui3gO@i5TcD;-a9;XSrhp0o)uAW873Oh$iOYddUTmabD8?EEMb4i@eJEB>e7 zT+g1t*2Qal#x`-KPly$gINV${hU?dl@2~H2x!_poUca$TYxZgA9H#V8SHqH^P+ore`&~wWw7>02EzsdYeFz}e>EoaI=f0E$P z_mRh&zn)LOX2**62!HCd)YW^$w()+;m^c@N!m!VzF?sqod7UR>I=cBQ$^VYcF3pv< z_|8Osy#xz!AxrJiAEhzd8_?e{N3?E*(aXTzc1t>z)`Q29w>2Z4tV!|cZ?+Yr}0hH@s)ccGAh%fLfy1}1r~v~}ZarnOoeQH&d78-Kfs z=B(%;e{TwmN#l85Y;THLZa=;>VAT__liOn98CMPQolSFYlORrV7lW##0>eLEH9wJJq<#YCS8{-=$+ zs?f6&z3DpzeU=D9iSHEn4a2zMGiBu7wFTzY<073@yA0=hMAFy@=N>$Votw77Eb1}c zw+&tg`5TkQNC}B@vf9*L8;h~rb-R8X-sd$qaj?2hmxH%mxdwj@K9ckh-z`+P6}`KP z)opwnYFU1*tI;~KwxW%4pBuGTptVZ_u;qTt=VdsCFRV4C$s;9-fAMBM=kVy!~kovz!EF=d`RZ&qtT_5G>kr(HMHW9fZ7(A|gi`CXu#m#%$FVv>}5QhmUm z_dLh5y3en~yq)I;2Xc#<|L>S%sCkmRCc!#{J-c=J5kLP>;pZYB+LyhVoj-X0ff$ot zcb1f6%mse_gZ=^N>#)Iqy%(rnppEi2DPO=mTz*H#!&S^Jy4yP?*_tgZU)m74RL&_w z;~;NpqEme~xt~cM?=~b;aDKnO#LS+}hG(*IOzqw1eh=YwAIRQneste4 nvNEsKToAs= due_amount else '未交齐' + + # 3. 插入党费记录 + sql_insert_due = """INSERT INTO dues (user_id, due_amount, actual_amount, payment_type, + payment_date, status, remark) VALUES (%s, %s, %s, %s, %s, %s, %s)""" + cursor.execute(sql_insert_due, ( + user_id, + due_amount, + actual_amount, + payment_type, + payment_date, + status, + remark + )) + conn.commit() + return jsonify({'status': 'success', 'message': '党费记录添加成功'}), 201 # 返回201 Created + except pymysql.Error as e: + conn.rollback() # 发生错误回滚事务 + print(f"Database error: {e}") + return jsonify({'status': 'error', 'message': f'数据库错误: {e}'}), 500 # 返回500 Internal Server Error + except Exception as e: + conn.rollback() + print(f"An unexpected error occurred: {e}") + return jsonify({'status': 'error', 'message': f'服务器内部错误: {e}'}), 500 + finally: + conn.close() + +#删除党费记录的API +@app.route('/api/dues/', methods=['DELETE']) +@login_required +def delete_due(due_id): + """ + 修改党费记录的API + 仅管理员可操作 + """ + if session['role'] != 'admin': + return jsonify({'status': 'error', 'message': '权限不足'}) + + data = request.get_json() + conn = get_db() + try: + with conn.cursor() as cursor: + sql = """DELETE FROM dues WHERE id = %s""" + cursor.execute(sql, (due_id)) + conn.commit() + return jsonify({'status': 'success'}) + finally: + conn.close() + +# 修改党费记录的API +@app.route('/api/dues/', methods=['PUT']) +@login_required +def update_due(due_id): + """ + 修改党费记录的API + 仅管理员可操作 + """ + if session['role'] != 'admin': + return jsonify({'status': 'error', 'message': '权限不足'}) + + data = request.get_json() + conn = get_db() + try: + with conn.cursor() as cursor: + sql = """UPDATE dues SET due_amount = %s, actual_amount = %s, + payment_type = %s, payment_date = %s, status = %s, remark = %s + WHERE id = %s""" + cursor.execute(sql, ( + data['dueAmount'], + data['actualAmount'], + data['paymentType'], + data['paymentDate'], + '已交齐' if data['actualAmount'] >= data['dueAmount'] else '未交齐', + data.get('remark', ''), + due_id + )) + conn.commit() + return jsonify({'status': 'success'}) + finally: + conn.close() + +# 获取统计数据的API +@app.route('/api/stats', methods=['GET']) +@login_required +def get_stats(): + """ + 获取统计数据的API + 仅管理员可访问 + """ + if session['role'] != 'admin': + return jsonify({'status': 'error', 'message': '权限不足'}), 403 + + start_date = request.args.get('start') + end_date = request.args.get('end') + + conn = get_db() + try: + with conn.cursor(pymysql.cursors.DictCursor) as cursor: + # 基础统计 + sql = """ + SELECT + COUNT(*) as total_count, + SUM(actual_amount) as total_amount, + AVG(actual_amount) as avg_amount, + COUNT(CASE WHEN status = '已交齐' THEN 1 END) as paid_count, + COUNT(CASE WHEN status = '未交齐' THEN 1 END) as unpaid_count + FROM dues + WHERE payment_date BETWEEN %s AND %s + """ + cursor.execute(sql, (start_date, end_date)) + basic_stats = cursor.fetchone() + + # 按单位统计 + sql = """ + SELECT + u.unit, + COUNT(*) as count, + SUM(d.actual_amount) as total_amount, + COUNT(CASE WHEN d.status = '已交齐' THEN 1 END) as paid_count + FROM dues d + JOIN users u ON d.user_id = u.id + WHERE d.payment_date BETWEEN %s AND %s + GROUP BY u.unit + """ + cursor.execute(sql, (start_date, end_date)) + unit_stats = cursor.fetchall() + + # 按月份统计 + sql = """ + SELECT + DATE_FORMAT(payment_date, '%%Y-%%m') as month, + COUNT(*) as count, + SUM(actual_amount) as total_amount + FROM dues + WHERE payment_date BETWEEN %s AND %s + GROUP BY DATE_FORMAT(payment_date, '%%Y-%%m') + ORDER BY month + """ + cursor.execute(sql, (start_date, end_date)) + monthly_stats = cursor.fetchall() + + # 转换 Decimal 类型为 float + for key, value in basic_stats.items(): + if isinstance(value, decimal.Decimal): + basic_stats[key] = float(value) + + for stat in unit_stats: + for key, value in stat.items(): + if isinstance(value, decimal.Decimal): + stat[key] = float(value) + + for stat in monthly_stats: + for key, value in stat.items(): + if isinstance(value, decimal.Decimal): + stat[key] = float(value) + + return jsonify({ + 'basic': basic_stats, + 'by_unit': unit_stats, + 'by_month': monthly_stats + }) + except Exception as e: + print(f"Error fetching stats: {e}") + return jsonify({'status': 'error', 'message': '获取统计数据失败'}), 500 + finally: + conn.close() + +# 获取未缴纳人员列表的API +@app.route('/api/unpaid', methods=['GET']) +@login_required +def get_unpaid(): + """ + 获取未缴纳人员列表的API + 仅管理员可访问 + """ + if session['role'] != 'admin': + return jsonify({'status': 'error', 'message': '权限不足'}) + + conn = get_db() + try: + with conn.cursor(pymysql.cursors.DictCursor) as cursor: + sql = """SELECT u.* FROM users u + LEFT JOIN dues d ON u.id = d.user_id + WHERE d.id IS NULL OR d.status = '未交齐'""" + cursor.execute(sql) + users = cursor.fetchall() + return jsonify({'count': len(users), 'users': users}) + finally: + conn.close() + +# 导入数据的API +@app.route('/api/import', methods=['POST']) +@login_required +def import_data(): + """ + 批量导入党费数据的API + 仅管理员可操作 + 通过姓名匹配用户ID + """ + if session['role'] != 'admin': + return jsonify({'status': 'error', 'message': '权限不足'}) + + data = request.get_json() + if not data or not isinstance(data, list): + return jsonify({'status': 'error', 'message': '无效的导入数据格式'}) + + conn = get_db() + try: + with conn.cursor() as cursor: + # 创建用户姓名到ID的映射 + cursor.execute("SELECT id, name FROM users") + user_map = {row[1]: row[0] for row in cursor.fetchall()} + + success_count = 0 + failed_records = [] + + for idx, item in enumerate(data): + try: + # 验证必要字段 + if not all(k in item for k in ['name', 'date', 'due', 'actual']): + failed_records.append(f"第{idx+1}行: 缺少必要字段") + continue + + # 获取用户ID + user_id = user_map.get(item['name']) + if not user_id: + failed_records.append(f"第{idx+1}行: 用户'{item['name']}'不存在") + continue + + # 验证数据格式 + due_amount = float(item['due']) + actual_amount = float(item['actual']) + if due_amount < 0 or actual_amount < 0: + failed_records.append(f"第{idx+1}行: 金额不能为负数") + continue + + # 验证日期格式 + try: + datetime.strptime(item['date'], '%Y-%m-%d') + except ValueError: + failed_records.append(f"第{idx+1}行: 日期格式不正确,应为YYYY-MM-DD") + continue + + # 插入记录 + status = '已交齐' if actual_amount >= due_amount else '未交齐' + sql = """INSERT INTO dues (user_id, due_amount, actual_amount, + payment_type, payment_date, status) + VALUES (%s, %s, %s, 'monthly', %s, %s)""" + cursor.execute(sql, ( + user_id, + due_amount, + actual_amount, + item['date'], + status + )) + success_count += 1 + except Exception as e: + failed_records.append(f"第{idx+1}行: 处理失败 - {str(e)}") + + conn.commit() + result = { + 'status': 'success', + 'success_count': success_count, + 'failed_count': len(failed_records) + } + if failed_records: + result['failed_details'] = failed_records + + return jsonify(result) + finally: + conn.close() + +# 退出登录路由 +@app.route('/logout') +def logout(): + """ + 退出登录处理函数 + 清除session数据并重定向到登录页面 + """ + session.clear() + return redirect(url_for('login')) + +# 统计分析页面路由 +@app.route('/stats') +@login_required +def stats_page(): + if session['role'] != 'admin': + return jsonify({'status': 'error', 'message': '权限不足'}), 403 + return render_template('stats.html') + +# 数据导入/导出页面路由 +@app.route('/data_handle') +@login_required +def data_handle_page(): + if session['role'] != 'admin': + return jsonify({'status': 'error', 'message': '权限不足'}), 403 + return render_template('data_handle.html') + +# 获取单条党费记录的API +@app.route('/api/dues/', methods=['GET']) +@login_required +def get_due(due_id): + """ + 获取单条党费记录的API + 管理员可查看所有记录,普通用户只能查看自己的记录 + """ + conn = get_db() + try: + with conn.cursor(pymysql.cursors.DictCursor) as cursor: + if session['role'] == 'admin': + sql = """SELECT d.*, u.name, u.unit, u.gender + FROM dues d + JOIN users u ON d.user_id = u.id + WHERE d.id = %s""" + cursor.execute(sql, (due_id,)) + else: + sql = """SELECT d.*, u.name, u.unit, u.gender + FROM dues d + JOIN users u ON d.user_id = u.id + WHERE d.id = %s AND d.user_id = %s""" + cursor.execute(sql, (due_id, session['user_id'])) + + due = cursor.fetchone() + + if not due: + return jsonify({'status': 'error', 'message': '记录不存在'}), 404 + + # 转换 Decimal 类型为 float + for key, value in due.items(): + if isinstance(value, decimal.Decimal): + due[key] = float(value) + + return jsonify(due) + except Exception as e: + print(f"Error fetching due record: {e}") + return jsonify({'status': 'error', 'message': '获取记录失败'}), 500 + finally: + conn.close() + +# 主程序入口 +if __name__ == '__main__': + # 启动Flask应用,开启调试模式 + app.run(debug=True) diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/add.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/add.html new file mode 100644 index 0000000..dd2a9a6 --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/add.html @@ -0,0 +1,165 @@ + + + + + 新增党费记录 + + + + +
+
+

新增党费记录

+ + +
+ +
+ + +
+ + +
+ + +
+ + +
+ +
+
+ + +
+
+ + +
+
+
+ + +
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+
+
+
+ + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/admin_main.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/admin_main.html new file mode 100644 index 0000000..ca0474d --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/admin_main.html @@ -0,0 +1,264 @@ + + + + + + + 党费管理系统 - 管理后台 + + + + + + + + + + + + + + + +
+ +
+
+ + + +
+ + +
+ + +
+ + + + + + + + + + + + + + + + + + +
姓名ID性别单位应缴金额实缴金额缴费日期状态操作
+
+
+ + + + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/dashboard.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/dashboard.html new file mode 100644 index 0000000..a71ff7f --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/dashboard.html @@ -0,0 +1,174 @@ + + + + + + 党费管理系统 - 仪表板 + + + + + +
+
+ + + + +
+
+

仪表板

+ +
+ + +
+
+
+

总学生数

+

0

+
+
+
+
+

本月缴费

+

¥0

+
+
+
+
+

待缴费

+

¥0

+
+
+
+
+

已缴费

+

¥0

+
+
+
+ + +
+
+
最近活动
+
+
+
+ + + + + + + + + + + + +
时间学生活动金额
+
+
+
+
+
+
+ + + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/data_handle.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/data_handle.html new file mode 100644 index 0000000..8862ffd --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/data_handle.html @@ -0,0 +1,252 @@ + + + + + 数据导入导出 + + + + + +
+ +
+

数据导出

+ + +
+
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + + + + + + + + + + + + +
+ + 姓名缴费日期应缴金额实缴金额状态
+
+ + + +
+ + +
+

数据导入

+ + +
+ + 请选择CSV格式文件,字段顺序:姓名,缴费日期,应缴金额,实缴金额 +
+ + +
+ + + + + + + + + + + +
姓名缴费日期应缴金额实缴金额状态
+
+ + + +
+
+ + + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/login.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/login.html new file mode 100644 index 0000000..37023b5 --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/login.html @@ -0,0 +1,154 @@ + + + + + + + + + + + 党费管理系统 - 登录 + + + + + + + + + + +
+ +
+ + + + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/register.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/register.html new file mode 100644 index 0000000..e38a68f --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/register.html @@ -0,0 +1,183 @@ + + + + + + 用户注册 - 党费管理系统 + + + + +
+

用户注册

+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+
+ +
+
+ + +
+
+ + +
+
+
+
+
+ + +
+
+
+ + +
+
+
+ + +
+
+ + +
+ +
+ + +
+
+
+ + + + + + diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/revise.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/revise.html new file mode 100644 index 0000000..80cc6ab --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/revise.html @@ -0,0 +1,201 @@ + + + + + + + 修改党费记录 + + + + + + + + +
+ +
+

修改党费记录

+ + +
+ + + + +
+ + +
+ + +
+ + +
+ + +
+ +
+
+ + +
+
+ + +
+
+
+ + +
+ + +
+ + +
+
+ + +
+
+ + +
+
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+ + +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/stats.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/stats.html new file mode 100644 index 0000000..6f79cde --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/stats.html @@ -0,0 +1,259 @@ + + + + 统计分析 + + + + + + + + + + +
+ +
+
+
时间范围选择
+
+
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+ +
+ +
+
+
基础统计
+
+
+
+

总记录数:-

+

总金额:-

+

平均金额:-

+
+
+

已交齐人数:-

+

未交齐人数:-

+

缴纳率:-

+
+
+
+
+
+ + +
+
+
未缴纳人员统计
+
+ +
+
+
+
+
+ +
+ +
+
+
按单位统计
+
+
+ +
+
+
+
+ + +
+
+
按月统计
+
+
+ +
+
+
+
+
+
+ + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_detail.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_detail.html new file mode 100644 index 0000000..683d00d --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_detail.html @@ -0,0 +1,152 @@ + + + + 用户详情 + + + + + + + + + + +
+
+

用户详细信息

+ + 返回 + +
+ + +
+
+ 加载中... +
+

正在加载用户信息...

+
+ + +
+ +
+ + +
+ +
+
+ + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_main.html b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_main.html new file mode 100644 index 0000000..a319fd0 --- /dev/null +++ b/src/FortifyCode/backend/projects/110cb208-02b9-47ff-97d9-b2c0cc8fbb36/DF_Manage4.0/templates/user_main.html @@ -0,0 +1,161 @@ + + + + + + + 党员缴费平台 + + + + + + + + + + + +
+ +
+
+ + + + + + + + +
+
+ + +
+ + + + + + + + + + + + + +
缴费日期应缴金额实缴金额缴费类型状态
+
+
+ + + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/index.html b/src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/index.html new file mode 100644 index 0000000..9031a59 --- /dev/null +++ b/src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/index.html @@ -0,0 +1,630 @@ + + + + + + 军事代码合规性检查系统 - FortifyCode + + + + + + + + +
+ +
+ + + + +
+
+
+ +
+
+

1,247

+

已检查文件

+
+
+
+
+ +
+
+

98.5%

+

合规率

+
+
+
+
+ +
+
+

23

+

待修复问题

+
+
+
+
+ +
+
+

5

+

高危漏洞

+
+
+
+ + +
+ +
+
+

快捷代码检查

+
+ Python + C++ + Java +
+
+
+
+
+ +
+
拖拽文件到此处或点击上传
+
支持 .py, .pyx, .pyi 文件,最大 100MB
+ +
+ + + +
+ + +
+
+
+ + +
+
+

Agent 状态

+
+
+
+
A1
+
+
pylint Agent
+ 空闲 +
+
+
+
A2
+
+
flake8 Agent
+ 空闲 +
+
+
+
A3
+
+
bandit Agent
+ 空闲 +
+
+
+
+
+ + + +
+ + +
+ + +
+
+
+ + +
+ +
+ +
+ +
+
+
+ + +
+ + +
+
+
+

项目信息

+
+ + +
+
+
+ +
+
+ +
+
+

检查历史

+
+
+ +
+
+
+ + + +
+ + +
+ + +
+
+
+ + +
+
+ + +
+
+ + +
+
+ +
+
+
+

检查概览

+
+
+ 总检查次数 + 156 +
+
+ 发现问题 + 342 +
+
+ 已修复 + 298 +
+
+ 修复率 + 87.1% +
+
+
+
+ +
+ +
+
+
+
+ + +
+ + +
+
+
常规设置
+
Agent配置
+
检查规则
+
安全设置
+
+ +
+ +
+
+

基本配置

+
+ + +
+
+ + +
+
+ + +
+
+ +
+

通知设置

+
+ +
+
+ +
+
+
+ + +
+
+

Agent配置

+
+
+
+

pylint Agent

+ +
+
+
+ + +
+
+ + +
+
+
+ +
+
+

flake8 Agent

+ +
+
+
+ + +
+
+ + +
+
+
+ +
+
+

bandit Agent

+ +
+
+
+ + +
+
+ + +
+
+
+
+
+
+ + +
+
+

代码风格规则

+
+
+
+

行长度限制

+ +
+
+ + +
+
+ +
+
+

函数复杂度检查

+ +
+
+ + +
+
+ +
+
+

命名规范检查

+ +
+
+
+
+ +
+

安全规则

+
+
+
+

SQL注入检查

+ +
+
+ +
+
+

硬编码密码检查

+ +
+
+ +
+
+

敏感信息泄露检查

+ +
+
+
+
+
+ + +
+
+

访问控制

+
+ + +
+
+ +
+
+ +
+
+ +
+

数据安全

+
+ +
+
+ + +
+
+
+
+ +
+ + +
+
+
+
+ + + + + + + \ No newline at end of file diff --git a/src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/style.css b/src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/style.css new file mode 100644 index 0000000..57d525a --- /dev/null +++ b/src/FortifyCode/backend/projects/1b642693-1f48-4aca-a3e0-f21b749fcbb7/style.css @@ -0,0 +1,1173 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; + background-color: #f5f7fa; + color: #333; + line-height: 1.6; +} + +/* 顶部导航栏 */ +.navbar { + background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); + color: white; + padding: 0 20px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; +} + +.navbar-content { + display: flex; + align-items: center; + justify-content: space-between; + height: 60px; + max-width: 1200px; + margin: 0 auto; +} + +.logo { + display: flex; + align-items: center; + font-size: 20px; + font-weight: bold; +} + +.logo i { + margin-right: 10px; + color: #ffd700; +} + +.nav-menu { + display: flex; + list-style: none; + gap: 30px; +} + +.nav-menu a { + color: white; + text-decoration: none; + padding: 8px 16px; + border-radius: 4px; + transition: background-color 0.3s; +} + +.nav-menu a:hover { + background-color: rgba(255,255,255,0.1); +} + +.user-info { + display: flex; + align-items: center; + gap: 15px; +} + +.notification { + position: relative; + cursor: pointer; +} + +.notification-badge { + position: absolute; + top: -5px; + right: -5px; + background: #ff4757; + color: white; + border-radius: 50%; + width: 18px; + height: 18px; + font-size: 12px; + display: flex; + align-items: center; + justify-content: center; +} + +/* 主内容区域 */ +.main-content { + margin-top: 60px; + padding: 20px; + max-width: 1200px; + margin-left: auto; + margin-right: auto; +} + +/* 页面标题 */ +.page-header { + background: white; + padding: 30px; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + margin-bottom: 20px; +} + +.page-title { + font-size: 28px; + color: #1e3c72; + margin-bottom: 10px; +} + +.page-subtitle { + color: #666; + font-size: 16px; +} + +/* 统计卡片 */ +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 20px; + margin-bottom: 30px; +} + +.stat-card { + background: white; + padding: 25px; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + display: flex; + align-items: center; + transition: transform 0.3s, box-shadow 0.3s; +} + +.stat-card:hover { + transform: translateY(-2px); + box-shadow: 0 4px 15px rgba(0,0,0,0.15); +} + +.stat-icon { + width: 60px; + height: 60px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 20px; + font-size: 24px; + color: white; +} + +.stat-icon.primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } +.stat-icon.success { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); } +.stat-icon.warning { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); } +.stat-icon.danger { background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%); } + +.stat-content h3 { + font-size: 32px; + font-weight: bold; + margin-bottom: 5px; +} + +.stat-content p { + color: #666; + font-size: 14px; +} + +/* 功能区域 */ +.function-grid { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 20px; + margin-bottom: 30px; +} + +.main-panel { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.panel-header { + background: #f8f9fa; + padding: 20px; + border-bottom: 1px solid #e9ecef; + display: flex; + justify-content: space-between; + align-items: center; +} + +.panel-title { + font-size: 18px; + font-weight: 600; + color: #1e3c72; +} + +.panel-content { + padding: 20px; +} + +/* 代码上传区域 */ +.upload-area { + border: 2px dashed #ddd; + border-radius: 8px; + padding: 40px; + text-align: center; + transition: all 0.3s; + cursor: pointer; +} + +.upload-area:hover { + border-color: #1e3c72; + background-color: #f8f9ff; +} + +.upload-area.dragover { + border-color: #1e3c72; + background-color: #e8f0ff; +} + +.upload-icon { + font-size: 48px; + color: #1e3c72; + margin-bottom: 20px; +} + +.upload-text { + font-size: 16px; + color: #666; + margin-bottom: 10px; +} + +.upload-hint { + font-size: 14px; + color: #999; +} + +.file-input { + display: none; +} + +/* 多Agent状态面板 */ +.agent-status { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.agent-list { + padding: 20px; +} + +.agent-item { + display: flex; + align-items: center; + padding: 15px; + border-radius: 6px; + margin-bottom: 10px; + background: #f8f9fa; + transition: all 0.3s; +} + +.agent-item:hover { + background: #e9ecef; +} + +.agent-avatar { + width: 40px; + height: 40px; + border-radius: 50%; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + display: flex; + align-items: center; + justify-content: center; + color: white; + margin-right: 15px; + font-weight: bold; +} + +.agent-info { + flex: 1; +} + +.agent-name { + font-weight: 600; + margin-bottom: 5px; +} + +.agent-status-badge { + padding: 4px 8px; + border-radius: 12px; + font-size: 12px; + font-weight: 500; +} + +.status-idle { background: #e3f2fd; color: #1976d2; } +.status-working { background: #fff3e0; color: #f57c00; } +.status-completed { background: #e8f5e8; color: #388e3c; } +.status-error { background: #ffebee; color: #d32f2f; } + +/* 检查结果区域 */ +.results-section { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + margin-bottom: 30px; +} + +.results-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + border-bottom: 1px solid #e9ecef; +} + +.results-title { + font-size: 18px; + font-weight: 600; + color: #1e3c72; +} + +.filter-tabs { + display: flex; + gap: 10px; +} + +.filter-tab { + padding: 8px 16px; + border: 1px solid #ddd; + border-radius: 20px; + background: white; + color: #666; + cursor: pointer; + transition: all 0.3s; +} + +.filter-tab.active { + background: #1e3c72; + color: white; + border-color: #1e3c72; +} + +.results-content { + padding: 20px; +} + +.result-item { + display: flex; + align-items: center; + padding: 15px; + border: 1px solid #e9ecef; + border-radius: 6px; + margin-bottom: 10px; + transition: all 0.3s; +} + +.result-item:hover { + box-shadow: 0 2px 8px rgba(0,0,0,0.1); +} + +.result-icon { + width: 40px; + height: 40px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 15px; + font-size: 18px; +} + +.result-icon.error { background: #ffebee; color: #d32f2f; } +.result-icon.warning { background: #fff3e0; color: #f57c00; } +.result-icon.info { background: #e3f2fd; color: #1976d2; } + +.result-content { + flex: 1; +} + +.result-title { + font-weight: 600; + margin-bottom: 5px; +} + +.result-description { + color: #666; + font-size: 14px; +} + +.result-location { + color: #999; + font-size: 12px; + margin-top: 5px; +} + +.result-actions { + display: flex; + gap: 10px; +} + +.btn { + padding: 8px 16px; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 14px; + transition: all 0.3s; +} + +.btn-primary { + background: #1e3c72; + color: white; +} + +.btn-primary:hover { + background: #2a5298; +} + +.btn-secondary { + background: #6c757d; + color: white; +} + +.btn-secondary:hover { + background: #5a6268; +} + +/* 进度条 */ +.progress-container { + margin: 20px 0; +} + +.progress-bar { + width: 100%; + height: 8px; + background: #e9ecef; + border-radius: 4px; + overflow: hidden; +} + +.progress-fill { + height: 100%; + background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%); + transition: width 0.3s; +} + +.progress-text { + text-align: center; + margin-top: 10px; + color: #666; + font-size: 14px; +} + +/* 响应式设计 */ +@media (max-width: 768px) { + .function-grid { + grid-template-columns: 1fr; + } + + .stats-grid { + grid-template-columns: 1fr; + } + + .nav-menu { + display: none; + } +} + +/* 动画效果 */ +@keyframes fadeIn { + from { opacity: 0; transform: translateY(20px); } + to { opacity: 1; transform: translateY(0); } +} + +.fade-in { + animation: fadeIn 0.6s ease-out; +} + +/* 加载动画 */ +.loading { + display: inline-block; + width: 20px; + height: 20px; + border: 3px solid #f3f3f3; + border-top: 3px solid #1e3c72; + border-radius: 50%; + animation: spin 1s linear infinite; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* 页面内容区域 */ +.page-content { + display: none; +} + +.page-content.active { + display: block; +} + +/* 导航链接激活状态 */ +.nav-link.active { + background-color: rgba(255,255,255,0.2); +} + +/* 项目管理页面样式 */ +.projects-container { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.projects-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; +} + +.projects-actions { + display: flex; + gap: 10px; +} + +.projects-search { + position: relative; + display: flex; + align-items: center; +} + +.search-input { + padding: 8px 35px 8px 12px; + border: 1px solid #ddd; + border-radius: 20px; + width: 250px; + font-size: 14px; +} + +.search-input:focus { + outline: none; + border-color: #1e3c72; +} + +.projects-search i { + position: absolute; + right: 12px; + color: #666; +} + +.projects-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 20px; + padding: 20px; +} + +.project-card { + background: white; + border: 1px solid #e9ecef; + border-radius: 8px; + padding: 20px; + transition: all 0.3s; + cursor: pointer; +} + +.project-card:hover { + box-shadow: 0 4px 15px rgba(0,0,0,0.1); + transform: translateY(-2px); +} + +.project-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 15px; +} + +.project-title { + font-size: 18px; + font-weight: 600; + color: #1e3c72; + margin-bottom: 5px; +} + +.project-status { + padding: 4px 8px; + border-radius: 12px; + font-size: 12px; + font-weight: 500; +} + +.status-active { background: #e8f5e8; color: #388e3c; } +.status-pending { background: #fff3e0; color: #f57c00; } +.status-completed { background: #e3f2fd; color: #1976d2; } + +.project-description { + color: #666; + font-size: 14px; + margin-bottom: 15px; + line-height: 1.5; +} + +.project-stats { + display: flex; + justify-content: space-between; + margin-bottom: 15px; +} + +.project-stat { + text-align: center; +} + +.project-stat-value { + font-size: 18px; + font-weight: bold; + color: #1e3c72; +} + +.project-stat-label { + font-size: 12px; + color: #666; +} + +.project-actions { + display: flex; + gap: 8px; +} + +.project-actions .btn { + flex: 1; + padding: 6px 12px; + font-size: 12px; +} + +/* 项目详情页面样式 */ +.project-detail-container { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; + margin-bottom: 20px; +} + +.project-info-panel, +.check-history-panel, +.check-results-panel { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.check-results-panel { + grid-column: 1 / -1; +} + +/* 检查报告页面样式 */ +.reports-container { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.reports-filters { + display: flex; + gap: 20px; + padding: 20px; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; +} + +.filter-group { + display: flex; + align-items: center; + gap: 8px; +} + +.filter-group label { + font-weight: 500; + color: #333; +} + +.filter-select { + padding: 6px 12px; + border: 1px solid #ddd; + border-radius: 4px; + background: white; + font-size: 14px; +} + +.reports-content { + padding: 20px; +} + +.reports-summary { + margin-bottom: 30px; +} + +.summary-card { + background: #f8f9fa; + border-radius: 8px; + padding: 20px; +} + +.summary-card h3 { + margin-bottom: 15px; + color: #1e3c72; +} + +.summary-stats { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); + gap: 20px; +} + +.summary-item { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; +} + +.summary-label { + font-size: 14px; + color: #666; + margin-bottom: 5px; +} + +.summary-value { + font-size: 24px; + font-weight: bold; + color: #1e3c72; +} + +.reports-list { + display: flex; + flex-direction: column; + gap: 15px; +} + +.report-item { + display: flex; + align-items: center; + padding: 15px; + border: 1px solid #e9ecef; + border-radius: 6px; + transition: all 0.3s; +} + +.report-item:hover { + box-shadow: 0 2px 8px rgba(0,0,0,0.1); +} + +.report-icon { + width: 40px; + height: 40px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 15px; + font-size: 18px; +} + +.report-icon.success { background: #e8f5e8; color: #388e3c; } +.report-icon.warning { background: #fff3e0; color: #f57c00; } +.report-icon.error { background: #ffebee; color: #d32f2f; } + +.report-content { + flex: 1; +} + +.report-title { + font-weight: 600; + margin-bottom: 5px; +} + +.report-meta { + color: #666; + font-size: 14px; +} + +.report-actions { + display: flex; + gap: 8px; +} + +/* 系统设置页面样式 */ +.settings-container { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.settings-tabs { + display: flex; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; +} + +.settings-tab { + padding: 15px 20px; + cursor: pointer; + border-bottom: 3px solid transparent; + transition: all 0.3s; + font-weight: 500; +} + +.settings-tab:hover { + background: #e9ecef; +} + +.settings-tab.active { + border-bottom-color: #1e3c72; + color: #1e3c72; + background: white; +} + +.settings-content { + padding: 20px; +} + +.settings-panel { + display: none; +} + +.settings-panel.active { + display: block; +} + +.settings-section { + margin-bottom: 30px; +} + +.settings-section h3 { + margin-bottom: 15px; + color: #1e3c72; + border-bottom: 2px solid #e9ecef; + padding-bottom: 8px; +} + +.setting-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 12px 0; + border-bottom: 1px solid #f0f0f0; +} + +.setting-item:last-child { + border-bottom: none; +} + +.setting-item label { + font-weight: 500; + color: #333; +} + +.setting-input, .setting-select { + padding: 8px 12px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 14px; + width: 200px; +} + +.setting-input:focus, .setting-select:focus { + outline: none; + border-color: #1e3c72; +} + +/* Agent配置样式 */ +.agent-config-list { + display: flex; + flex-direction: column; + gap: 20px; +} + +.agent-config-item { + border: 1px solid #e9ecef; + border-radius: 8px; + padding: 20px; + background: #f8f9fa; +} + +.agent-config-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; +} + +.agent-config-header h4 { + color: #1e3c72; + margin: 0; +} + +.agent-config-details { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 15px; +} + +/* 开关样式 */ +.switch { + position: relative; + display: inline-block; + width: 50px; + height: 24px; +} + +.switch input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + transition: .4s; + border-radius: 24px; +} + +.slider:before { + position: absolute; + content: ""; + height: 18px; + width: 18px; + left: 3px; + bottom: 3px; + background-color: white; + transition: .4s; + border-radius: 50%; +} + +input:checked + .slider { + background-color: #1e3c72; +} + +input:checked + .slider:before { + transform: translateX(26px); +} + +/* 规则配置样式 */ +.rules-list { + display: flex; + flex-direction: column; + gap: 15px; +} + +.rule-item { + border: 1px solid #e9ecef; + border-radius: 6px; + padding: 15px; + background: #f8f9fa; +} + +.rule-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; +} + +.rule-header h4 { + margin: 0; + color: #333; +} + +.rule-details { + display: flex; + align-items: center; + gap: 10px; +} + +.rule-details label { + font-size: 14px; + color: #666; +} + +/* 设置操作按钮 */ +.settings-actions { + display: flex; + justify-content: flex-end; + gap: 10px; + padding: 20px; + border-top: 1px solid #e9ecef; + background: #f8f9fa; +} + +/* 模态框样式 */ +.modal { + display: none; + position: fixed; + z-index: 2000; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.5); +} + +.modal-content { + background-color: white; + margin: 5% auto; + padding: 0; + border-radius: 8px; + width: 90%; + max-width: 600px; + box-shadow: 0 4px 20px rgba(0,0,0,0.3); +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; + border-radius: 8px 8px 0 0; +} + +.modal-header h2 { + margin: 0; + color: #1e3c72; +} + +.close { + color: #aaa; + font-size: 28px; + font-weight: bold; + cursor: pointer; +} + +.close:hover { + color: #000; +} + +.modal-body { + padding: 20px; +} + +.modal-footer { + display: flex; + justify-content: flex-end; + gap: 10px; + padding: 20px; + border-top: 1px solid #e9ecef; + background: #f8f9fa; + border-radius: 0 0 8px 8px; +} + +/* 表单样式 */ +.form-group { + margin-bottom: 20px; +} + +.form-group label { + display: block; + margin-bottom: 8px; + font-weight: 500; + color: #333; +} + +.form-group input, +.form-group textarea, +.form-group select { + width: 100%; + padding: 10px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 14px; + box-sizing: border-box; +} + +.form-group input:focus, +.form-group textarea:focus, +.form-group select:focus { + outline: none; + border-color: #1e3c72; +} + +.source-type-tabs { + display: flex; + gap: 20px; + margin-top: 10px; +} + +.source-type-tabs input[type="radio"] { + width: auto; + margin-right: 8px; +} + +.source-type-tabs label { + display: flex; + align-items: center; + cursor: pointer; + font-weight: normal; +} + +/* 响应式设计更新 */ +@media (max-width: 768px) { + .project-detail-container { + grid-template-columns: 1fr; + } + + .projects-header { + flex-direction: column; + gap: 15px; + align-items: stretch; + } + + .projects-actions { + justify-content: center; + } + + .projects-search { + justify-content: center; + } + + .search-input { + width: 100%; + } + + .reports-filters { + flex-direction: column; + gap: 15px; + } + + .filter-group { + flex-direction: column; + align-items: flex-start; + } + + .settings-tabs { + flex-wrap: wrap; + } + + .setting-item { + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + + .setting-input, .setting-select { + width: 100%; + } + + .modal-content { + width: 95%; + margin: 10% auto; + } +} diff --git a/src/FortifyCode/backend/reports/check_073620ac-c46d-4527-ab12-4d8767e07b01_20251009_150416.json b/src/FortifyCode/backend/reports/check_073620ac-c46d-4527-ab12-4d8767e07b01_20251009_150416.json new file mode 100644 index 0000000..da857a9 --- /dev/null +++ b/src/FortifyCode/backend/reports/check_073620ac-c46d-4527-ab12-4d8767e07b01_20251009_150416.json @@ -0,0 +1,12400 @@ +{ + "total_issues": 1376, + "error_count": 59, + "warning_count": 1317, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 27, + "column": 0, + "type": "warning", + "message": "Line too long (133/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 209, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 225, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 229, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 234, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 239, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 248, + "column": 0, + "type": "warning", + "message": "Line too long (117/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 262, + "column": 0, + "type": "warning", + "message": "Line too long (163/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 263, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 279, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 283, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 289, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 295, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 312, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 325, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 342, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 348, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 361, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 364, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 366, + "column": 0, + "type": "warning", + "message": "Line too long (101/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 371, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 374, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 386, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 390, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 401, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 406, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 410, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 417, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 420, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 422, + "column": 63, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 424, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 434, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 447, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 454, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 458, + "column": 0, + "type": "warning", + "message": "Line too long (109/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 459, + "column": 0, + "type": "warning", + "message": "Line too long (111/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 462, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 470, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 484, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 497, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 512, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 516, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 529, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 536, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 544, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 554, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 563, + "column": 30, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 567, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 570, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 579, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 585, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 594, + "column": 31, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 598, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 601, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 608, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 623, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 627, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 634, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 638, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 647, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 676, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 694, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 698, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 705, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 709, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 718, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 720, + "column": 0, + "type": "warning", + "message": "Line too long (104/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 729, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 737, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 760, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 764, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 769, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 786, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 800, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 804, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 810, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 819, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 824, + "column": 0, + "type": "warning", + "message": "Line too long (106/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 825, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 842, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 845, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 852, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 855, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 870, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 874, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 879, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 883, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 887, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 899, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 903, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 914, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 918, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 919, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 935, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 939, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 948, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 952, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 956, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 958, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 961, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 964, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 968, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 972, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 975, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 978, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 984, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1003, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1006, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1009, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1013, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1020, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1027, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1047, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1059, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1073, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1083, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1092, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1096, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1108, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1129, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1141, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1163, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1190, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1215, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1219, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1225, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1233, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1235, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1247, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1251, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1255, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1258, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1265, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1272, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1275, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1278, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1283, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1292, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1294, + "column": 0, + "type": "warning", + "message": "Line too long (120/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1297, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1298, + "column": 0, + "type": "warning", + "message": "Line too long (102/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1301, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1304, + "column": 0, + "type": "warning", + "message": "Line too long (122/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1308, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1311, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1312, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1313, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1319, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1320, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1323, + "column": 0, + "type": "warning", + "message": "Line too long (143/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1328, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1332, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1341, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1343, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1346, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1350, + "column": 0, + "type": "warning", + "message": "Line too long (124/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1354, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1358, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1367, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1372, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1375, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1379, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1380, + "column": 0, + "type": "warning", + "message": "Line too long (106/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1381, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1382, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1383, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1391, + "column": 0, + "type": "warning", + "message": "Line too long (115/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1393, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1402, + "column": 0, + "type": "warning", + "message": "Line too long (106/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1406, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1410, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1412, + "column": 0, + "type": "warning", + "message": "Line too long (134/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1419, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1424, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1430, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1434, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1443, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1446, + "column": 0, + "type": "warning", + "message": "Line too long (119/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1450, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1461, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1466, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1470, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1479, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1484, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1486, + "column": 0, + "type": "warning", + "message": "Line too long (101/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1488, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1492, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1495, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1498, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1502, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1510, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1516, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1520, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1524, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1531, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1536, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1538, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1556, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1559, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1562, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1571, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1574, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1578, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1585, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1590, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1591, + "column": 0, + "type": "warning", + "message": "Line too long (109/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1592, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1595, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1621, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1632, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1641, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1654, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1658, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1666, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1672, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1676, + "column": 0, + "type": "warning", + "message": "Line too long (113/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1677, + "column": 0, + "type": "warning", + "message": "Line too long (120/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1678, + "column": 0, + "type": "warning", + "message": "Line too long (126/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1679, + "column": 0, + "type": "warning", + "message": "Line too long (123/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1688, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1703, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1709, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1712, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1715, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1724, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1727, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1731, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1738, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1743, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1745, + "column": 0, + "type": "warning", + "message": "Line too long (102/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1746, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1750, + "column": 0, + "type": "warning", + "message": "Line too long (233/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1753, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1756, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1761, + "column": 0, + "type": "warning", + "message": "Line too long (104/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1766, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1768, + "column": 0, + "type": "warning", + "message": "Line too long (119/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1769, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1775, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1782, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1805, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1808, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1811, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1814, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1817, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1820, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1823, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1832, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1842, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1848, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1853, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1857, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1863, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1871, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1874, + "column": 0, + "type": "warning", + "message": "Line too long (155/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1875, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1881, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1889, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1903, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1906, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1910, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1913, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1917, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1921, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1926, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1937, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1942, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1949, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1959, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1965, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1968, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1976, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1980, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1984, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1995, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2001, + "column": 0, + "type": "warning", + "message": "Line too long (101/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2002, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2007, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2011, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2023, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2025, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2032, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2042, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2046, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2050, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2054, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2059, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2064, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2069, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2074, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2088, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2097, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2099, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2109, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2113, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2120, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2123, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2130, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2135, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2138, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2146, + "column": 42, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2149, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2152, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2160, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2168, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2171, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2175, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2183, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2188, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2196, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2205, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2212, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2223, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2233, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2238, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2249, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2251, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2263, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2266, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2268, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2277, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2289, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2298, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2302, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2307, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2316, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2324, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2326, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2335, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2350, + "column": 0, + "type": "warning", + "message": "Final newline missing", + "rule": "C0304", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Too many lines in module (2350/1000)", + "rule": "C0302", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 53, + "column": 10, + "type": "warning", + "message": "Using an f-string that does not have any interpolated variables", + "rule": "W1309", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 65, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 76, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 76, + "column": 0, + "type": "warning", + "message": "Too few public methods (0/2)", + "rule": "R0903", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 83, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 83, + "column": 0, + "type": "warning", + "message": "Too few public methods (0/2)", + "rule": "R0903", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 97, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 97, + "column": 0, + "type": "warning", + "message": "Too few public methods (0/2)", + "rule": "R0903", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 109, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 109, + "column": 0, + "type": "warning", + "message": "Too few public methods (0/2)", + "rule": "R0903", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 124, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 124, + "column": 0, + "type": "warning", + "message": "Too few public methods (0/2)", + "rule": "R0903", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 185, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 194, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 188, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'execute' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 204, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 209, + "column": 12, + "type": "warning", + "message": "Redefining name 'employees' from outer scope (line 204)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 206, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 255, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 252, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 253, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 256, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 204, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 261, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 261, + "column": 20, + "type": "warning", + "message": "Redefining built-in 'id'", + "rule": "W0622", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 265, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 309, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 307, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 310, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 315, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'delete' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 316, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 261, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 349, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 340, + "column": 16, + "type": "error", + "message": "Instance of 'scoped_session' has no 'delete' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 343, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 350, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 355, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 355, + "column": 0, + "type": "warning", + "message": "Too many local variables (18/15)", + "rule": "R0914", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 472, + "column": 8, + "type": "warning", + "message": "Redefining name 'attendance' from outer scope (line 355)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 357, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 400, + "column": 12, + "type": "warning", + "message": "Import outside toplevel (datetime.time)", + "rule": "C0415", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 413, + "column": 16, + "type": "warning", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 426, + "column": 12, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 392, + "column": 8, + "type": "warning", + "message": "Too many return statements (7/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 482, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 483, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 355, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 355, + "column": 0, + "type": "warning", + "message": "Too many statements (53/50)", + "rule": "R0915", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 495, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 495, + "column": 22, + "type": "warning", + "message": "Redefining built-in 'id'", + "rule": "W0622", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 496, + "column": 4, + "type": "warning", + "message": "Redefining name 'attendance' from outer scope (line 355)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 498, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 552, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 557, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'delete' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 558, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 495, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 575, + "column": 12, + "type": "warning", + "message": "Redefining name 'attendance' from outer scope (line 355)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 586, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 577, + "column": 16, + "type": "error", + "message": "Instance of 'scoped_session' has no 'delete' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 580, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 587, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 649, + "column": 12, + "type": "warning", + "message": "Redefining name 'performance' from outer scope (line 592)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 594, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 668, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 662, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 663, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 669, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 674, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 674, + "column": 23, + "type": "warning", + "message": "Redefining built-in 'id'", + "rule": "W0622", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 675, + "column": 4, + "type": "warning", + "message": "Redefining name 'performance' from outer scope (line 592)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 677, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 734, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 730, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 735, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 744, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 741, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'delete' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 742, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 745, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 674, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 750, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 753, + "column": 8, + "type": "warning", + "message": "Redefining name 'departments' from outer scope (line 750)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 752, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 778, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 775, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 776, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 779, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 750, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 784, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 784, + "column": 22, + "type": "warning", + "message": "Redefining built-in 'id'", + "rule": "W0622", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 787, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 816, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 814, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 817, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 830, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 827, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'delete' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 828, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 831, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 784, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 784, + "column": 0, + "type": "warning", + "message": "Too many return statements (7/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 836, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 854, + "column": 8, + "type": "warning", + "message": "Redefining name 'leave_requests' from outer scope (line 836)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 838, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 906, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 900, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 901, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 907, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 836, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 912, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 912, + "column": 25, + "type": "warning", + "message": "Redefining built-in 'id'", + "rule": "W0622", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 915, + "column": 4, + "type": "warning", + "message": "Unnecessary \"elif\" after \"return\", remove the leading \"el\" from \"elif\"", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 981, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 945, + "column": 16, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 976, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 982, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 991, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 988, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'delete' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 989, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 992, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 912, + "column": 0, + "type": "warning", + "message": "Either all return statements in a function should return an expression, or none of them should.", + "rule": "R1710", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 912, + "column": 0, + "type": "warning", + "message": "Too many return statements (9/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1028, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1021, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1029, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1080, + "column": 4, + "type": "warning", + "message": "Redefining name 'datetime' from outer scope (line 4)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1080, + "column": 4, + "type": "warning", + "message": "Reimport 'datetime' (imported line 4)", + "rule": "W0404", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1080, + "column": 4, + "type": "warning", + "message": "Import outside toplevel (datetime.datetime)", + "rule": "C0415", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1101, + "column": 0, + "type": "warning", + "message": "Too many local variables (21/15)", + "rule": "R0914", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1111, + "column": 12, + "type": "warning", + "message": "Redefining name 'employees' from outer scope (line 204)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1131, + "column": 12, + "type": "warning", + "message": "Redefining name 'departments' from outer scope (line 750)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1193, + "column": 12, + "type": "warning", + "message": "Redefining name 'leave_requests' from outer scope (line 836)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1236, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1231, + "column": 26, + "type": "error", + "message": "Possibly using variable 'filename' before assignment", + "rule": "E0606", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1101, + "column": 0, + "type": "warning", + "message": "Too many branches (13/12)", + "rule": "R0912", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1240, + "column": 0, + "type": "warning", + "message": "Too many local variables (46/15)", + "rule": "R0914", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1286, + "column": 16, + "type": "warning", + "message": "Redefining name 'index' from outer scope (line 139)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1395, + "column": 20, + "type": "warning", + "message": "Redefining name 'attendance' from outer scope (line 355)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1452, + "column": 20, + "type": "warning", + "message": "Redefining name 'performance' from outer scope (line 592)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1539, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1276, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1329, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1326, + "column": 20, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1355, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1352, + "column": 20, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1407, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1404, + "column": 20, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1467, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1464, + "column": 20, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1517, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1514, + "column": 20, + "type": "error", + "message": "Instance of 'scoped_session' has no 'add' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1242, + "column": 4, + "type": "warning", + "message": "Too many nested blocks (6/5)", + "rule": "R1702", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1523, + "column": 12, + "type": "error", + "message": "Instance of 'scoped_session' has no 'commit' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1540, + "column": 8, + "type": "error", + "message": "Instance of 'scoped_session' has no 'rollback' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1240, + "column": 0, + "type": "warning", + "message": "Too many return statements (8/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1240, + "column": 0, + "type": "warning", + "message": "Too many branches (59/12)", + "rule": "R0912", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1240, + "column": 0, + "type": "warning", + "message": "Too many statements (156/50)", + "rule": "R0915", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1545, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1610, + "column": 12, + "type": "warning", + "message": "Redefining name 'departments' from outer scope (line 750)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1556, + "column": 12, + "type": "warning", + "message": "Redefining name 'employees' from outer scope (line 204)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1617, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1550, + "column": 4, + "type": "warning", + "message": "Unused variable 'month_ago'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1629, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1634, + "column": 23, + "type": "error", + "message": "Instance of 'scoped_session' has no 'query' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1698, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1709, + "column": 12, + "type": "warning", + "message": "Redefining name 'employees' from outer scope (line 204)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1783, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1759, + "column": 32, + "type": "error", + "message": "Instance of 'scoped_session' has no 'query' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1763, + "column": 32, + "type": "error", + "message": "Instance of 'scoped_session' has no 'query' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1833, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1803, + "column": 8, + "type": "warning", + "message": "Unused variable 'last_month'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1804, + "column": 8, + "type": "warning", + "message": "Unused variable 'last_quarter'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1890, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1950, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 1954, + "column": 0, + "type": "warning", + "message": "Too many local variables (18/15)", + "rule": "R0914", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2033, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2040, + "column": 8, + "type": "warning", + "message": "Redefining name 'departments' from outer scope (line 750)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2100, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2110, + "column": 4, + "type": "warning", + "message": "Redefining name 'employees' from outer scope (line 204)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2143, + "column": 19, + "type": "error", + "message": "Instance of 'scoped_session' has no 'query' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2161, + "column": 25, + "type": "error", + "message": "Instance of 'scoped_session' has no 'query' member", + "rule": "E1101", + "severity": "high" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2189, + "column": 8, + "type": "warning", + "message": "Redefining name 'employees' from outer scope (line 204)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2252, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2259, + "column": 8, + "type": "warning", + "message": "Redefining name 'employees' from outer scope (line 204)", + "rule": "W0621", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 2317, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 4, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"flask_sqlalchemy.SQLAlchemy\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 6, + "column": 0, + "type": "warning", + "message": "standard import \"io\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"flask_sqlalchemy.SQLAlchemy\", \"pandas\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 7, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"flask_sqlalchemy.SQLAlchemy\", \"pandas\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 8, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"flask_sqlalchemy.SQLAlchemy\", \"pandas\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 9, + "column": 0, + "type": "warning", + "message": "standard import \"sys\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"flask_sqlalchemy.SQLAlchemy\", \"pandas\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 7, + "column": 0, + "type": "warning", + "message": "Unused import json", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 7, + "type": "warning", + "message": "1: F401 'json' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 27, + "type": "warning", + "message": "80: E501 line too long (133 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 34, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 42, + "type": "warning", + "message": "32: E261 at least two spaces before inline comment", + "rule": "32:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 42, + "type": "warning", + "message": "33: E262 inline comment should start with '# '", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 44, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 53, + "type": "warning", + "message": "11: F541 f-string is missing placeholders", + "rule": "11:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 56, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 61, + "type": "warning", + "message": "61: E261 at least two spaces before inline comment", + "rule": "61:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 61, + "type": "warning", + "message": "62: E262 inline comment should start with '# '", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 62, + "type": "warning", + "message": "30: E261 at least two spaces before inline comment", + "rule": "30:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 62, + "type": "warning", + "message": "31: E262 inline comment should start with '# '", + "rule": "31:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 76, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 83, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 84, + "type": "warning", + "message": "49: E261 at least two spaces before inline comment", + "rule": "49:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 84, + "type": "warning", + "message": "50: E262 inline comment should start with '# '", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 84, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 85, + "type": "warning", + "message": "72: E261 at least two spaces before inline comment", + "rule": "72:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 85, + "type": "warning", + "message": "73: E262 inline comment should start with '# '", + "rule": "73:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 85, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 90, + "type": "warning", + "message": "74: E261 at least two spaces before inline comment", + "rule": "74:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 90, + "type": "warning", + "message": "75: E262 inline comment should start with '# '", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 90, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 97, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 99, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 104, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 109, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 111, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 126, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 127, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 128, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 129, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 132, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 138, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 141, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 145, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 148, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 152, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 155, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 161, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 167, + "type": "warning", + "message": "80: E501 line too long (98 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 170, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 173, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 177, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 180, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 184, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 203, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 206, + "type": "warning", + "message": "32: E261 at least two spaces before inline comment", + "rule": "32:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 206, + "type": "warning", + "message": "33: E262 inline comment should start with '# '", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 207, + "type": "warning", + "message": "58: E261 at least two spaces before inline comment", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 207, + "type": "warning", + "message": "59: E262 inline comment should start with '# '", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 208, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 208, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "84: E261 at least two spaces before inline comment", + "rule": "84:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "85: E262 inline comment should start with '# '", + "rule": "85:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 210, + "type": "warning", + "message": "14: E261 at least two spaces before inline comment", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 210, + "type": "warning", + "message": "15: E262 inline comment should start with '# '", + "rule": "15:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 212, + "type": "warning", + "message": "9: E265 block comment should start with '# '", + "rule": "9:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 213, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 213, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 224, + "type": "warning", + "message": "33: E261 at least two spaces before inline comment", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 224, + "type": "warning", + "message": "34: E262 inline comment should start with '# '", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 225, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 227, + "type": "warning", + "message": "35: E261 at least two spaces before inline comment", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 227, + "type": "warning", + "message": "36: E262 inline comment should start with '# '", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 228, + "type": "warning", + "message": "28: E261 at least two spaces before inline comment", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 228, + "type": "warning", + "message": "29: E262 inline comment should start with '# '", + "rule": "29:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 229, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "80: E501 line too long (96 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 234, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 239, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 243, + "type": "warning", + "message": "35: E261 at least two spaces before inline comment", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 243, + "type": "warning", + "message": "36: E262 inline comment should start with '# '", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 245, + "type": "warning", + "message": "41: E261 at least two spaces before inline comment", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 245, + "type": "warning", + "message": "42: E262 inline comment should start with '# '", + "rule": "42:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 245, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 248, + "type": "warning", + "message": "80: E501 line too long (117 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 250, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 250, + "type": "warning", + "message": "53: E262 inline comment should start with '# '", + "rule": "53:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 250, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 252, + "type": "warning", + "message": "37: E261 at least two spaces before inline comment", + "rule": "37:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 252, + "type": "warning", + "message": "38: E262 inline comment should start with '# '", + "rule": "38:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 253, + "type": "warning", + "message": "32: E261 at least two spaces before inline comment", + "rule": "32:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 253, + "type": "warning", + "message": "33: E262 inline comment should start with '# '", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 254, + "type": "warning", + "message": "74: E261 at least two spaces before inline comment", + "rule": "74:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 254, + "type": "warning", + "message": "75: E262 inline comment should start with '# '", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 254, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 260, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 262, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 262, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 262, + "type": "warning", + "message": "80: E501 line too long (163 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 263, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 274, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 275, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 279, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 283, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 285, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 286, + "type": "warning", + "message": "80: E501 line too long (100 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 288, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 289, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 292, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 295, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 297, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 302, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 304, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 312, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 325, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 342, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 348, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 354, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 361, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 363, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 364, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 366, + "type": "warning", + "message": "80: E501 line too long (101 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 371, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 373, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 374, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 386, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 390, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 392, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 401, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 406, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 410, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 417, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 420, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 422, + "type": "warning", + "message": "64: W291 trailing whitespace", + "rule": "64:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 423, + "type": "warning", + "message": "29: E128 continuation line under-indented for visual indent", + "rule": "29:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 424, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 434, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 447, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 454, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 458, + "type": "warning", + "message": "80: E501 line too long (109 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 459, + "type": "warning", + "message": "80: E501 line too long (111 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 462, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 465, + "type": "warning", + "message": "80: E501 line too long (96 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 470, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 484, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 494, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 497, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 498, + "type": "warning", + "message": "32: E261 at least two spaces before inline comment", + "rule": "32:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 498, + "type": "warning", + "message": "33: E262 inline comment should start with '# '", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 506, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 507, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 512, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 516, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 529, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 536, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 544, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 554, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 562, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 563, + "type": "warning", + "message": "31: W291 trailing whitespace", + "rule": "31:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "24: E261 at least two spaces before inline comment", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "25: E262 inline comment should start with '# '", + "rule": "25:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 566, + "type": "warning", + "message": "41: E261 at least two spaces before inline comment", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 566, + "type": "warning", + "message": "42: E262 inline comment should start with '# '", + "rule": "42:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 567, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 568, + "type": "warning", + "message": "27: E261 at least two spaces before inline comment", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 568, + "type": "warning", + "message": "28: E262 inline comment should start with '# '", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "54: E261 at least two spaces before inline comment", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "55: E262 inline comment should start with '# '", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 570, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 573, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 573, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 574, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 574, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 575, + "type": "warning", + "message": "61: E261 at least two spaces before inline comment", + "rule": "61:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 575, + "type": "warning", + "message": "62: E262 inline comment should start with '# '", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 576, + "type": "warning", + "message": "27: E261 at least two spaces before inline comment", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 576, + "type": "warning", + "message": "28: E262 inline comment should start with '# '", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "35: E261 at least two spaces before inline comment", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "36: E262 inline comment should start with '# '", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 579, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 580, + "type": "warning", + "message": "28: E261 at least two spaces before inline comment", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 580, + "type": "warning", + "message": "29: E262 inline comment should start with '# '", + "rule": "29:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 582, + "type": "warning", + "message": "54: E261 at least two spaces before inline comment", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 582, + "type": "warning", + "message": "55: E262 inline comment should start with '# '", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 583, + "type": "warning", + "message": "43: E261 at least two spaces before inline comment", + "rule": "43:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 583, + "type": "warning", + "message": "44: E262 inline comment should start with '# '", + "rule": "44:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 585, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 587, + "type": "warning", + "message": "30: E261 at least two spaces before inline comment", + "rule": "30:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 587, + "type": "warning", + "message": "31: E262 inline comment should start with '# '", + "rule": "31:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 588, + "type": "warning", + "message": "58: E261 at least two spaces before inline comment", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 588, + "type": "warning", + "message": "59: E262 inline comment should start with '# '", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 591, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 594, + "type": "warning", + "message": "32: W291 trailing whitespace", + "rule": "32:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "54: E261 at least two spaces before inline comment", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "55: E262 inline comment should start with '# '", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "44: E261 at least two spaces before inline comment", + "rule": "44:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "45: E262 inline comment should start with '# '", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 597, + "type": "warning", + "message": "58: E261 at least two spaces before inline comment", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 597, + "type": "warning", + "message": "59: E262 inline comment should start with '# '", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 598, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 600, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 601, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 602, + "type": "warning", + "message": "24: E261 at least two spaces before inline comment", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 602, + "type": "warning", + "message": "25: E262 inline comment should start with '# '", + "rule": "25:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 604, + "type": "warning", + "message": "19: E261 at least two spaces before inline comment", + "rule": "19:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 604, + "type": "warning", + "message": "20: E262 inline comment should start with '# '", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 606, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 606, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 608, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 609, + "type": "warning", + "message": "35: E261 at least two spaces before inline comment", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 609, + "type": "warning", + "message": "36: E262 inline comment should start with '# '", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 610, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 610, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 611, + "type": "warning", + "message": "27: E261 at least two spaces before inline comment", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 611, + "type": "warning", + "message": "28: E262 inline comment should start with '# '", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 612, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 612, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 613, + "type": "warning", + "message": "72: E261 at least two spaces before inline comment", + "rule": "72:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 613, + "type": "warning", + "message": "73: E262 inline comment should start with '# '", + "rule": "73:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 614, + "type": "warning", + "message": "57: E261 at least two spaces before inline comment", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 614, + "type": "warning", + "message": "58: E262 inline comment should start with '# '", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 615, + "type": "warning", + "message": "41: E261 at least two spaces before inline comment", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 615, + "type": "warning", + "message": "42: E262 inline comment should start with '# '", + "rule": "42:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 616, + "type": "warning", + "message": "49: E261 at least two spaces before inline comment", + "rule": "49:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 616, + "type": "warning", + "message": "50: E262 inline comment should start with '# '", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "55: E261 at least two spaces before inline comment", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "56: E262 inline comment should start with '# '", + "rule": "56:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 618, + "type": "warning", + "message": "51: E261 at least two spaces before inline comment", + "rule": "51:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 618, + "type": "warning", + "message": "52: E262 inline comment should start with '# '", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 619, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 619, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 620, + "type": "warning", + "message": "33: E261 at least two spaces before inline comment", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 620, + "type": "warning", + "message": "34: E262 inline comment should start with '# '", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 621, + "type": "warning", + "message": "38: E261 at least two spaces before inline comment", + "rule": "38:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 621, + "type": "warning", + "message": "39: E262 inline comment should start with '# '", + "rule": "39:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 622, + "type": "warning", + "message": "37: E261 at least two spaces before inline comment", + "rule": "37:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 622, + "type": "warning", + "message": "38: E262 inline comment should start with '# '", + "rule": "38:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 626, + "type": "warning", + "message": "28: E261 at least two spaces before inline comment", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 626, + "type": "warning", + "message": "29: E262 inline comment should start with '# '", + "rule": "29:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 627, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 634, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 637, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 637, + "type": "warning", + "message": "53: E262 inline comment should start with '# '", + "rule": "53:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 638, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 639, + "type": "warning", + "message": "34: E261 at least two spaces before inline comment", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 639, + "type": "warning", + "message": "35: E262 inline comment should start with '# '", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "36: E261 at least two spaces before inline comment", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "37: E262 inline comment should start with '# '", + "rule": "37:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 643, + "type": "warning", + "message": "36: E261 at least two spaces before inline comment", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 643, + "type": "warning", + "message": "37: E262 inline comment should start with '# '", + "rule": "37:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 645, + "type": "warning", + "message": "18: E261 at least two spaces before inline comment", + "rule": "18:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 645, + "type": "warning", + "message": "19: E262 inline comment should start with '# '", + "rule": "19:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 647, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 665, + "type": "warning", + "message": "80: E501 line too long (100 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 673, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 694, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 698, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 705, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 707, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 709, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 718, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 720, + "type": "warning", + "message": "80: E501 line too long (104 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 728, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 729, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 731, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 737, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 749, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 753, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 753, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 754, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 754, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 760, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 763, + "type": "warning", + "message": "28: E261 at least two spaces before inline comment", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 763, + "type": "warning", + "message": "29: E262 inline comment should start with '# '", + "rule": "29:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 764, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 766, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 769, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 772, + "type": "warning", + "message": "13: E122 continuation line missing indentation or outdented", + "rule": "13:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 773, + "type": "warning", + "message": "13: E122 continuation line missing indentation or outdented", + "rule": "13:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 775, + "type": "warning", + "message": "39: E261 at least two spaces before inline comment", + "rule": "39:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 775, + "type": "warning", + "message": "40: E262 inline comment should start with '# '", + "rule": "40:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 776, + "type": "warning", + "message": "32: E261 at least two spaces before inline comment", + "rule": "32:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 776, + "type": "warning", + "message": "33: E262 inline comment should start with '# '", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 777, + "type": "warning", + "message": "76: E261 at least two spaces before inline comment", + "rule": "76:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 777, + "type": "warning", + "message": "77: E262 inline comment should start with '# '", + "rule": "77:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 777, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 783, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 786, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 800, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 804, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 807, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 810, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 813, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 819, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 824, + "type": "warning", + "message": "80: E501 line too long (106 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 825, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 835, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 842, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 844, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 845, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 852, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 855, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 867, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 870, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 874, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 877, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 878, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 879, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 883, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 886, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 887, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 899, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 902, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 903, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 911, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 914, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 918, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 919, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 924, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 935, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 939, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 944, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 948, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 952, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 956, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 957, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 958, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 961, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 964, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 968, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 972, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 973, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 975, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 978, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 984, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 996, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1003, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1006, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1009, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1013, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1020, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1027, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1033, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1043, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1047, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1050, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1059, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1073, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1077, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1083, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1092, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1096, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1100, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1105, + "type": "warning", + "message": "80: E501 line too long (98 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1108, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1122, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1123, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1129, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1141, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1155, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1156, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1163, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1172, + "type": "warning", + "message": "80: E501 line too long (96 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1190, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1199, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1215, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1219, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1223, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1225, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1233, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1235, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1239, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1244, + "type": "warning", + "message": "80: E501 line too long (98 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1247, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1251, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1255, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1258, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1265, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1272, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1275, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1278, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1283, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1290, + "type": "warning", + "message": "80: E501 line too long (100 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1292, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1294, + "type": "warning", + "message": "80: E501 line too long (120 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1297, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1298, + "type": "warning", + "message": "80: E501 line too long (102 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1301, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1304, + "type": "warning", + "message": "80: E501 line too long (122 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1308, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1311, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1312, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1313, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1319, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1320, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1323, + "type": "warning", + "message": "80: E501 line too long (143 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1328, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1332, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1339, + "type": "warning", + "message": "80: E501 line too long (100 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1341, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1343, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1346, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1350, + "type": "warning", + "message": "80: E501 line too long (124 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1354, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1358, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1365, + "type": "warning", + "message": "80: E501 line too long (100 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1367, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1372, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1374, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1375, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1379, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1380, + "type": "warning", + "message": "80: E501 line too long (106 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1381, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1382, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1383, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1388, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1391, + "type": "warning", + "message": "80: E501 line too long (115 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1393, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1402, + "type": "warning", + "message": "80: E501 line too long (106 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1406, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1410, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1412, + "type": "warning", + "message": "80: E501 line too long (134 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1417, + "type": "warning", + "message": "80: E501 line too long (100 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1419, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1424, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1430, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1432, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1434, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1443, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1446, + "type": "warning", + "message": "80: E501 line too long (119 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1450, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1454, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1461, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1466, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1470, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1472, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1477, + "type": "warning", + "message": "80: E501 line too long (100 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1479, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1484, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1486, + "type": "warning", + "message": "80: E501 line too long (101 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1487, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1488, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1492, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1495, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1498, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1502, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1510, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1516, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1520, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1524, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1531, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1536, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1538, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1544, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1547, + "type": "warning", + "message": "54: E261 at least two spaces before inline comment", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1547, + "type": "warning", + "message": "55: E262 inline comment should start with '# '", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1548, + "type": "warning", + "message": "25: E261 at least two spaces before inline comment", + "rule": "25:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1548, + "type": "warning", + "message": "26: E262 inline comment should start with '# '", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1549, + "type": "warning", + "message": "41: E261 at least two spaces before inline comment", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1549, + "type": "warning", + "message": "42: E262 inline comment should start with '# '", + "rule": "42:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1550, + "type": "warning", + "message": "5: F841 local variable 'month_ago' is assigned to but never used", + "rule": "5:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1550, + "type": "warning", + "message": "43: E261 at least two spaces before inline comment", + "rule": "43:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1550, + "type": "warning", + "message": "44: E262 inline comment should start with '# '", + "rule": "44:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1556, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1556, + "type": "warning", + "message": "95: E261 at least two spaces before inline comment", + "rule": "95:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1556, + "type": "warning", + "message": "96: E262 inline comment should start with '# '", + "rule": "96:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1558, + "type": "warning", + "message": "72: E261 at least two spaces before inline comment", + "rule": "72:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1558, + "type": "warning", + "message": "73: E262 inline comment should start with '# '", + "rule": "73:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1558, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1559, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1561, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1561, + "type": "warning", + "message": "22: E262 inline comment should start with '# '", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1562, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1564, + "type": "warning", + "message": "23: E261 at least two spaces before inline comment", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1564, + "type": "warning", + "message": "24: E262 inline comment should start with '# '", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1569, + "type": "warning", + "message": "47: E261 at least two spaces before inline comment", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1569, + "type": "warning", + "message": "48: E262 inline comment should start with '# '", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1570, + "type": "warning", + "message": "46: E261 at least two spaces before inline comment", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1570, + "type": "warning", + "message": "47: E262 inline comment should start with '# '", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1571, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1573, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1573, + "type": "warning", + "message": "22: E262 inline comment should start with '# '", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1574, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1578, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1579, + "type": "warning", + "message": "35: E261 at least two spaces before inline comment", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1579, + "type": "warning", + "message": "36: E262 inline comment should start with '# '", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1585, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1589, + "type": "warning", + "message": "49: E261 at least two spaces before inline comment", + "rule": "49:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1589, + "type": "warning", + "message": "50: E262 inline comment should start with '# '", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1590, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1591, + "type": "warning", + "message": "80: E501 line too long (109 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1591, + "type": "warning", + "message": "103: E261 at least two spaces before inline comment", + "rule": "103:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1591, + "type": "warning", + "message": "104: E262 inline comment should start with '# '", + "rule": "104:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1592, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1595, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1601, + "type": "warning", + "message": "55: E261 at least two spaces before inline comment", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1601, + "type": "warning", + "message": "56: E262 inline comment should start with '# '", + "rule": "56:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1603, + "type": "warning", + "message": "76: E261 at least two spaces before inline comment", + "rule": "76:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1603, + "type": "warning", + "message": "77: E262 inline comment should start with '# '", + "rule": "77:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1603, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1605, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1605, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1606, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1606, + "type": "warning", + "message": "60: E262 inline comment should start with '# '", + "rule": "60:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1610, + "type": "warning", + "message": "49: E261 at least two spaces before inline comment", + "rule": "49:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1610, + "type": "warning", + "message": "50: E262 inline comment should start with '# '", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1612, + "type": "warning", + "message": "70: E261 at least two spaces before inline comment", + "rule": "70:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1612, + "type": "warning", + "message": "71: E262 inline comment should start with '# '", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1612, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1614, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1614, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1615, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1615, + "type": "warning", + "message": "60: E262 inline comment should start with '# '", + "rule": "60:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1621, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1622, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1622, + "type": "warning", + "message": "22: E262 inline comment should start with '# '", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1623, + "type": "warning", + "message": "54: E261 at least two spaces before inline comment", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1623, + "type": "warning", + "message": "55: E262 inline comment should start with '# '", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1624, + "type": "warning", + "message": "45: E261 at least two spaces before inline comment", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1624, + "type": "warning", + "message": "46: E262 inline comment should start with '# '", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1628, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1631, + "type": "warning", + "message": "54: E261 at least two spaces before inline comment", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1631, + "type": "warning", + "message": "55: E262 inline comment should start with '# '", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1632, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1633, + "type": "warning", + "message": "22: E261 at least two spaces before inline comment", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1633, + "type": "warning", + "message": "23: E262 inline comment should start with '# '", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1634, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1634, + "type": "warning", + "message": "60: E262 inline comment should start with '# '", + "rule": "60:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1635, + "type": "warning", + "message": "61: E261 at least two spaces before inline comment", + "rule": "61:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1635, + "type": "warning", + "message": "62: E262 inline comment should start with '# '", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1637, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1637, + "type": "warning", + "message": "53: E262 inline comment should start with '# '", + "rule": "53:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1638, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1638, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1640, + "type": "warning", + "message": "47: E261 at least two spaces before inline comment", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1640, + "type": "warning", + "message": "48: E262 inline comment should start with '# '", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1641, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1654, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1658, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1661, + "type": "warning", + "message": "27: E261 at least two spaces before inline comment", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1661, + "type": "warning", + "message": "28: E262 inline comment should start with '# '", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1662, + "type": "warning", + "message": "43: E261 at least two spaces before inline comment", + "rule": "43:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1662, + "type": "warning", + "message": "44: E262 inline comment should start with '# '", + "rule": "44:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1663, + "type": "warning", + "message": "47: E261 at least two spaces before inline comment", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1663, + "type": "warning", + "message": "48: E262 inline comment should start with '# '", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1664, + "type": "warning", + "message": "50: E261 at least two spaces before inline comment", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1664, + "type": "warning", + "message": "51: E262 inline comment should start with '# '", + "rule": "51:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1665, + "type": "warning", + "message": "5: E129 visually indented line with same indent as next logical line", + "rule": "5:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1665, + "type": "warning", + "message": "46: E261 at least two spaces before inline comment", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1665, + "type": "warning", + "message": "47: E262 inline comment should start with '# '", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1666, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1668, + "type": "warning", + "message": "39: E261 at least two spaces before inline comment", + "rule": "39:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1668, + "type": "warning", + "message": "40: E262 inline comment should start with '# '", + "rule": "40:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1669, + "type": "warning", + "message": "44: E261 at least two spaces before inline comment", + "rule": "44:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1669, + "type": "warning", + "message": "45: E262 inline comment should start with '# '", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1670, + "type": "warning", + "message": "47: E261 at least two spaces before inline comment", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1670, + "type": "warning", + "message": "48: E262 inline comment should start with '# '", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1671, + "type": "warning", + "message": "48: E261 at least two spaces before inline comment", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1671, + "type": "warning", + "message": "49: E262 inline comment should start with '# '", + "rule": "49:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1672, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1676, + "type": "warning", + "message": "80: E501 line too long (113 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1676, + "type": "warning", + "message": "101: E261 at least two spaces before inline comment", + "rule": "101:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1676, + "type": "warning", + "message": "102: E262 inline comment should start with '# '", + "rule": "102:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1677, + "type": "warning", + "message": "80: E501 line too long (120 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1677, + "type": "warning", + "message": "109: E261 at least two spaces before inline comment", + "rule": "109:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1677, + "type": "warning", + "message": "110: E262 inline comment should start with '# '", + "rule": "110:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1678, + "type": "warning", + "message": "80: E501 line too long (126 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1678, + "type": "warning", + "message": "115: E261 at least two spaces before inline comment", + "rule": "115:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1678, + "type": "warning", + "message": "116: E262 inline comment should start with '# '", + "rule": "116:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1679, + "type": "warning", + "message": "80: E501 line too long (123 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1679, + "type": "warning", + "message": "110: E261 at least two spaces before inline comment", + "rule": "110:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1679, + "type": "warning", + "message": "111: E262 inline comment should start with '# '", + "rule": "111:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1683, + "type": "warning", + "message": "22: E261 at least two spaces before inline comment", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1683, + "type": "warning", + "message": "23: E262 inline comment should start with '# '", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1684, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1684, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1685, + "type": "warning", + "message": "29: E261 at least two spaces before inline comment", + "rule": "29:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1685, + "type": "warning", + "message": "30: E262 inline comment should start with '# '", + "rule": "30:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1686, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1686, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1688, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1691, + "type": "warning", + "message": "50: E261 at least two spaces before inline comment", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1691, + "type": "warning", + "message": "51: E262 inline comment should start with '# '", + "rule": "51:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1692, + "type": "warning", + "message": "38: E261 at least two spaces before inline comment", + "rule": "38:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1692, + "type": "warning", + "message": "39: E262 inline comment should start with '# '", + "rule": "39:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1693, + "type": "warning", + "message": "53: E261 at least two spaces before inline comment", + "rule": "53:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1693, + "type": "warning", + "message": "54: E262 inline comment should start with '# '", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1697, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1697, + "type": "warning", + "message": "29: E261 at least two spaces before inline comment", + "rule": "29:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1697, + "type": "warning", + "message": "30: E262 inline comment should start with '# '", + "rule": "30:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1700, + "type": "warning", + "message": "54: E261 at least two spaces before inline comment", + "rule": "54:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1700, + "type": "warning", + "message": "55: E262 inline comment should start with '# '", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1701, + "type": "warning", + "message": "25: E261 at least two spaces before inline comment", + "rule": "25:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1701, + "type": "warning", + "message": "26: E262 inline comment should start with '# '", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1702, + "type": "warning", + "message": "41: E261 at least two spaces before inline comment", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1702, + "type": "warning", + "message": "42: E262 inline comment should start with '# '", + "rule": "42:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1703, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1709, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1709, + "type": "warning", + "message": "95: E261 at least two spaces before inline comment", + "rule": "95:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1709, + "type": "warning", + "message": "96: E262 inline comment should start with '# '", + "rule": "96:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1711, + "type": "warning", + "message": "72: E261 at least two spaces before inline comment", + "rule": "72:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1711, + "type": "warning", + "message": "73: E262 inline comment should start with '# '", + "rule": "73:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1711, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1712, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1714, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1714, + "type": "warning", + "message": "22: E262 inline comment should start with '# '", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1715, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1717, + "type": "warning", + "message": "23: E261 at least two spaces before inline comment", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1717, + "type": "warning", + "message": "24: E262 inline comment should start with '# '", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1722, + "type": "warning", + "message": "47: E261 at least two spaces before inline comment", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1722, + "type": "warning", + "message": "48: E262 inline comment should start with '# '", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1723, + "type": "warning", + "message": "46: E261 at least two spaces before inline comment", + "rule": "46:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1723, + "type": "warning", + "message": "47: E262 inline comment should start with '# '", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1724, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1726, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1726, + "type": "warning", + "message": "22: E262 inline comment should start with '# '", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1727, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1731, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1732, + "type": "warning", + "message": "35: E261 at least two spaces before inline comment", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1732, + "type": "warning", + "message": "36: E262 inline comment should start with '# '", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1734, + "type": "warning", + "message": "58: E261 at least two spaces before inline comment", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1734, + "type": "warning", + "message": "59: E262 inline comment should start with '# '", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1735, + "type": "warning", + "message": "55: E261 at least two spaces before inline comment", + "rule": "55:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1735, + "type": "warning", + "message": "56: E262 inline comment should start with '# '", + "rule": "56:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1736, + "type": "warning", + "message": "47: E261 at least two spaces before inline comment", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1736, + "type": "warning", + "message": "48: E262 inline comment should start with '# '", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1737, + "type": "warning", + "message": "20: E261 at least two spaces before inline comment", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1737, + "type": "warning", + "message": "21: E262 inline comment should start with '# '", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1738, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1742, + "type": "warning", + "message": "49: E261 at least two spaces before inline comment", + "rule": "49:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1742, + "type": "warning", + "message": "50: E262 inline comment should start with '# '", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1743, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1745, + "type": "warning", + "message": "80: E501 line too long (102 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1746, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1749, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1749, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1750, + "type": "warning", + "message": "80: E501 line too long (233 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1750, + "type": "warning", + "message": "109: E261 at least two spaces before inline comment", + "rule": "109:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1750, + "type": "warning", + "message": "110: E262 inline comment should start with '# '", + "rule": "110:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1751, + "type": "warning", + "message": "14: E261 at least two spaces before inline comment", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1751, + "type": "warning", + "message": "15: E262 inline comment should start with '# '", + "rule": "15:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1752, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1752, + "type": "warning", + "message": "80: E261 at least two spaces before inline comment", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1752, + "type": "warning", + "message": "81: E262 inline comment should start with '# '", + "rule": "81:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1753, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1756, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1758, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1758, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1759, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1759, + "type": "warning", + "message": "69: E262 inline comment should start with '# '", + "rule": "69:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1760, + "type": "warning", + "message": "65: E261 at least two spaces before inline comment", + "rule": "65:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1760, + "type": "warning", + "message": "66: E262 inline comment should start with '# '", + "rule": "66:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1761, + "type": "warning", + "message": "80: E501 line too long (104 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1761, + "type": "warning", + "message": "91: E261 at least two spaces before inline comment", + "rule": "91:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1761, + "type": "warning", + "message": "92: E262 inline comment should start with '# '", + "rule": "92:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1762, + "type": "warning", + "message": "14: E261 at least two spaces before inline comment", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1762, + "type": "warning", + "message": "15: E262 inline comment should start with '# '", + "rule": "15:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1763, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1763, + "type": "warning", + "message": "69: E262 inline comment should start with '# '", + "rule": "69:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1764, + "type": "warning", + "message": "65: E261 at least two spaces before inline comment", + "rule": "65:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1764, + "type": "warning", + "message": "66: E262 inline comment should start with '# '", + "rule": "66:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1765, + "type": "warning", + "message": "50: E261 at least two spaces before inline comment", + "rule": "50:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1765, + "type": "warning", + "message": "51: E262 inline comment should start with '# '", + "rule": "51:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1766, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1767, + "type": "warning", + "message": "47: E261 at least two spaces before inline comment", + "rule": "47:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1767, + "type": "warning", + "message": "48: E262 inline comment should start with '# '", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1768, + "type": "warning", + "message": "80: E501 line too long (119 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1768, + "type": "warning", + "message": "110: E261 at least two spaces before inline comment", + "rule": "110:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1768, + "type": "warning", + "message": "111: E262 inline comment should start with '# '", + "rule": "111:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1769, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1771, + "type": "warning", + "message": "26: E261 at least two spaces before inline comment", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1771, + "type": "warning", + "message": "27: E262 inline comment should start with '# '", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1772, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1772, + "type": "warning", + "message": "80: E261 at least two spaces before inline comment", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1772, + "type": "warning", + "message": "81: E262 inline comment should start with '# '", + "rule": "81:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1773, + "type": "warning", + "message": "14: E261 at least two spaces before inline comment", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1773, + "type": "warning", + "message": "15: E262 inline comment should start with '# '", + "rule": "15:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1774, + "type": "warning", + "message": "57: E261 at least two spaces before inline comment", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1774, + "type": "warning", + "message": "58: E262 inline comment should start with '# '", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1775, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1776, + "type": "warning", + "message": "25: E261 at least two spaces before inline comment", + "rule": "25:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1776, + "type": "warning", + "message": "26: E262 inline comment should start with '# '", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1777, + "type": "warning", + "message": "48: E261 at least two spaces before inline comment", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1777, + "type": "warning", + "message": "49: E262 inline comment should start with '# '", + "rule": "49:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1778, + "type": "warning", + "message": "58: E261 at least two spaces before inline comment", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1778, + "type": "warning", + "message": "59: E262 inline comment should start with '# '", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1779, + "type": "warning", + "message": "58: E261 at least two spaces before inline comment", + "rule": "58:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1779, + "type": "warning", + "message": "59: E262 inline comment should start with '# '", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1780, + "type": "warning", + "message": "51: E261 at least two spaces before inline comment", + "rule": "51:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1780, + "type": "warning", + "message": "52: E262 inline comment should start with '# '", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1782, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1783, + "type": "warning", + "message": "27: E261 at least two spaces before inline comment", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1783, + "type": "warning", + "message": "28: E262 inline comment should start with '# '", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1785, + "type": "warning", + "message": "25: E261 at least two spaces before inline comment", + "rule": "25:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1785, + "type": "warning", + "message": "26: E262 inline comment should start with '# '", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1786, + "type": "warning", + "message": "34: E261 at least two spaces before inline comment", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1786, + "type": "warning", + "message": "35: E262 inline comment should start with '# '", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1787, + "type": "warning", + "message": "34: E261 at least two spaces before inline comment", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1787, + "type": "warning", + "message": "35: E262 inline comment should start with '# '", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1788, + "type": "warning", + "message": "34: E261 at least two spaces before inline comment", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1788, + "type": "warning", + "message": "35: E262 inline comment should start with '# '", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1789, + "type": "warning", + "message": "35: E261 at least two spaces before inline comment", + "rule": "35:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1789, + "type": "warning", + "message": "36: E262 inline comment should start with '# '", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1794, + "type": "warning", + "message": "1: E303 too many blank lines (3)", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1795, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 3", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1803, + "type": "warning", + "message": "9: F841 local variable 'last_month' is assigned to but never used", + "rule": "9:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1804, + "type": "warning", + "message": "9: F841 local variable 'last_quarter' is assigned to but never used", + "rule": "9:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1805, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1808, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1811, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1814, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1817, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1820, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1823, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1832, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1837, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1842, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1848, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1850, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1853, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1856, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1857, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1861, + "type": "warning", + "message": "80: E501 line too long (96 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1863, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1869, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1871, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1874, + "type": "warning", + "message": "80: E501 line too long (155 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1875, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1878, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1881, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1889, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1894, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1903, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1906, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1910, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1913, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1917, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1921, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1925, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1926, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1934, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1937, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1941, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1942, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1949, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1954, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1959, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1965, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1968, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1976, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1980, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1984, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1995, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2001, + "type": "warning", + "message": "80: E501 line too long (101 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2002, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2007, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2011, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2016, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2023, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2024, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2025, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2032, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2037, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2042, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2046, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2047, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2050, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2054, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2059, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2064, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2069, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2074, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2088, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2097, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2099, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2104, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2109, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2110, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2113, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2120, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2123, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2130, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2135, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2138, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2139, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2141, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2146, + "type": "warning", + "message": "43: W291 trailing whitespace", + "rule": "43:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2149, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2152, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2156, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2160, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2168, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2171, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2173, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2175, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2180, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2183, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2188, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2196, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2203, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2205, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2212, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2221, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2223, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2233, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2238, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2245, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2247, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2249, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2251, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2256, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2263, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2266, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2268, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2277, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2289, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2298, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2301, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2302, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2307, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2316, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2321, + "type": "warning", + "message": "1: E305 expected 2 blank lines after class or function definition, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2321, + "type": "warning", + "message": "27: E261 at least two spaces before inline comment", + "rule": "27:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2321, + "type": "warning", + "message": "28: E262 inline comment should start with '# '", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2323, + "type": "warning", + "message": "19: E261 at least two spaces before inline comment", + "rule": "19:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2323, + "type": "warning", + "message": "20: E262 inline comment should start with '# '", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2324, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2326, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2329, + "type": "warning", + "message": "39: E261 at least two spaces before inline comment", + "rule": "39:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2329, + "type": "warning", + "message": "40: E262 inline comment should start with '# '", + "rule": "40:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2335, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2337, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2337, + "type": "warning", + "message": "22: E262 inline comment should start with '# '", + "rule": "22:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2342, + "type": "warning", + "message": "14: E261 at least two spaces before inline comment", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2342, + "type": "warning", + "message": "15: E262 inline comment should start with '# '", + "rule": "15:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2350, + "type": "warning", + "message": "24: W291 trailing whitespace", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 2350, + "type": "warning", + "message": "25: W292 no newline at end of file", + "rule": "25:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "Possible hardcoded password: 'employee-system-secret-key-2025'", + "rule": "B105", + "severity": "low", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 22, + "column": 0, + "type": "warning", + "message": "Possible hardcoded password: '123456'", + "rule": "B105", + "severity": "low", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp9xm45_zo\\app.py", + "line": 37, + "column": 0, + "type": "warning", + "message": "Possible binding to all interfaces.", + "rule": "B104", + "severity": "medium", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_234a343c-4fac-49ba-9c30-daf9b6b28b79_20250918_152646.json b/src/FortifyCode/backend/reports/check_234a343c-4fac-49ba-9c30-daf9b6b28b79_20250918_152646.json new file mode 100644 index 0000000..a6768db --- /dev/null +++ b/src/FortifyCode/backend/reports/check_234a343c-4fac-49ba-9c30-daf9b6b28b79_20250918_152646.json @@ -0,0 +1,1823 @@ +{ + "total_issues": 201, + "error_count": 1, + "warning_count": 200, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 89, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 95, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 110, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 158, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 278, + "column": 0, + "type": "warning", + "message": "Line too long (131/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 318, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 320, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 13 spaces, expected 12", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 331, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 336, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 347, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 369, + "column": 0, + "type": "warning", + "message": "Line too long (104/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 387, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 409, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 414, + "column": 73, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 441, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 444, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 461, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 476, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 490, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 495, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 500, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 505, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 527, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 531, + "column": 44, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 555, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 562, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 565, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 572, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 578, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 585, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 595, + "column": 82, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 608, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 617, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 636, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 638, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 644, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 646, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 660, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 666, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 671, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 673, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 676, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 681, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 73, + "column": 8, + "type": "warning", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 119, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 171, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 293, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 370, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 303, + "column": 0, + "type": "warning", + "message": "Too many return statements (9/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 388, + "column": 4, + "type": "warning", + "message": "Unused variable 'data'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 511, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 606, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 635, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 643, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 683, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 18, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 20, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 22, + "column": 0, + "type": "warning", + "message": "standard import \"functools.wraps\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 24, + "column": 0, + "type": "warning", + "message": "standard import \"decimal\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "Unused import json", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "20: E231 missing whitespace after ','", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 16, + "type": "warning", + "message": "1: F401 'json' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 43, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 51, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 66, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 80, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 89, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 95, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 107, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 110, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 132, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 144, + "type": "warning", + "message": "36: E261 at least two spaces before inline comment", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "93: E261 at least two spaces before inline comment", + "rule": "93:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 162, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "80: E501 line too long (91 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "76: E261 at least two spaces before inline comment", + "rule": "76:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 179, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 202, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 213, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 257, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 278, + "type": "warning", + "message": "80: E501 line too long (131 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 289, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 290, + "type": "warning", + "message": "48: E261 at least two spaces before inline comment", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 301, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 318, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "94: E261 at least two spaces before inline comment", + "rule": "94:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "71: E261 at least two spaces before inline comment", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E111 indentation is not a multiple of 4", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E117 over-indented", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 331, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 334, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "91: E261 at least two spaces before inline comment", + "rule": "91:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 353, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 354, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "78: E261 at least two spaces before inline comment", + "rule": "78:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 367, + "type": "warning", + "message": "24: E261 at least two spaces before inline comment", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "75: E261 at least two spaces before inline comment", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "80: E501 line too long (104 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 377, + "type": "warning", + "message": "1: E265 block comment should start with '# '", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 387, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 388, + "type": "warning", + "message": "5: F841 local variable 'data' is assigned to but never used", + "rule": "5:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 400, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 409, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 414, + "type": "warning", + "message": "74: W291 trailing whitespace", + "rule": "74:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 432, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 441, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 444, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 450, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 456, + "type": "warning", + "message": "26: W291 trailing whitespace", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 461, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 464, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 476, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 479, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 490, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 495, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 500, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 505, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 518, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 527, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 531, + "type": "warning", + "message": "45: W291 trailing whitespace", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 532, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 541, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 555, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 562, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 572, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 576, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 585, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 590, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 592, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "64: W291 trailing whitespace", + "rule": "64:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 608, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 633, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 638, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 646, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 649, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 660, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 661, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 662, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 666, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 667, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 668, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 671, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 673, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 681, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 690, + "type": "warning", + "message": "1: E305 expected 2 blank lines after class or function definition, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpphk3uy0u\\server.py", + "line": 692, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_3a6ccdae-de55-4f8d-99e5-43389ae483b3_20250918_153701.json b/src/FortifyCode/backend/reports/check_3a6ccdae-de55-4f8d-99e5-43389ae483b3_20250918_153701.json new file mode 100644 index 0000000..1f5bd20 --- /dev/null +++ b/src/FortifyCode/backend/reports/check_3a6ccdae-de55-4f8d-99e5-43389ae483b3_20250918_153701.json @@ -0,0 +1,3836 @@ +{ + "total_issues": 424, + "error_count": 1, + "warning_count": 423, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 92, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 96, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 131, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 138, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 143, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 147, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 149, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 164, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 171, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 176, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 180, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 182, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 210, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 217, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 222, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 231, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 235, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 241, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 248, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 253, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 261, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 310, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 322, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Line too long (112/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 332, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 348, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 351, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 359, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 364, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 370, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 379, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 384, + "column": 0, + "type": "warning", + "message": "Line too long (113/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 385, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 388, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 401, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 418, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 422, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 431, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 448, + "column": 0, + "type": "warning", + "message": "Line too long (105/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 456, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 472, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 476, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 479, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 482, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 490, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 493, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 496, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 510, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 514, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 518, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 524, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 527, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 531, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 546, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 548, + "column": 0, + "type": "warning", + "message": "Line too long (118/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 562, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 565, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 578, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 596, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 600, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 606, + "column": 0, + "type": "warning", + "message": "Line too long (101/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 623, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 636, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 640, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 643, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 649, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 657, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 668, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 671, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 675, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 678, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 680, + "column": 0, + "type": "warning", + "message": "Line too long (114/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 682, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 685, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 691, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 706, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 720, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 724, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 729, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 733, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 738, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 742, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 748, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 757, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 760, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 774, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 778, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 783, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 789, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 791, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 796, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 800, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 804, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 810, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 823, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 834, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 846, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 849, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 855, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 859, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 864, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 866, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 871, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 874, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 878, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 881, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 895, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 899, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 904, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 909, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 914, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 921, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 926, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 929, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 932, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 935, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 949, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 953, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 958, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 964, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 966, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 971, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 975, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 979, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 982, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 991, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 996, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 1006, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Too many lines in module (1012/1000)", + "rule": "C0302", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 84, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 85, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 88, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 141, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 97, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 174, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 148, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 220, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 181, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 234, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 276, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 280, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 285, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 335, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 336, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 402, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 375, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 374, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 376, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 403, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 459, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 460, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 497, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 488, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 487, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 489, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 494, + "column": 12, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 498, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 579, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 580, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 626, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 627, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 658, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 659, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 707, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 689, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 690, + "column": 12, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 708, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 761, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 762, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 835, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 836, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 766, + "column": 0, + "type": "warning", + "message": "Too many return statements (10/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 882, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 883, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 936, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 937, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 887, + "column": 0, + "type": "warning", + "message": "Too many return statements (7/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 983, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 984, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 941, + "column": 0, + "type": "warning", + "message": "Too many return statements (8/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 995, + "column": 8, + "type": "warning", + "message": "Consider using 'sys.exit' instead", + "rule": "R1722", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 1011, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 3, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 4, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 5, + "column": 0, + "type": "warning", + "message": "standard import \"subprocess\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 6, + "column": 0, + "type": "warning", + "message": "standard import \"tempfile\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 7, + "column": 0, + "type": "warning", + "message": "standard import \"shutil\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 9, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 10, + "column": 0, + "type": "warning", + "message": "standard import \"uuid\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "standard import \"zipfile\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 13, + "column": 0, + "type": "warning", + "message": "standard import \"logging\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\", \"werkzeug.utils.secure_filename\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "standard import \"pathlib.Path\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\", \"werkzeug.utils.secure_filename\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "Unused import zipfile", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "Unused Path imported from pathlib", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 11, + "type": "warning", + "message": "1: F401 'zipfile' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 15, + "type": "warning", + "message": "1: F401 'pathlib.Path' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 63, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 67, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 88, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 92, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 96, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 97, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 100, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 111, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 114, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 125, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 131, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 138, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 140, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 143, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 147, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 148, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 149, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 161, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 171, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 173, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 176, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 180, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 181, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 182, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 194, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 210, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 217, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 219, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 235, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 241, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 248, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 253, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 261, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 268, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 275, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 279, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 284, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 297, + "type": "warning", + "message": "28: W291 trailing whitespace", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 304, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 305, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 310, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 322, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "80: E501 line too long (112 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 332, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 339, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 348, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 351, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 355, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 359, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 364, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 370, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 379, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 382, + "type": "warning", + "message": "80: E501 line too long (122 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 384, + "type": "warning", + "message": "80: E501 line too long (113 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 385, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 388, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 390, + "type": "warning", + "message": "33: W291 trailing whitespace", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 401, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 409, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 416, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 418, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 422, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 425, + "type": "warning", + "message": "41: W291 trailing whitespace", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 426, + "type": "warning", + "message": "38: W291 trailing whitespace", + "rule": "38:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 427, + "type": "warning", + "message": "41: W291 trailing whitespace", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 431, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 441, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 442, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 447, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 448, + "type": "warning", + "message": "80: E501 line too long (105 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 456, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 463, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 470, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 472, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 476, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 479, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 482, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 490, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 493, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 496, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 501, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 508, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 510, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 514, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 518, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 521, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 524, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 527, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 531, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 534, + "type": "warning", + "message": "34: W291 trailing whitespace", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 535, + "type": "warning", + "message": "71: W291 trailing whitespace", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 536, + "type": "warning", + "message": "75: W291 trailing whitespace", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 541, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 543, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 546, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 548, + "type": "warning", + "message": "80: E501 line too long (118 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 555, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 555, + "type": "warning", + "message": "95: W291 trailing whitespace", + "rule": "95:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 556, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 560, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 562, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 583, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 590, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 592, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 598, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 600, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 605, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 606, + "type": "warning", + "message": "80: E501 line too long (101 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 630, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 640, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 643, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 649, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 657, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 662, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 668, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 671, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 675, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 678, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 680, + "type": "warning", + "message": "80: E501 line too long (114 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 682, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 685, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 691, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 706, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 711, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 718, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 720, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 724, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 729, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 733, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 735, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 738, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 742, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 747, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 748, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 753, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 754, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 757, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 760, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 765, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 772, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 774, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 778, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 783, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 789, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 791, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 793, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 796, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 800, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 804, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 810, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 823, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 831, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 834, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 839, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 846, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 849, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 853, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 855, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 859, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 864, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 866, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 868, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 871, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 874, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 878, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 881, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 886, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 893, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 895, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 899, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 904, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 909, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 914, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 918, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 920, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 921, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 923, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 926, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 929, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 932, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 935, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 940, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 947, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 949, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 953, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 958, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 964, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 966, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 968, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 971, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 975, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 979, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 982, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 991, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 996, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1006, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 5, + "column": 0, + "type": "warning", + "message": "Consider possible security implications associated with the subprocess module.", + "rule": "B404", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 50, + "column": 0, + "type": "warning", + "message": "Possible hardcoded password: 'fortify-code-military-system-2024'", + "rule": "B105", + "severity": "low", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 97, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 148, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 181, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 1008, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7beo5cgt\\app.py", + "line": 1008, + "column": 0, + "type": "warning", + "message": "Possible binding to all interfaces.", + "rule": "B104", + "severity": "medium", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_6a658358-2f47-4417-a655-51fc34f4b36e_20250918_153307.json b/src/FortifyCode/backend/reports/check_6a658358-2f47-4417-a655-51fc34f4b36e_20250918_153307.json new file mode 100644 index 0000000..a98b5b6 --- /dev/null +++ b/src/FortifyCode/backend/reports/check_6a658358-2f47-4417-a655-51fc34f4b36e_20250918_153307.json @@ -0,0 +1,1823 @@ +{ + "total_issues": 201, + "error_count": 1, + "warning_count": 200, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 89, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 95, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 110, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 158, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 278, + "column": 0, + "type": "warning", + "message": "Line too long (131/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 318, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 320, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 13 spaces, expected 12", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 331, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 336, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 347, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 369, + "column": 0, + "type": "warning", + "message": "Line too long (104/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 387, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 409, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 414, + "column": 73, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 441, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 444, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 461, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 476, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 490, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 495, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 500, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 505, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 527, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 531, + "column": 44, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 555, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 562, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 565, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 572, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 578, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 585, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 595, + "column": 82, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 608, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 617, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 636, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 638, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 644, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 646, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 660, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 666, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 671, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 673, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 676, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 681, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 73, + "column": 8, + "type": "warning", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 119, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 171, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 293, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 370, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 303, + "column": 0, + "type": "warning", + "message": "Too many return statements (9/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 388, + "column": 4, + "type": "warning", + "message": "Unused variable 'data'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 511, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 606, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 635, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 643, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 683, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 18, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 20, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 22, + "column": 0, + "type": "warning", + "message": "standard import \"functools.wraps\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 24, + "column": 0, + "type": "warning", + "message": "standard import \"decimal\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "Unused import json", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "20: E231 missing whitespace after ','", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 16, + "type": "warning", + "message": "1: F401 'json' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 43, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 51, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 66, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 80, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 89, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 95, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 107, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 110, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 132, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 144, + "type": "warning", + "message": "36: E261 at least two spaces before inline comment", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "93: E261 at least two spaces before inline comment", + "rule": "93:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 162, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "80: E501 line too long (91 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "76: E261 at least two spaces before inline comment", + "rule": "76:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 179, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 202, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 213, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 257, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 278, + "type": "warning", + "message": "80: E501 line too long (131 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 289, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 290, + "type": "warning", + "message": "48: E261 at least two spaces before inline comment", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 301, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 318, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "94: E261 at least two spaces before inline comment", + "rule": "94:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "71: E261 at least two spaces before inline comment", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E111 indentation is not a multiple of 4", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E117 over-indented", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 331, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 334, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "91: E261 at least two spaces before inline comment", + "rule": "91:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 353, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 354, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "78: E261 at least two spaces before inline comment", + "rule": "78:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 367, + "type": "warning", + "message": "24: E261 at least two spaces before inline comment", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "75: E261 at least two spaces before inline comment", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "80: E501 line too long (104 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 377, + "type": "warning", + "message": "1: E265 block comment should start with '# '", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 387, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 388, + "type": "warning", + "message": "5: F841 local variable 'data' is assigned to but never used", + "rule": "5:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 400, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 409, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 414, + "type": "warning", + "message": "74: W291 trailing whitespace", + "rule": "74:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 432, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 441, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 444, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 450, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 456, + "type": "warning", + "message": "26: W291 trailing whitespace", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 461, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 464, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 476, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 479, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 490, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 495, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 500, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 505, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 518, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 527, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 531, + "type": "warning", + "message": "45: W291 trailing whitespace", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 532, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 541, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 555, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 562, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 572, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 576, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 585, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 590, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 592, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "64: W291 trailing whitespace", + "rule": "64:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 608, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 633, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 638, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 646, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 649, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 660, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 661, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 662, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 666, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 667, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 668, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 671, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 673, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 681, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 690, + "type": "warning", + "message": "1: E305 expected 2 blank lines after class or function definition, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpx0rg73nv\\server.py", + "line": 692, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_7787c382-5ead-4c08-a3df-fba12b2c72ac_20250916_161703.json b/src/FortifyCode/backend/reports/check_7787c382-5ead-4c08-a3df-fba12b2c72ac_20250916_161703.json new file mode 100644 index 0000000..a1b3bc8 --- /dev/null +++ b/src/FortifyCode/backend/reports/check_7787c382-5ead-4c08-a3df-fba12b2c72ac_20250916_161703.json @@ -0,0 +1,2450 @@ +{ + "total_issues": 270, + "error_count": 1, + "warning_count": 269, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 92, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 96, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 131, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 138, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 143, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 147, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 149, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 164, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 171, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 176, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 180, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 182, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 210, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 217, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 222, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 231, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 235, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 241, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 248, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 253, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 261, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 309, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 320, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 327, + "column": 0, + "type": "warning", + "message": "Line too long (112/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 331, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 347, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 350, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 358, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 363, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 369, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 378, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 383, + "column": 0, + "type": "warning", + "message": "Line too long (113/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 384, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 387, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 400, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 417, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 421, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 430, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 447, + "column": 0, + "type": "warning", + "message": "Line too long (105/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 455, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 471, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 475, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 479, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 485, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 488, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 492, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 507, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 509, + "column": 0, + "type": "warning", + "message": "Line too long (118/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 512, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 523, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 526, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 539, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 553, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 557, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 561, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 567, + "column": 0, + "type": "warning", + "message": "Line too long (101/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 584, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 597, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 601, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 604, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 610, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 618, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 629, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 632, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 636, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 639, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 641, + "column": 0, + "type": "warning", + "message": "Line too long (114/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 643, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 646, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 652, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 667, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 676, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 681, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 691, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 84, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 85, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 88, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 141, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 97, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 174, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 148, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 220, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 181, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 234, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 276, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 280, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 285, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 334, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 335, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 401, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 374, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 373, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 375, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 402, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 458, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 459, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 540, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 541, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 587, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 588, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 619, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 620, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 668, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 650, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 651, + "column": 12, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 669, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 680, + "column": 8, + "type": "warning", + "message": "Consider using 'sys.exit' instead", + "rule": "R1722", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 696, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 3, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 4, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 5, + "column": 0, + "type": "warning", + "message": "standard import \"subprocess\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 6, + "column": 0, + "type": "warning", + "message": "standard import \"tempfile\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 7, + "column": 0, + "type": "warning", + "message": "standard import \"shutil\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 9, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 10, + "column": 0, + "type": "warning", + "message": "standard import \"uuid\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "standard import \"zipfile\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 13, + "column": 0, + "type": "warning", + "message": "standard import \"logging\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\", \"werkzeug.utils.secure_filename\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "standard import \"pathlib.Path\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\", \"werkzeug.utils.secure_filename\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "Unused import zipfile", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "Unused Path imported from pathlib", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 11, + "type": "warning", + "message": "1: F401 'zipfile' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 15, + "type": "warning", + "message": "1: F401 'pathlib.Path' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 63, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 67, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 88, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 92, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 96, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 97, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 100, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 111, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 114, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 125, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 131, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 138, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 140, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 143, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 147, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 148, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 149, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 161, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 171, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 173, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 176, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 180, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 181, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 182, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 194, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 210, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 217, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 219, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 235, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 241, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 248, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 253, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 261, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 268, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 275, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 279, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 284, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 288, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 296, + "type": "warning", + "message": "28: W291 trailing whitespace", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 303, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 304, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 327, + "type": "warning", + "message": "80: E501 line too long (112 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 331, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 338, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 350, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 354, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 358, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 363, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 368, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 377, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 381, + "type": "warning", + "message": "80: E501 line too long (122 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 383, + "type": "warning", + "message": "80: E501 line too long (113 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 384, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 387, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 389, + "type": "warning", + "message": "33: W291 trailing whitespace", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 400, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 408, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 417, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 421, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 424, + "type": "warning", + "message": "41: W291 trailing whitespace", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 425, + "type": "warning", + "message": "38: W291 trailing whitespace", + "rule": "38:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 426, + "type": "warning", + "message": "41: W291 trailing whitespace", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 430, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 440, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 441, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 446, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 447, + "type": "warning", + "message": "80: E501 line too long (105 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 455, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 462, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 469, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 471, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 475, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 479, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 482, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 485, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 488, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 492, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 495, + "type": "warning", + "message": "34: W291 trailing whitespace", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 496, + "type": "warning", + "message": "71: W291 trailing whitespace", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 497, + "type": "warning", + "message": "75: W291 trailing whitespace", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 502, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 504, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 507, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 509, + "type": "warning", + "message": "80: E501 line too long (118 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 512, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 516, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 516, + "type": "warning", + "message": "95: W291 trailing whitespace", + "rule": "95:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 517, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 521, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 523, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 526, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 539, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 544, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 553, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 557, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 559, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 561, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 566, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 567, + "type": "warning", + "message": "80: E501 line too long (101 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 584, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 591, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 597, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 601, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 604, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 610, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 618, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 629, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 632, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 639, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "80: E501 line too long (114 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 643, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 646, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 652, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 667, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 681, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 691, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 5, + "column": 0, + "type": "warning", + "message": "Consider possible security implications associated with the subprocess module.", + "rule": "B404", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 50, + "column": 0, + "type": "warning", + "message": "Possible hardcoded password: 'fortify-code-military-system-2024'", + "rule": "B105", + "severity": "low", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 97, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 148, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 181, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 693, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpiff67wgk\\app.py", + "line": 693, + "column": 0, + "type": "warning", + "message": "Possible binding to all interfaces.", + "rule": "B104", + "severity": "medium", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_96093db2-a024-4f0c-8d2a-cca1e3cf204f_20250918_153022.json b/src/FortifyCode/backend/reports/check_96093db2-a024-4f0c-8d2a-cca1e3cf204f_20250918_153022.json new file mode 100644 index 0000000..0b2f9ea --- /dev/null +++ b/src/FortifyCode/backend/reports/check_96093db2-a024-4f0c-8d2a-cca1e3cf204f_20250918_153022.json @@ -0,0 +1,1823 @@ +{ + "total_issues": 201, + "error_count": 1, + "warning_count": 200, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 89, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 95, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 110, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 158, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 278, + "column": 0, + "type": "warning", + "message": "Line too long (131/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 318, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 320, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 13 spaces, expected 12", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 331, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 336, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 347, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 369, + "column": 0, + "type": "warning", + "message": "Line too long (104/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 387, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 409, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 414, + "column": 73, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 441, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 444, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 461, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 476, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 490, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 495, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 500, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 505, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 527, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 531, + "column": 44, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 555, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 562, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 565, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 572, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 578, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 585, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 595, + "column": 82, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 608, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 617, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 636, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 638, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 644, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 646, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 660, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 666, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 671, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 673, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 676, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 681, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 73, + "column": 8, + "type": "warning", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 119, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 171, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 293, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 370, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 303, + "column": 0, + "type": "warning", + "message": "Too many return statements (9/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 388, + "column": 4, + "type": "warning", + "message": "Unused variable 'data'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 511, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 606, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 635, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 643, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 683, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 18, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 20, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 22, + "column": 0, + "type": "warning", + "message": "standard import \"functools.wraps\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 24, + "column": 0, + "type": "warning", + "message": "standard import \"decimal\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "Unused import json", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "20: E231 missing whitespace after ','", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 16, + "type": "warning", + "message": "1: F401 'json' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 43, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 51, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 66, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 80, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 89, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 95, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 107, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 110, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 132, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 144, + "type": "warning", + "message": "36: E261 at least two spaces before inline comment", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "93: E261 at least two spaces before inline comment", + "rule": "93:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 162, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "80: E501 line too long (91 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "76: E261 at least two spaces before inline comment", + "rule": "76:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 179, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 202, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 213, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 257, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 278, + "type": "warning", + "message": "80: E501 line too long (131 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 289, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 290, + "type": "warning", + "message": "48: E261 at least two spaces before inline comment", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 301, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 318, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "94: E261 at least two spaces before inline comment", + "rule": "94:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "71: E261 at least two spaces before inline comment", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E111 indentation is not a multiple of 4", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E117 over-indented", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 331, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 334, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "91: E261 at least two spaces before inline comment", + "rule": "91:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 353, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 354, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "78: E261 at least two spaces before inline comment", + "rule": "78:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 367, + "type": "warning", + "message": "24: E261 at least two spaces before inline comment", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "75: E261 at least two spaces before inline comment", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "80: E501 line too long (104 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 377, + "type": "warning", + "message": "1: E265 block comment should start with '# '", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 387, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 388, + "type": "warning", + "message": "5: F841 local variable 'data' is assigned to but never used", + "rule": "5:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 400, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 409, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 414, + "type": "warning", + "message": "74: W291 trailing whitespace", + "rule": "74:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 432, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 441, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 444, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 450, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 456, + "type": "warning", + "message": "26: W291 trailing whitespace", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 461, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 464, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 476, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 479, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 490, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 495, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 500, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 505, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 518, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 527, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 531, + "type": "warning", + "message": "45: W291 trailing whitespace", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 532, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 541, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 555, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 562, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 572, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 576, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 585, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 590, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 592, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "64: W291 trailing whitespace", + "rule": "64:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 608, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 633, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 638, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 646, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 649, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 660, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 661, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 662, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 666, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 667, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 668, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 671, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 673, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 681, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 690, + "type": "warning", + "message": "1: E305 expected 2 blank lines after class or function definition, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpmismvz4s\\server.py", + "line": 692, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_9c0815ae-95bd-4f83-aec7-05fba3a42bca_20251009_145949.json b/src/FortifyCode/backend/reports/check_9c0815ae-95bd-4f83-aec7-05fba3a42bca_20251009_145949.json new file mode 100644 index 0000000..1ca5b6c --- /dev/null +++ b/src/FortifyCode/backend/reports/check_9c0815ae-95bd-4f83-aec7-05fba3a42bca_20251009_145949.json @@ -0,0 +1,4223 @@ +{ + "total_issues": 467, + "error_count": 1, + "warning_count": 466, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 92, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 96, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 131, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 138, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 143, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 147, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 149, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 164, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 171, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 176, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 180, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 182, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 210, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 217, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 222, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 231, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 235, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 241, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 248, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 253, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 261, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 310, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 322, + "column": 0, + "type": "warning", + "message": "Line too long (103/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Line too long (112/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 332, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 348, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 351, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 359, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 364, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 370, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 379, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 388, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 393, + "column": 0, + "type": "warning", + "message": "Line too long (113/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 394, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 397, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 410, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 425, + "column": 0, + "type": "warning", + "message": "Line too long (102/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 427, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 431, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 436, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 440, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 445, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 450, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 453, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 458, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 471, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 474, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 480, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 490, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 497, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 511, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 515, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 524, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 541, + "column": 0, + "type": "warning", + "message": "Line too long (105/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 549, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 565, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 569, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 572, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 575, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 583, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 586, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 589, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 603, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 607, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 611, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 617, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 620, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 624, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 639, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 641, + "column": 0, + "type": "warning", + "message": "Line too long (118/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 644, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 655, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 658, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 671, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 685, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 689, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 693, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 699, + "column": 0, + "type": "warning", + "message": "Line too long (101/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 716, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 729, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 733, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 736, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 742, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 750, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 761, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 764, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 768, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 771, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 773, + "column": 0, + "type": "warning", + "message": "Line too long (114/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 775, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 778, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 784, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 799, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 813, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 817, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 822, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 826, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 831, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 835, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 841, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 850, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 853, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 867, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 871, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 876, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 882, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 884, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 889, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 893, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 897, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 903, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 916, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 927, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 939, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 942, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 948, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 952, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 957, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 959, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 964, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 967, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 971, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 974, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 988, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 992, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 997, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1002, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1007, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1014, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1019, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1022, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1025, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1028, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1042, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1046, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1051, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1057, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1059, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1064, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1068, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1072, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1075, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1084, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1089, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1099, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Too many lines in module (1105/1000)", + "rule": "C0302", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 84, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 85, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 88, + "column": 0, + "type": "warning", + "message": "Missing class docstring", + "rule": "C0115", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 141, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 97, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 174, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 148, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 220, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 181, + "column": 21, + "type": "warning", + "message": "'subprocess.run' used without explicitly defining the value for 'check'.", + "rule": "W1510", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 234, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 276, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 280, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 285, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 335, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 336, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 411, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 375, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 374, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 376, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 383, + "column": 16, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 412, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 419, + "column": 0, + "type": "warning", + "message": "Too many local variables (18/15)", + "rule": "R0914", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 498, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 479, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 488, + "column": 27, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 489, + "column": 24, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 499, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 419, + "column": 0, + "type": "warning", + "message": "Too many return statements (7/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 419, + "column": 0, + "type": "warning", + "message": "Too many branches (13/12)", + "rule": "R0912", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 552, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 553, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 590, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 581, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 580, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 582, + "column": 20, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 587, + "column": 12, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 591, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 672, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 673, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 719, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 720, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 751, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 752, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 800, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 782, + "column": 15, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 783, + "column": 12, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 801, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 854, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 855, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 928, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 929, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 859, + "column": 0, + "type": "warning", + "message": "Too many return statements (10/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 975, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 976, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1029, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1030, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 980, + "column": 0, + "type": "warning", + "message": "Too many return statements (7/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1076, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1077, + "column": 8, + "type": "warning", + "message": "Use lazy % formatting in logging functions", + "rule": "W1203", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1034, + "column": 0, + "type": "warning", + "message": "Too many return statements (8/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1088, + "column": 8, + "type": "warning", + "message": "Consider using 'sys.exit' instead", + "rule": "R1722", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1104, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 3, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 4, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 5, + "column": 0, + "type": "warning", + "message": "standard import \"subprocess\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 6, + "column": 0, + "type": "warning", + "message": "standard import \"tempfile\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 7, + "column": 0, + "type": "warning", + "message": "standard import \"shutil\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 9, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 10, + "column": 0, + "type": "warning", + "message": "standard import \"uuid\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "standard import \"zipfile\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 13, + "column": 0, + "type": "warning", + "message": "standard import \"logging\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\", \"werkzeug.utils.secure_filename\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "standard import \"pathlib.Path\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"git\", \"werkzeug.utils.secure_filename\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "Unused import zipfile", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "Unused Path imported from pathlib", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 11, + "type": "warning", + "message": "1: F401 'zipfile' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 15, + "type": "warning", + "message": "1: F401 'pathlib.Path' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 63, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 67, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 88, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 92, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 96, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 97, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 100, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 111, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 114, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 125, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 131, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 138, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 140, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 143, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 147, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 148, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 149, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 161, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 171, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 173, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 176, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 180, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 181, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 182, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 194, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 210, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 217, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 219, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 235, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 241, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 248, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 253, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 261, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 268, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 275, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 279, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 284, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 297, + "type": "warning", + "message": "28: W291 trailing whitespace", + "rule": "28:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 304, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 305, + "type": "warning", + "message": "80: E501 line too long (87 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 310, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 322, + "type": "warning", + "message": "80: E501 line too long (103 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "80: E501 line too long (112 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 332, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 339, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 348, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 351, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 355, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 359, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 364, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 370, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 379, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 387, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 388, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 391, + "type": "warning", + "message": "80: E501 line too long (122 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 393, + "type": "warning", + "message": "80: E501 line too long (113 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 394, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 397, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 399, + "type": "warning", + "message": "33: W291 trailing whitespace", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 410, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 418, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 425, + "type": "warning", + "message": "80: E501 line too long (102 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 427, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 431, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 436, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 440, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 445, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 450, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 453, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 458, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 464, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 471, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 474, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 480, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 490, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 493, + "type": "warning", + "message": "33: W291 trailing whitespace", + "rule": "33:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 497, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 502, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 509, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 511, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 515, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 518, + "type": "warning", + "message": "41: W291 trailing whitespace", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 519, + "type": "warning", + "message": "38: W291 trailing whitespace", + "rule": "38:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 520, + "type": "warning", + "message": "41: W291 trailing whitespace", + "rule": "41:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 524, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 534, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 535, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 540, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 541, + "type": "warning", + "message": "80: E501 line too long (105 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 549, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 556, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 563, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 572, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 575, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 583, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 586, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 589, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 594, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 601, + "type": "warning", + "message": "80: E501 line too long (80 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 603, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 607, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 611, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 614, + "type": "warning", + "message": "80: E501 line too long (83 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 620, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 624, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 627, + "type": "warning", + "message": "34: W291 trailing whitespace", + "rule": "34:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 628, + "type": "warning", + "message": "71: W291 trailing whitespace", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 629, + "type": "warning", + "message": "75: W291 trailing whitespace", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 634, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "80: E501 line too long (92 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 639, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "80: E501 line too long (118 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 648, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 648, + "type": "warning", + "message": "95: W291 trailing whitespace", + "rule": "95:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 649, + "type": "warning", + "message": "80: E501 line too long (94 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 653, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 655, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 658, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 671, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 683, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 685, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 689, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 691, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 693, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 698, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 699, + "type": "warning", + "message": "80: E501 line too long (101 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 716, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 723, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 729, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 733, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 736, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 742, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 750, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 755, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 761, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 764, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 768, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 771, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 773, + "type": "warning", + "message": "80: E501 line too long (114 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 775, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 778, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 784, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 799, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 804, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 811, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 813, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 817, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 822, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 826, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 828, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 831, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 835, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 840, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 841, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 846, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 847, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 850, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 853, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 858, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 865, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 867, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 871, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 876, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 882, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 884, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 886, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 889, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 893, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 897, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 903, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 916, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 924, + "type": "warning", + "message": "80: E501 line too long (95 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 927, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 932, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 939, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 942, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 946, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 948, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 952, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 957, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 959, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 961, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 964, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 967, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 971, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 974, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 979, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 986, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 988, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 992, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 997, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1002, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1007, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1011, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1013, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1014, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1016, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1019, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1022, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1025, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1028, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1033, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1040, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1042, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1046, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1051, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1057, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1059, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1061, + "type": "warning", + "message": "80: E501 line too long (86 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1064, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1068, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1072, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1075, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1084, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1089, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 1099, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 5, + "column": 0, + "type": "warning", + "message": "Consider possible security implications associated with the subprocess module.", + "rule": "B404", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 50, + "column": 0, + "type": "warning", + "message": "Possible hardcoded password: 'fortify-code-military-system-2024'", + "rule": "B105", + "severity": "low", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 97, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 148, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 181, + "column": 0, + "type": "warning", + "message": "subprocess call - check for execution of untrusted input.", + "rule": "B603", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1101, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmp7w9vjdja\\app.py", + "line": 1101, + "column": 0, + "type": "warning", + "message": "Possible binding to all interfaces.", + "rule": "B104", + "severity": "medium", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_c261e960-e63e-460e-b299-a50d0bf14db3_20250918_153056.json b/src/FortifyCode/backend/reports/check_c261e960-e63e-460e-b299-a50d0bf14db3_20250918_153056.json new file mode 100644 index 0000000..a229ed8 --- /dev/null +++ b/src/FortifyCode/backend/reports/check_c261e960-e63e-460e-b299-a50d0bf14db3_20250918_153056.json @@ -0,0 +1,1823 @@ +{ + "total_issues": 201, + "error_count": 1, + "warning_count": 200, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 89, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 95, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 110, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 158, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 278, + "column": 0, + "type": "warning", + "message": "Line too long (131/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 318, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 320, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 13 spaces, expected 12", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 331, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 336, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 347, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 369, + "column": 0, + "type": "warning", + "message": "Line too long (104/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 387, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 409, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 414, + "column": 73, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 441, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 444, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 461, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 476, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 490, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 495, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 500, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 505, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 527, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 531, + "column": 44, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 555, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 562, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 565, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 572, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 578, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 585, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 595, + "column": 82, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 608, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 617, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 636, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 638, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 644, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 646, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 660, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 666, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 671, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 673, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 676, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 681, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 73, + "column": 8, + "type": "warning", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 119, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 171, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 293, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 370, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 303, + "column": 0, + "type": "warning", + "message": "Too many return statements (9/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 388, + "column": 4, + "type": "warning", + "message": "Unused variable 'data'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 511, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 606, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 635, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 643, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 683, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 18, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 20, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 22, + "column": 0, + "type": "warning", + "message": "standard import \"functools.wraps\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 24, + "column": 0, + "type": "warning", + "message": "standard import \"decimal\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "Unused import json", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "20: E231 missing whitespace after ','", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 16, + "type": "warning", + "message": "1: F401 'json' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 43, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 51, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 66, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 80, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 89, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 95, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 107, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 110, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 132, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 144, + "type": "warning", + "message": "36: E261 at least two spaces before inline comment", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "93: E261 at least two spaces before inline comment", + "rule": "93:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 162, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "80: E501 line too long (91 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "76: E261 at least two spaces before inline comment", + "rule": "76:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 179, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 202, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 213, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 257, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 278, + "type": "warning", + "message": "80: E501 line too long (131 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 289, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 290, + "type": "warning", + "message": "48: E261 at least two spaces before inline comment", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 301, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 318, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "94: E261 at least two spaces before inline comment", + "rule": "94:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "71: E261 at least two spaces before inline comment", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E111 indentation is not a multiple of 4", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E117 over-indented", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 331, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 334, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "91: E261 at least two spaces before inline comment", + "rule": "91:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 353, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 354, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "78: E261 at least two spaces before inline comment", + "rule": "78:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 367, + "type": "warning", + "message": "24: E261 at least two spaces before inline comment", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "75: E261 at least two spaces before inline comment", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "80: E501 line too long (104 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 377, + "type": "warning", + "message": "1: E265 block comment should start with '# '", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 387, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 388, + "type": "warning", + "message": "5: F841 local variable 'data' is assigned to but never used", + "rule": "5:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 400, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 409, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 414, + "type": "warning", + "message": "74: W291 trailing whitespace", + "rule": "74:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 432, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 441, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 444, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 450, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 456, + "type": "warning", + "message": "26: W291 trailing whitespace", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 461, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 464, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 476, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 479, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 490, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 495, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 500, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 505, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 518, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 527, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 531, + "type": "warning", + "message": "45: W291 trailing whitespace", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 532, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 541, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 555, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 562, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 572, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 576, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 585, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 590, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 592, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "64: W291 trailing whitespace", + "rule": "64:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 608, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 633, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 638, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 646, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 649, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 660, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 661, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 662, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 666, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 667, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 668, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 671, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 673, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 681, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 690, + "type": "warning", + "message": "1: E305 expected 2 blank lines after class or function definition, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpdjlcjg2v\\server.py", + "line": 692, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_e2b49302-1967-4381-bb52-c07bc78de5c4_20250916_161547.json b/src/FortifyCode/backend/reports/check_e2b49302-1967-4381-bb52-c07bc78de5c4_20250916_161547.json new file mode 100644 index 0000000..63c7538 --- /dev/null +++ b/src/FortifyCode/backend/reports/check_e2b49302-1967-4381-bb52-c07bc78de5c4_20250916_161547.json @@ -0,0 +1,278 @@ +{ + "total_issues": 29, + "error_count": 0, + "warning_count": 29, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "Line too long (153/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 48, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 51, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 15, + "column": 0, + "type": "warning", + "message": "Constant name \"very_long_variable_name_that_exceeds_the_recommended_line_length_limit\" doesn't conform to UPPER_CASE naming style", + "rule": "C0103", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 38, + "column": 13, + "type": "warning", + "message": "Use of eval", + "rule": "W0123", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 52, + "column": 4, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 46, + "column": 0, + "type": "warning", + "message": "Too few public methods (1/2)", + "rule": "R0903", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 8, + "column": 0, + "type": "warning", + "message": "Unused import os", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 9, + "column": 0, + "type": "warning", + "message": "Unused import sys", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "Unused import subprocess", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 12, + "column": 0, + "type": "warning", + "message": "Unused urlparse imported from urllib.parse", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 8, + "type": "warning", + "message": "1: F401 'os' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 9, + "type": "warning", + "message": "1: F401 'sys' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 11, + "type": "warning", + "message": "1: F401 'subprocess' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 12, + "type": "warning", + "message": "1: F401 'urllib.parse.urlparse' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 15, + "type": "warning", + "message": "80: E501 line too long (153 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 17, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 25, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 31, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 35, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 41, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 46, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 48, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 51, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 56, + "type": "warning", + "message": "1: E305 expected 2 blank lines after class or function definition, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 11, + "column": 0, + "type": "warning", + "message": "Consider possible security implications associated with the subprocess module.", + "rule": "B404", + "severity": "low", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 21, + "column": 0, + "type": "warning", + "message": "Possible SQL injection vector through string-based query construction.", + "rule": "B608", + "severity": "medium", + "confidence": "LOW" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 38, + "column": 0, + "type": "warning", + "message": "Use of possibly insecure function - consider using safer ast.literal_eval.", + "rule": "B307", + "severity": "medium", + "confidence": "HIGH" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmpj1y1hh_8\\test_sample.py", + "line": 43, + "column": 0, + "type": "warning", + "message": "Possible hardcoded password: 'admin123'", + "rule": "B105", + "severity": "low", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/reports/check_f3a62841-5f35-4aba-98b7-daed8325d8b8_20250925_145057.json b/src/FortifyCode/backend/reports/check_f3a62841-5f35-4aba-98b7-daed8325d8b8_20250925_145057.json new file mode 100644 index 0000000..8758755 --- /dev/null +++ b/src/FortifyCode/backend/reports/check_f3a62841-5f35-4aba-98b7-daed8325d8b8_20250925_145057.json @@ -0,0 +1,1823 @@ +{ + "total_issues": 201, + "error_count": 1, + "warning_count": 200, + "info_count": 0, + "tools_status": { + "pylint": "completed", + "flake8": "completed", + "bandit": "completed" + }, + "all_issues": [ + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 89, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 95, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 98, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 101, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 110, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 158, + "column": 0, + "type": "warning", + "message": "Line too long (107/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 271, + "column": 0, + "type": "warning", + "message": "Line too long (110/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 278, + "column": 0, + "type": "warning", + "message": "Line too long (131/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 318, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 320, + "column": 0, + "type": "warning", + "message": "Line too long (116/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 321, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 328, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 13 spaces, expected 12", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 331, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 336, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 9 spaces, expected 8", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 347, + "column": 0, + "type": "warning", + "message": "Line too long (108/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 369, + "column": 0, + "type": "warning", + "message": "Line too long (104/100)", + "rule": "C0301", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 387, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 409, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 414, + "column": 73, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 441, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 444, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 461, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 476, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 490, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 495, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 500, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 505, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 527, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 531, + "column": 44, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 551, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 555, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 562, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 565, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 572, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 578, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 585, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 592, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 595, + "column": 82, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 608, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 617, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 636, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 638, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 644, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 646, + "column": 0, + "type": "warning", + "message": "Bad indentation. Found 5 spaces, expected 4", + "rule": "W0311", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 660, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 666, + "column": 61, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 671, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 673, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 676, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 681, + "column": 0, + "type": "warning", + "message": "Trailing whitespace", + "rule": "C0303", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 1, + "column": 0, + "type": "warning", + "message": "Missing module docstring", + "rule": "C0114", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 73, + "column": 8, + "type": "warning", + "message": "Unnecessary \"else\" after \"return\", remove the \"else\" and de-indent the code inside it", + "rule": "R1705", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 119, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 171, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 293, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 370, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 303, + "column": 0, + "type": "warning", + "message": "Too many return statements (9/6)", + "rule": "R0911", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 388, + "column": 4, + "type": "warning", + "message": "Unused variable 'data'", + "rule": "W0612", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 511, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 606, + "column": 23, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 635, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 643, + "column": 0, + "type": "warning", + "message": "Missing function or method docstring", + "rule": "C0116", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 683, + "column": 11, + "type": "warning", + "message": "Catching too general exception Exception", + "rule": "W0718", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "standard import \"json\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 18, + "column": 0, + "type": "warning", + "message": "standard import \"datetime.datetime\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 20, + "column": 0, + "type": "warning", + "message": "standard import \"os\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 22, + "column": 0, + "type": "warning", + "message": "standard import \"functools.wraps\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 24, + "column": 0, + "type": "warning", + "message": "standard import \"decimal\" should be placed before third party imports \"flask.Flask\", \"flask_cors.CORS\", \"pymysql\"", + "rule": "C0411", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 16, + "column": 0, + "type": "warning", + "message": "Unused import json", + "rule": "W0611", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "20: E231 missing whitespace after ','", + "rule": "20:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 6, + "type": "warning", + "message": "21: E261 at least two spaces before inline comment", + "rule": "21:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 16, + "type": "warning", + "message": "1: F401 'json' imported but unused", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 43, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 51, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 66, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 80, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 89, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 95, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 98, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 101, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 107, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 110, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 124, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 132, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 144, + "type": "warning", + "message": "36: E261 at least two spaces before inline comment", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "80: E501 line too long (107 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 158, + "type": "warning", + "message": "93: E261 at least two spaces before inline comment", + "rule": "93:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 162, + "type": "warning", + "message": "80: E501 line too long (97 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 164, + "type": "warning", + "message": "80: E501 line too long (91 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "76: E261 at least two spaces before inline comment", + "rule": "76:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 166, + "type": "warning", + "message": "80: E501 line too long (89 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 179, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 191, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 198, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 202, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 209, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 213, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 214, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 222, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "16: E261 at least two spaces before inline comment", + "rule": "16:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 223, + "type": "warning", + "message": "17: E262 inline comment should start with '# '", + "rule": "17:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 231, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 257, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 271, + "type": "warning", + "message": "80: E501 line too long (110 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 278, + "type": "warning", + "message": "80: E501 line too long (131 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 289, + "type": "warning", + "message": "59: E261 at least two spaces before inline comment", + "rule": "59:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 290, + "type": "warning", + "message": "48: E261 at least two spaces before inline comment", + "rule": "48:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 301, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "68: E261 at least two spaces before inline comment", + "rule": "68:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 309, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 318, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "80: E501 line too long (116 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 320, + "type": "warning", + "message": "94: E261 at least two spaces before inline comment", + "rule": "94:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "71: E261 at least two spaces before inline comment", + "rule": "71:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 321, + "type": "warning", + "message": "80: E501 line too long (90 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E111 indentation is not a multiple of 4", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 328, + "type": "warning", + "message": "14: E117 over-indented", + "rule": "14:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 331, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 334, + "type": "warning", + "message": "52: E261 at least two spaces before inline comment", + "rule": "52:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E111 indentation is not a multiple of 4", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "10: E117 over-indented", + "rule": "10:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 336, + "type": "warning", + "message": "80: E501 line too long (84 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "80: E501 line too long (108 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 347, + "type": "warning", + "message": "91: E261 at least two spaces before inline comment", + "rule": "91:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 353, + "type": "warning", + "message": "80: E501 line too long (99 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 354, + "type": "warning", + "message": "80: E501 line too long (88 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "78: E261 at least two spaces before inline comment", + "rule": "78:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 365, + "type": "warning", + "message": "80: E501 line too long (93 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 367, + "type": "warning", + "message": "24: E261 at least two spaces before inline comment", + "rule": "24:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "75: E261 at least two spaces before inline comment", + "rule": "75:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 369, + "type": "warning", + "message": "80: E501 line too long (104 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 377, + "type": "warning", + "message": "1: E265 block comment should start with '# '", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 378, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 387, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 388, + "type": "warning", + "message": "5: F841 local variable 'data' is assigned to but never used", + "rule": "5:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 400, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 409, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 414, + "type": "warning", + "message": "74: W291 trailing whitespace", + "rule": "74:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 415, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 432, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 441, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 444, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 450, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 456, + "type": "warning", + "message": "26: W291 trailing whitespace", + "rule": "26:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 461, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 464, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 476, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 479, + "type": "warning", + "message": "23: W291 trailing whitespace", + "rule": "23:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 490, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 495, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 500, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 505, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 518, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 527, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 531, + "type": "warning", + "message": "45: W291 trailing whitespace", + "rule": "45:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 532, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 541, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 551, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 555, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 562, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 565, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 569, + "type": "warning", + "message": "80: E501 line too long (85 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 572, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 576, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 578, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 585, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 590, + "type": "warning", + "message": "80: E501 line too long (81 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 592, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "80: E501 line too long (82 > 79 characters)", + "rule": "80:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 595, + "type": "warning", + "message": "83: W291 trailing whitespace", + "rule": "83:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 596, + "type": "warning", + "message": "64: W291 trailing whitespace", + "rule": "64:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 608, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 617, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 623, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 633, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 636, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 638, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 641, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 644, + "type": "warning", + "message": "6: E117 over-indented", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 646, + "type": "warning", + "message": "6: E111 indentation is not a multiple of 4", + "rule": "6:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 649, + "type": "warning", + "message": "1: E302 expected 2 blank lines, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 660, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 661, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 662, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 666, + "type": "warning", + "message": "62: W291 trailing whitespace", + "rule": "62:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 667, + "type": "warning", + "message": "36: W291 trailing whitespace", + "rule": "36:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 668, + "type": "warning", + "message": "57: W291 trailing whitespace", + "rule": "57:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 671, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 673, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 676, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 681, + "type": "warning", + "message": "1: W293 blank line contains whitespace", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C", + "line": 0, + "column": 690, + "type": "warning", + "message": "1: E305 expected 2 blank lines after class or function definition, found 1", + "rule": "1:", + "severity": "medium" + }, + { + "file": "C:\\Users\\51736\\AppData\\Local\\Temp\\tmph07vtc79\\server.py", + "line": 692, + "column": 0, + "type": "error", + "message": "A Flask app appears to be run with debug=True, which exposes the Werkzeug debugger and allows the execution of arbitrary code.", + "rule": "B201", + "severity": "high", + "confidence": "MEDIUM" + } + ] +} \ No newline at end of file diff --git a/src/FortifyCode/backend/requirements.txt b/src/FortifyCode/backend/requirements.txt new file mode 100644 index 0000000..e156f43 --- /dev/null +++ b/src/FortifyCode/backend/requirements.txt @@ -0,0 +1,5 @@ +Flask==2.3.3 +Flask-CORS==4.0.0 +PyMySQL==1.1.0 +GitPython==3.1.40 +Werkzeug==2.3.7 diff --git a/src/FortifyCode/css/style.css b/src/FortifyCode/css/style.css new file mode 100644 index 0000000..c181939 --- /dev/null +++ b/src/FortifyCode/css/style.css @@ -0,0 +1,1380 @@ +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; + background-color: #f5f7fa; + color: #333; + line-height: 1.6; +} + +/* 顶部导航栏 */ +.navbar { + background: linear-gradient(135deg, #1e3c72 0%, #2a5298 100%); + color: white; + padding: 0 20px; + box-shadow: 0 2px 10px rgba(0,0,0,0.1); + position: fixed; + top: 0; + left: 0; + right: 0; + z-index: 1000; +} + +.navbar-content { + display: flex; + align-items: center; + justify-content: space-between; + height: 60px; + max-width: 1200px; + margin: 0 auto; +} + +.logo { + display: flex; + align-items: center; + font-size: 20px; + font-weight: bold; +} + +.logo i { + margin-right: 10px; + color: #ffd700; +} + +.nav-menu { + display: flex; + list-style: none; + gap: 30px; +} + +.nav-menu a { + color: white; + text-decoration: none; + padding: 8px 16px; + border-radius: 4px; + transition: background-color 0.3s; +} + +.nav-menu a:hover { + background-color: rgba(255,255,255,0.1); +} + +.user-info { + display: flex; + align-items: center; + gap: 15px; +} + +.notification { + position: relative; + cursor: pointer; +} + +.notification-badge { + position: absolute; + top: -5px; + right: -5px; + background: #ff4757; + color: white; + border-radius: 50%; + width: 18px; + height: 18px; + font-size: 12px; + display: flex; + align-items: center; + justify-content: center; +} + +/* 主内容区域 */ +.main-content { + margin-top: 60px; + padding: 20px; + max-width: 1200px; + margin-left: auto; + margin-right: auto; +} + +/* 页面标题 */ +.page-header { + background: white; + padding: 30px; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + margin-bottom: 20px; +} + +.page-title { + font-size: 28px; + color: #1e3c72; + margin-bottom: 10px; +} + +.page-subtitle { + color: #666; + font-size: 16px; +} + +/* 统计卡片 */ +.stats-grid { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); + gap: 20px; + margin-bottom: 30px; +} + +.stat-card { + background: white; + padding: 25px; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + display: flex; + align-items: center; + transition: transform 0.3s, box-shadow 0.3s; +} + +.stat-card:hover { + transform: translateY(-2px); + box-shadow: 0 4px 15px rgba(0,0,0,0.15); +} + +.stat-icon { + width: 60px; + height: 60px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 20px; + font-size: 24px; + color: white; +} + +.stat-icon.primary { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } +.stat-icon.success { background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%); } +.stat-icon.warning { background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%); } +.stat-icon.danger { background: linear-gradient(135deg, #ff9a9e 0%, #fecfef 100%); } + +.stat-content h3 { + font-size: 32px; + font-weight: bold; + margin-bottom: 5px; +} + +.stat-content p { + color: #666; + font-size: 14px; +} + +/* 功能区域 */ +.function-grid { + display: grid; + grid-template-columns: 2fr 1fr; + gap: 20px; + margin-bottom: 30px; +} + +.main-panel { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.panel-header { + background: #f8f9fa; + padding: 20px; + border-bottom: 1px solid #e9ecef; + display: flex; + justify-content: space-between; + align-items: center; +} + +.panel-title { + font-size: 18px; + font-weight: 600; + color: #1e3c72; +} + +.panel-content { + padding: 20px; +} + +/* 代码上传区域 */ +.upload-area { + border: 2px dashed #ddd; + border-radius: 8px; + padding: 40px; + text-align: center; + transition: all 0.3s; + cursor: pointer; +} + +.upload-area:hover { + border-color: #1e3c72; + background-color: #f8f9ff; +} + +.upload-area.dragover { + border-color: #1e3c72; + background-color: #e8f0ff; +} + +.upload-icon { + font-size: 48px; + color: #1e3c72; + margin-bottom: 20px; +} + +.upload-text { + font-size: 16px; + color: #666; + margin-bottom: 10px; +} + +.upload-hint { + font-size: 14px; + color: #999; +} + +.file-input { + display: none; +} + +/* 多Agent状态面板 */ +.agent-status { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.agent-list { + padding: 20px; +} + +.agent-item { + display: flex; + align-items: center; + padding: 15px; + border-radius: 6px; + margin-bottom: 10px; + background: #f8f9fa; + transition: all 0.3s; +} + +.agent-item:hover { + background: #e9ecef; +} + +.agent-avatar { + width: 40px; + height: 40px; + border-radius: 50%; + background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); + display: flex; + align-items: center; + justify-content: center; + color: white; + margin-right: 15px; + font-weight: bold; +} + +.agent-info { + flex: 1; +} + +.agent-name { + font-weight: 600; + margin-bottom: 5px; +} + +.agent-status-badge { + padding: 4px 8px; + border-radius: 12px; + font-size: 12px; + font-weight: 500; +} + +.status-idle { background: #e3f2fd; color: #1976d2; } +.status-working { background: #fff3e0; color: #f57c00; } +.status-completed { background: #e8f5e8; color: #388e3c; } +.status-error { background: #ffebee; color: #d32f2f; } + +/* 检查结果区域 */ +.results-section { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + margin-bottom: 30px; +} + +.results-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + border-bottom: 1px solid #e9ecef; +} + +.results-title { + font-size: 18px; + font-weight: 600; + color: #1e3c72; +} + +.filter-tabs { + display: flex; + gap: 10px; +} + +.filter-tab { + padding: 8px 16px; + border: 1px solid #ddd; + border-radius: 20px; + background: white; + color: #666; + cursor: pointer; + transition: all 0.3s; +} + +.filter-tab.active { + background: #1e3c72; + color: white; + border-color: #1e3c72; +} + +.results-content { + padding: 20px; +} + +.result-item { + display: flex; + align-items: center; + padding: 15px; + border: 1px solid #e9ecef; + border-radius: 6px; + margin-bottom: 10px; + transition: all 0.3s; +} + +.result-item:hover { + box-shadow: 0 2px 8px rgba(0,0,0,0.1); +} + +.result-icon { + width: 40px; + height: 40px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 15px; + font-size: 18px; +} + +.result-icon.error { background: #ffebee; color: #d32f2f; } +.result-icon.warning { background: #fff3e0; color: #f57c00; } +.result-icon.info { background: #e3f2fd; color: #1976d2; } + +.result-content { + flex: 1; +} + +.result-title { + font-weight: 600; + margin-bottom: 5px; +} + +.result-description { + color: #666; + font-size: 14px; +} + +.result-location { + color: #999; + font-size: 12px; + margin-top: 5px; +} + +.result-actions { + display: flex; + gap: 10px; +} + +.btn { + padding: 8px 16px; + border: none; + border-radius: 4px; + cursor: pointer; + font-size: 14px; + transition: all 0.3s; +} + +.btn-primary { + background: #1e3c72; + color: white; +} + +.btn-primary:hover { + background: #2a5298; +} + +.btn-secondary { + background: #6c757d; + color: white; +} + +.btn-secondary:hover { + background: #5a6268; +} + +.btn-danger { + background: #dc3545; + color: white; +} + +.btn-danger:hover { + background: #c82333; +} + +/* 进度条 */ +.progress-container { + margin: 20px 0; +} + +.progress-bar { + width: 100%; + height: 8px; + background: #e9ecef; + border-radius: 4px; + overflow: hidden; +} + +.progress-fill { + height: 100%; + background: linear-gradient(90deg, #1e3c72 0%, #2a5298 100%); + transition: width 0.3s; +} + +.progress-text { + text-align: center; + margin-top: 10px; + color: #666; + font-size: 14px; +} + +/* 响应式设计 */ +@media (max-width: 768px) { + .function-grid { + grid-template-columns: 1fr; + } + + .stats-grid { + grid-template-columns: 1fr; + } + + .nav-menu { + display: none; + } +} + +/* 动画效果 */ +@keyframes fadeIn { + from { opacity: 0; transform: translateY(20px); } + to { opacity: 1; transform: translateY(0); } +} + +.fade-in { + animation: fadeIn 0.6s ease-out; +} + +/* 加载动画 */ +.loading { + display: inline-block; + width: 20px; + height: 20px; + border: 3px solid #f3f3f3; + border-top: 3px solid #1e3c72; + border-radius: 50%; + animation: spin 1s linear infinite; +} + +@keyframes spin { + 0% { transform: rotate(0deg); } + 100% { transform: rotate(360deg); } +} + +/* 页面内容区域 */ +.page-content { + display: none; +} + +.page-content.active { + display: block; +} + +/* 导航链接激活状态 */ +.nav-link.active { + background-color: rgba(255,255,255,0.2); +} + +/* 项目管理页面样式 */ +.projects-container { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.projects-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; +} + +.projects-actions { + display: flex; + gap: 10px; +} + +.projects-search { + position: relative; + display: flex; + align-items: center; +} + +.search-input { + padding: 8px 35px 8px 12px; + border: 1px solid #ddd; + border-radius: 20px; + width: 250px; + font-size: 14px; +} + +.search-input:focus { + outline: none; + border-color: #1e3c72; +} + +.projects-search i { + position: absolute; + right: 12px; + color: #666; +} + +.projects-grid { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); + gap: 20px; + padding: 20px; +} + +.project-card { + background: white; + border: 1px solid #e9ecef; + border-radius: 8px; + padding: 20px; + transition: all 0.3s; + cursor: pointer; +} + +.project-card:hover { + box-shadow: 0 4px 15px rgba(0,0,0,0.1); + transform: translateY(-2px); +} + +.project-header { + display: flex; + justify-content: space-between; + align-items: flex-start; + margin-bottom: 15px; +} + +.project-title { + font-size: 18px; + font-weight: 600; + color: #1e3c72; + margin-bottom: 5px; +} + +.project-status { + padding: 4px 8px; + border-radius: 12px; + font-size: 12px; + font-weight: 500; +} + +.status-active { background: #e8f5e8; color: #388e3c; } +.status-pending { background: #fff3e0; color: #f57c00; } +.status-completed { background: #e3f2fd; color: #1976d2; } + +.project-description { + color: #666; + font-size: 14px; + margin-bottom: 15px; + line-height: 1.5; +} + +.project-stats { + display: flex; + justify-content: space-between; + margin-bottom: 15px; +} + +.project-stat { + text-align: center; +} + +.project-stat-value { + font-size: 18px; + font-weight: bold; + color: #1e3c72; +} + +.project-stat-label { + font-size: 12px; + color: #666; +} + +.project-actions { + display: flex; + gap: 6px; + flex-wrap: wrap; +} + +.project-actions .btn { + flex: 1; + padding: 6px 8px; + font-size: 11px; + min-width: 60px; +} + +.project-actions .btn-danger { + flex: 0 0 auto; + min-width: 50px; +} + +/* 项目详情页面样式 */ +.project-detail-container { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 20px; + margin-bottom: 20px; +} + +/* 文件浏览器样式 */ +.file-browser-panel { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; + margin-bottom: 20px; +} + +.file-actions { + display: flex; + gap: 8px; +} + +.file-actions .btn { + padding: 6px 12px; + font-size: 12px; +} + +.file-path { + background: #f8f9fa; + padding: 8px 15px; + border-top: 1px solid #e9ecef; + font-family: 'Courier New', monospace; + font-size: 14px; + color: #666; +} + +.file-browser-content { + max-height: 400px; + overflow-y: auto; +} + +.file-tree { + padding: 10px; +} + +.file-item { + display: flex; + align-items: center; + padding: 8px 12px; + cursor: pointer; + border-radius: 4px; + transition: background-color 0.2s; + user-select: none; +} + +.file-item:hover { + background-color: #f8f9fa; +} + +.file-item.selected { + background-color: #e3f2fd; + color: #1976d2; +} + +.file-icon { + width: 20px; + height: 20px; + margin-right: 10px; + display: flex; + align-items: center; + justify-content: center; + font-size: 14px; +} + +.file-icon.folder { + color: #ffc107; +} + +.file-icon.file { + color: #6c757d; +} + +.file-icon.python { + color: #3776ab; +} + +.file-icon.js { + color: #f7df1e; +} + +.file-icon.css { + color: #1572b6; +} + +.file-icon.html { + color: #e34f26; +} + +.file-name { + flex: 1; + font-size: 14px; +} + +.file-size { + font-size: 12px; + color: #666; + margin-left: 10px; +} + +.file-actions-menu { + display: none; + position: absolute; + background: white; + border: 1px solid #ddd; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0,0,0,0.15); + z-index: 1000; + min-width: 120px; +} + +.file-actions-menu.show { + display: block; +} + +.file-actions-menu button { + display: block; + width: 100%; + padding: 8px 12px; + border: none; + background: none; + text-align: left; + cursor: pointer; + font-size: 12px; +} + +.file-actions-menu button:hover { + background-color: #f8f9fa; +} + +/* 代码编辑器样式 */ +.code-editor-panel { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; + margin-bottom: 20px; +} + +.editor-actions { + display: flex; + gap: 8px; +} + +.editor-actions .btn { + padding: 6px 12px; + font-size: 12px; +} + +.file-info { + background: #f8f9fa; + padding: 8px 15px; + border-top: 1px solid #e9ecef; + font-family: 'Courier New', monospace; + font-size: 14px; + color: #666; +} + +.editor-content { + height: 500px; + position: relative; +} + +#codeEditor { + width: 100%; + height: 100%; + border: none; + padding: 15px; + font-family: 'Courier New', monospace; + font-size: 14px; + line-height: 1.5; + resize: none; + outline: none; + background: #fafafa; +} + +#codeEditor:focus { + background: white; +} + +/* 成功按钮样式 */ +.btn-success { + background: #28a745; + color: white; +} + +.btn-success:hover { + background: #218838; +} + +.project-info-panel, +.check-history-panel, +.check-results-panel { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.check-results-panel { + grid-column: 1 / -1; +} + +/* 检查报告页面样式 */ +.reports-container { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.reports-filters { + display: flex; + gap: 20px; + padding: 20px; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; +} + +.filter-group { + display: flex; + align-items: center; + gap: 8px; +} + +.filter-group label { + font-weight: 500; + color: #333; +} + +.filter-select { + padding: 6px 12px; + border: 1px solid #ddd; + border-radius: 4px; + background: white; + font-size: 14px; +} + +.reports-content { + padding: 20px; +} + +.reports-summary { + margin-bottom: 30px; +} + +.summary-card { + background: #f8f9fa; + border-radius: 8px; + padding: 20px; +} + +.summary-card h3 { + margin-bottom: 15px; + color: #1e3c72; +} + +.summary-stats { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); + gap: 20px; +} + +.summary-item { + display: flex; + flex-direction: column; + align-items: center; + text-align: center; +} + +.summary-label { + font-size: 14px; + color: #666; + margin-bottom: 5px; +} + +.summary-value { + font-size: 24px; + font-weight: bold; + color: #1e3c72; +} + +.reports-list { + display: flex; + flex-direction: column; + gap: 15px; +} + +.report-item { + display: flex; + align-items: center; + padding: 15px; + border: 1px solid #e9ecef; + border-radius: 6px; + transition: all 0.3s; +} + +.report-item:hover { + box-shadow: 0 2px 8px rgba(0,0,0,0.1); +} + +.report-icon { + width: 40px; + height: 40px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin-right: 15px; + font-size: 18px; +} + +.report-icon.success { background: #e8f5e8; color: #388e3c; } +.report-icon.warning { background: #fff3e0; color: #f57c00; } +.report-icon.error { background: #ffebee; color: #d32f2f; } + +.report-content { + flex: 1; +} + +.report-title { + font-weight: 600; + margin-bottom: 5px; +} + +.report-meta { + color: #666; + font-size: 14px; +} + +.report-actions { + display: flex; + gap: 8px; +} + +/* 系统设置页面样式 */ +.settings-container { + background: white; + border-radius: 8px; + box-shadow: 0 2px 8px rgba(0,0,0,0.1); + overflow: hidden; +} + +.settings-tabs { + display: flex; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; +} + +.settings-tab { + padding: 15px 20px; + cursor: pointer; + border-bottom: 3px solid transparent; + transition: all 0.3s; + font-weight: 500; +} + +.settings-tab:hover { + background: #e9ecef; +} + +.settings-tab.active { + border-bottom-color: #1e3c72; + color: #1e3c72; + background: white; +} + +.settings-content { + padding: 20px; +} + +.settings-panel { + display: none; +} + +.settings-panel.active { + display: block; +} + +.settings-section { + margin-bottom: 30px; +} + +.settings-section h3 { + margin-bottom: 15px; + color: #1e3c72; + border-bottom: 2px solid #e9ecef; + padding-bottom: 8px; +} + +.setting-item { + display: flex; + align-items: center; + justify-content: space-between; + padding: 12px 0; + border-bottom: 1px solid #f0f0f0; +} + +.setting-item:last-child { + border-bottom: none; +} + +.setting-item label { + font-weight: 500; + color: #333; +} + +.setting-input, .setting-select { + padding: 8px 12px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 14px; + width: 200px; +} + +.setting-input:focus, .setting-select:focus { + outline: none; + border-color: #1e3c72; +} + +/* Agent配置样式 */ +.agent-config-list { + display: flex; + flex-direction: column; + gap: 20px; +} + +.agent-config-item { + border: 1px solid #e9ecef; + border-radius: 8px; + padding: 20px; + background: #f8f9fa; +} + +.agent-config-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 15px; +} + +.agent-config-header h4 { + color: #1e3c72; + margin: 0; +} + +.agent-config-details { + display: grid; + grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); + gap: 15px; +} + +/* 开关样式 */ +.switch { + position: relative; + display: inline-block; + width: 50px; + height: 24px; +} + +.switch input { + opacity: 0; + width: 0; + height: 0; +} + +.slider { + position: absolute; + cursor: pointer; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: #ccc; + transition: .4s; + border-radius: 24px; +} + +.slider:before { + position: absolute; + content: ""; + height: 18px; + width: 18px; + left: 3px; + bottom: 3px; + background-color: white; + transition: .4s; + border-radius: 50%; +} + +input:checked + .slider { + background-color: #1e3c72; +} + +input:checked + .slider:before { + transform: translateX(26px); +} + +/* 规则配置样式 */ +.rules-list { + display: flex; + flex-direction: column; + gap: 15px; +} + +.rule-item { + border: 1px solid #e9ecef; + border-radius: 6px; + padding: 15px; + background: #f8f9fa; +} + +.rule-header { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 10px; +} + +.rule-header h4 { + margin: 0; + color: #333; +} + +.rule-details { + display: flex; + align-items: center; + gap: 10px; +} + +.rule-details label { + font-size: 14px; + color: #666; +} + +/* 设置操作按钮 */ +.settings-actions { + display: flex; + justify-content: flex-end; + gap: 10px; + padding: 20px; + border-top: 1px solid #e9ecef; + background: #f8f9fa; +} + +/* 模态框样式 */ +.modal { + display: none; + position: fixed; + z-index: 2000; + left: 0; + top: 0; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.5); +} + +.modal-content { + background-color: white; + margin: 5% auto; + padding: 0; + border-radius: 8px; + width: 90%; + max-width: 600px; + box-shadow: 0 4px 20px rgba(0,0,0,0.3); +} + +.modal-header { + display: flex; + justify-content: space-between; + align-items: center; + padding: 20px; + border-bottom: 1px solid #e9ecef; + background: #f8f9fa; + border-radius: 8px 8px 0 0; +} + +.modal-header h2 { + margin: 0; + color: #1e3c72; +} + +.close { + color: #aaa; + font-size: 28px; + font-weight: bold; + cursor: pointer; +} + +.close:hover { + color: #000; +} + +.modal-body { + padding: 20px; +} + +.modal-footer { + display: flex; + justify-content: flex-end; + gap: 10px; + padding: 20px; + border-top: 1px solid #e9ecef; + background: #f8f9fa; + border-radius: 0 0 8px 8px; +} + +/* 表单样式 */ +.form-group { + margin-bottom: 20px; +} + +.form-group label { + display: block; + margin-bottom: 8px; + font-weight: 500; + color: #333; +} + +.form-group input, +.form-group textarea, +.form-group select { + width: 100%; + padding: 10px; + border: 1px solid #ddd; + border-radius: 4px; + font-size: 14px; + box-sizing: border-box; +} + +.form-group input:focus, +.form-group textarea:focus, +.form-group select:focus { + outline: none; + border-color: #1e3c72; +} + +.source-type-tabs { + display: flex; + gap: 20px; + margin-top: 10px; +} + +.source-type-tabs input[type="radio"] { + width: auto; + margin-right: 8px; +} + +.source-type-tabs label { + display: flex; + align-items: center; + cursor: pointer; + font-weight: normal; +} + +/* 响应式设计更新 */ +@media (max-width: 768px) { + .project-detail-container { + grid-template-columns: 1fr; + } + + .projects-header { + flex-direction: column; + gap: 15px; + align-items: stretch; + } + + .projects-actions { + justify-content: center; + } + + .projects-search { + justify-content: center; + } + + .search-input { + width: 100%; + } + + .reports-filters { + flex-direction: column; + gap: 15px; + } + + .filter-group { + flex-direction: column; + align-items: flex-start; + } + + .settings-tabs { + flex-wrap: wrap; + } + + .setting-item { + flex-direction: column; + align-items: flex-start; + gap: 8px; + } + + .setting-input, .setting-select { + width: 100%; + } + + .modal-content { + width: 95%; + margin: 10% auto; + } +} diff --git a/src/FortifyCode/index.html b/src/FortifyCode/index.html new file mode 100644 index 0000000..eebe868 --- /dev/null +++ b/src/FortifyCode/index.html @@ -0,0 +1,361 @@ + + + + + + 基于多agent协同的军工Python代码合规性检查系统 - FortifyCode + + + + + + + + +
+ +
+ + + + +
+
+
+ +
+
+

1,247

+

已检查文件

+
+
+
+
+ +
+
+

98.5%

+

合规率

+
+
+
+
+ +
+
+

23

+

待修复问题

+
+
+
+
+ +
+
+

5

+

高危漏洞

+
+
+
+ + +
+ +
+
+

快捷代码检查

+
+ Python +
+
+
+
+
+ +
+
拖拽文件到此处或点击上传
+
支持 .py, .pyx, .pyi 文件,最大 100MB
+ +
+ + + +
+ + +
+
+
+ + +
+
+

Agent 状态

+
+
+
+
A1
+
+
pylint Agent
+ 空闲 +
+
+
+
A2
+
+
flake8 Agent
+ 空闲 +
+
+
+
A3
+
+
bandit Agent
+ 空闲 +
+
+
+
+
+ + + +
+ + +
+ + +
+
+
+ +
+ +
+ +
+ +
+
+
+ + +
+ + +
+
+
+

项目信息

+
+ + + +
+
+
+ +
+
+ +
+
+

检查历史

+
+
+ +
+
+
+ + +
+
+
+

文件浏览器

+
+ + + +
+
+
+ / +
+
+
+
+ +
+
+
+ + + + + + +
+
+ + + + + + + \ No newline at end of file diff --git a/src/FortifyCode/js/app.js b/src/FortifyCode/js/app.js new file mode 100644 index 0000000..c7dcc65 --- /dev/null +++ b/src/FortifyCode/js/app.js @@ -0,0 +1,1607 @@ +// 全局变量 +let uploadedFiles = []; +let isChecking = false; +let checkProgress = 0; +let currentProject = null; +let projects = []; + +// API 基础URL +const API_BASE_URL = 'http://localhost:5000/api'; + +// DOM 元素 +const uploadArea = document.getElementById('uploadArea'); +const fileInput = document.getElementById('fileInput'); +const progressContainer = document.getElementById('progressContainer'); +const progressFill = document.getElementById('progressFill'); +const progressText = document.getElementById('progressText'); +const startCheckBtn = document.getElementById('startCheckBtn'); +const stopCheckBtn = document.getElementById('stopCheckBtn'); +const resultsSection = document.getElementById('resultsSection'); +const resultsContent = document.getElementById('resultsContent'); + + +// 页面切换功能 +const navLinks = document.querySelectorAll('.nav-link'); +const pageContents = document.querySelectorAll('.page-content'); + +navLinks.forEach(link => { + link.addEventListener('click', (e) => { + e.preventDefault(); + const targetPage = link.getAttribute('href').substring(1); + showPage(targetPage); + + // 更新导航状态 + navLinks.forEach(l => l.classList.remove('active')); + link.classList.add('active'); + }); +}); + +function showPage(pageId) { + pageContents.forEach(page => { + page.classList.remove('active'); + }); + + const targetPage = document.getElementById(pageId + '-page'); + if (targetPage) { + targetPage.classList.add('active'); + + // 根据页面加载相应数据 + switch(pageId) { + case 'dashboard': + loadDashboardData(); + break; + case 'projects': + loadProjects(); + break; + } + } +} + +// 文件上传处理 +uploadArea.addEventListener('click', () => fileInput.click()); +uploadArea.addEventListener('dragover', handleDragOver); +uploadArea.addEventListener('dragleave', handleDragLeave); +uploadArea.addEventListener('drop', handleDrop); +fileInput.addEventListener('change', handleFileSelect); + +function handleDragOver(e) { + e.preventDefault(); + uploadArea.classList.add('dragover'); +} + +function handleDragLeave(e) { + e.preventDefault(); + uploadArea.classList.remove('dragover'); +} + +function handleDrop(e) { + e.preventDefault(); + uploadArea.classList.remove('dragover'); + const files = Array.from(e.dataTransfer.files); + processFiles(files); +} + +function handleFileSelect(e) { + const files = Array.from(e.target.files); + processFiles(files); +} + +function processFiles(files) { + const validFiles = files.filter(file => + file.name.endsWith('.py') || + file.name.endsWith('.pyx') || + file.name.endsWith('.pyi') + ); + + if (validFiles.length === 0) { + alert('请选择有效的 Python 文件!'); + return; + } + + uploadedFiles = validFiles; + updateUploadArea(); + startCheckBtn.style.display = 'inline-block'; +} + +function updateUploadArea() { + if (uploadedFiles.length > 0) { + uploadArea.innerHTML = ` +
+ +
+
已选择 ${uploadedFiles.length} 个文件
+
${uploadedFiles.map(f => f.name).join(', ')}
+ `; + } +} + +// 开始检查 +startCheckBtn.addEventListener('click', startCheck); +stopCheckBtn.addEventListener('click', stopCheck); + +async function startCheck() { + if (uploadedFiles.length === 0) { + alert('请先上传文件!'); + return; + } + + isChecking = true; + startCheckBtn.style.display = 'none'; + stopCheckBtn.style.display = 'inline-block'; + progressContainer.style.display = 'block'; + resultsSection.style.display = 'none'; + + // 更新 Agent 状态 + updateAgentStatus('working'); + + try { + // 第一步:上传文件 + updateProgress(10, '正在上传文件...'); + const uploadResult = await uploadFiles(); + + if (!uploadResult || !uploadResult.success) { + throw new Error(uploadResult?.error || '文件上传失败'); + } + + // 第二步:开始代码检查 + updateProgress(30, '开始代码检查...'); + const checkResult = await runCodeCheck(uploadResult.data.temp_path); + + if (!checkResult || !checkResult.success) { + throw new Error(checkResult?.error || '代码检查失败'); + } + + // 第三步:处理检查结果 + updateProgress(90, '处理检查结果...'); + await processCheckResults(checkResult.data); + + // 第四步:完成检查 + updateProgress(100, '检查完成!'); + completeCheck(); + + } catch (error) { + console.error('检查过程出错:', error); + alert('检查失败:' + error.message); + stopCheck(); + } +} + +function stopCheck() { + isChecking = false; + startCheckBtn.style.display = 'inline-block'; + stopCheckBtn.style.display = 'none'; + progressContainer.style.display = 'none'; + + // 更新 Agent 状态 + updateAgentStatus('idle'); +} + +function updateAgentStatus(status) { + const agentItems = document.querySelectorAll('.agent-item'); + agentItems.forEach(item => { + const badge = item.querySelector('.agent-status-badge'); + badge.className = `agent-status-badge status-${status}`; + badge.textContent = status === 'working' ? '工作中' : + status === 'completed' ? '完成' : '空闲'; + }); +} + +// 更新进度条 +function updateProgress(progress, text) { + progressFill.style.width = progress + '%'; + progressText.textContent = text; +} + +// 上传文件到服务器 +async function uploadFiles() { + try { + if (uploadedFiles.length === 0) { + throw new Error('没有选择要上传的文件'); + } + + const formData = new FormData(); + uploadedFiles.forEach(file => { + formData.append('files', file); + }); + + const response = await fetch(`${API_BASE_URL}/upload`, { + method: 'POST', + body: formData + }); + + if (!response.ok) { + throw new Error(`HTTP错误: ${response.status} ${response.statusText}`); + } + + const result = await response.json(); + return result; + } catch (error) { + console.error('上传文件时发生错误:', error); + return { + success: false, + error: error.message || '网络连接失败,请检查后端服务是否正常运行' + }; + } +} + +// 运行代码检查 +async function runCodeCheck(tempPath) { + try { + const response = await fetch(`${API_BASE_URL}/check`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + temp_path: tempPath + }) + }); + + if (!response.ok) { + throw new Error(`HTTP错误: ${response.status} ${response.statusText}`); + } + + const result = await response.json(); + return result; + } catch (error) { + console.error('代码检查时发生错误:', error); + return { + success: false, + error: error.message || '代码检查失败,请检查后端服务是否正常运行' + }; + } +} + +// 处理检查结果 +async function processCheckResults(data) { + // 更新统计信息 + updateStatistics(data); + + // 更新工具状态 + updateToolsStatus(data.tools_status); + + // 显示检查结果 + displayResults(data.all_issues); + + // 更新Agent状态 + updateAgentStatus('completed'); +} + +// 更新统计信息 +function updateStatistics(data) { + // 更新仪表板上的统计数据 + const totalFilesElement = document.getElementById('totalFiles'); + const complianceRateElement = document.getElementById('complianceRate'); + const pendingIssuesElement = document.getElementById('pendingIssues'); + const highRiskIssuesElement = document.getElementById('highRiskIssues'); + + if (totalFilesElement) { + // 这里可以计算实际检查的文件数 + totalFilesElement.textContent = uploadedFiles.length; + } + + if (pendingIssuesElement) { + pendingIssuesElement.textContent = data.warning_count || 0; + } + + if (highRiskIssuesElement) { + highRiskIssuesElement.textContent = data.error_count || 0; + } + + if (complianceRateElement) { + const totalIssues = data.total_issues || 0; + const complianceRate = totalIssues === 0 ? 100 : Math.max(0, 100 - (totalIssues * 2)); + complianceRateElement.textContent = complianceRate.toFixed(1) + '%'; + } + + console.log('检查结果统计:', { + total_issues: data.total_issues, + error_count: data.error_count, + warning_count: data.warning_count, + info_count: data.info_count + }); +} + +// 更新工具状态 +function updateToolsStatus(toolsStatus) { + const agentItems = document.querySelectorAll('.agent-item'); + const toolNames = ['pylint', 'flake8', 'bandit']; + + agentItems.forEach((item, index) => { + const badge = item.querySelector('.agent-status-badge'); + const toolName = toolNames[index]; + const status = toolsStatus && toolsStatus[toolName] ? toolsStatus[toolName] : 'error'; + + badge.className = `agent-status-badge status-${status}`; + + switch(status) { + case 'completed': + badge.textContent = '完成'; + break; + case 'error': + badge.textContent = '错误'; + break; + case 'timeout': + badge.textContent = '超时'; + break; + default: + badge.textContent = '空闲'; + } + }); +} + +// 查看问题详情 +function viewIssueDetail(rule, message) { + const detailModal = document.createElement('div'); + detailModal.className = 'modal'; + detailModal.style.display = 'block'; + detailModal.innerHTML = ` + + `; + document.body.appendChild(detailModal); +} + +// 显示修复建议 +function showFixSuggestion(rule, message) { + const suggestions = { + 'B608': '使用参数化查询替代字符串拼接,例如使用 cursor.execute("SELECT * FROM table WHERE id = %s", (user_id,))', + 'E501': '将长行拆分为多行,使用括号或反斜杠进行换行', + 'C0114': '为函数添加文档字符串,描述函数的功能、参数和返回值', + 'W0613': '移除未使用的参数,或使用下划线前缀表示故意未使用的参数', + 'default': '请参考相关代码规范文档,确保代码符合军事项目标准' + }; + + const suggestion = suggestions[rule] || suggestions['default']; + + const suggestionModal = document.createElement('div'); + suggestionModal.className = 'modal'; + suggestionModal.style.display = 'block'; + suggestionModal.innerHTML = ` + + `; + document.body.appendChild(suggestionModal); +} + +// 模拟检查函数已被真实的API调用替代 + +function completeCheck() { + isChecking = false; + startCheckBtn.style.display = 'inline-block'; + stopCheckBtn.style.display = 'none'; + progressContainer.style.display = 'none'; + + // 更新 Agent 状态 + updateAgentStatus('completed'); + + // 显示结果区域 + resultsSection.style.display = 'block'; +} + +function showResults() { + resultsSection.style.display = 'block'; + // 结果现在通过 processCheckResults 函数处理 +} + +function displayResults(results) { + resultsContent.innerHTML = ''; + + if (!results || results.length === 0) { + resultsContent.innerHTML = ` +
+ +

检查完成!

+

未发现任何问题,代码质量良好。

+
+ `; + return; + } + + // 添加结果摘要 + const summaryHtml = createResultsSummary(results); + resultsContent.innerHTML = summaryHtml; + + // 添加具体问题列表 + const issuesContainer = document.createElement('div'); + issuesContainer.style.marginTop = '20px'; + + results.forEach(result => { + const resultItem = document.createElement('div'); + resultItem.className = 'result-item'; + + // 根据问题类型确定图标和样式 + const iconClass = result.type === 'error' ? 'times' : + result.type === 'warning' ? 'exclamation-triangle' : 'info-circle'; + + // 格式化文件路径,只显示文件名 + const fileName = result.file ? result.file.split('/').pop() : '未知文件'; + const location = `${fileName}:${result.line}:${result.column || 0}`; + + resultItem.innerHTML = ` +
+ +
+
+
${result.message || '代码问题'}
+
+ 规则: ${result.rule || '未知规则'} | + 严重程度: ${result.severity || 'medium'} + ${result.confidence ? ` | 置信度: ${result.confidence}` : ''} +
+
${location}
+
+
+ + +
+ `; + issuesContainer.appendChild(resultItem); + }); + + resultsContent.appendChild(issuesContainer); +} + +// 创建结果摘要 +function createResultsSummary(results) { + const errorCount = results.filter(r => r.type === 'error').length; + const warningCount = results.filter(r => r.type === 'warning').length; + const infoCount = results.filter(r => r.type === 'info').length; + const totalCount = results.length; + + return ` +
+

检查结果摘要

+
+
+
${errorCount}
+
错误
+
+
+
${warningCount}
+
警告
+
+
+
${infoCount}
+
信息
+
+
+
${totalCount}
+
总计
+
+
+
+ `; +} + +// 结果过滤 +const filterTabs = document.querySelectorAll('.filter-tab[data-filter]'); +filterTabs.forEach(tab => { + tab.addEventListener('click', () => { + filterTabs.forEach(t => t.classList.remove('active')); + tab.classList.add('active'); + + const filter = tab.dataset.filter; + filterResults(filter); + }); +}); + +function filterResults(filter) { + const resultItems = document.querySelectorAll('.result-item'); + resultItems.forEach(item => { + if (filter === 'all') { + item.style.display = 'flex'; + } else { + const icon = item.querySelector('.result-icon'); + const hasClass = icon.classList.contains(filter); + item.style.display = hasClass ? 'flex' : 'none'; + } + }); +} + +// 项目管理功能 +async function loadProjects() { + try { + const response = await fetch(`${API_BASE_URL}/projects`); + const data = await response.json(); + + if (data.success) { + projects = data.data; + displayProjects(projects); + } else { + console.error('加载项目失败:', data.error); + // 显示模拟数据 + displayMockProjects(); + } + } catch (error) { + console.error('加载项目失败:', error); + // 显示模拟数据 + displayMockProjects(); + } +} + +function displayProjects(projects) { + const projectsGrid = document.getElementById('projectsGrid'); + if (!projectsGrid) return; + + projectsGrid.innerHTML = ''; + + projects.forEach(project => { + const projectCard = document.createElement('div'); + projectCard.className = 'project-card'; + projectCard.addEventListener('click', () => showProjectDetail(project)); + + const statusText = project.status === 'active' ? '进行中' : + project.status === 'completed' ? '已完成' : '待处理'; + + const latestCheck = project.latest_check; + const totalIssues = latestCheck ? latestCheck.total_issues : 0; + const errorCount = latestCheck ? latestCheck.error_count : 0; + const lastCheckDate = latestCheck && latestCheck.completed_at ? + new Date(latestCheck.completed_at).toLocaleDateString() : '从未检查'; + + projectCard.innerHTML = ` +
+
+
${project.name}
+
${project.description || '暂无描述'}
+
+ ${statusText} +
+
+
+
${totalIssues}
+
问题数
+
+
+
${errorCount}
+
错误数
+
+
+
${lastCheckDate}
+
最后检查
+
+
+
+ + + +
+ `; + projectsGrid.appendChild(projectCard); + }); +} + +function displayMockProjects() { + const mockProjects = [ + { + id: 1, + name: '军事指挥系统', + description: '基于Python的军事指挥控制系统,包含用户管理、权限控制、数据加密等模块', + status: 'active', + source_type: 'github', + source_url: 'https://github.com/example/military-command-system.git', + created_at: '2024-01-15T10:30:00Z', + latest_check: { + status: 'completed', + total_issues: 12, + error_count: 3, + warning_count: 7, + info_count: 2, + completed_at: '2024-01-15T14:20:00Z' + } + }, + { + id: 2, + name: '安全通信模块', + description: '军用安全通信协议实现,支持端到端加密和身份验证', + status: 'completed', + source_type: 'gitee', + source_url: 'https://gitee.com/example/secure-communication.git', + created_at: '2024-01-14T09:15:00Z', + latest_check: { + status: 'completed', + total_issues: 3, + error_count: 0, + warning_count: 2, + info_count: 1, + completed_at: '2024-01-14T16:45:00Z' + } + }, + { + id: 3, + name: '数据分析平台', + description: '军事数据分析和可视化平台,支持实时数据处理和报告生成', + status: 'pending', + source_type: 'upload', + source_url: '', + created_at: '2024-01-13T14:20:00Z', + latest_check: { + status: 'completed', + total_issues: 28, + error_count: 8, + warning_count: 15, + info_count: 5, + completed_at: '2024-01-13T18:30:00Z' + } + } + ]; + + displayProjects(mockProjects); +} + +// 项目搜索功能 +const projectSearch = document.getElementById('projectSearch'); +if (projectSearch) { + projectSearch.addEventListener('input', (e) => { + const searchTerm = e.target.value.toLowerCase(); + const filteredProjects = projects.filter(project => + project.name.toLowerCase().includes(searchTerm) || + (project.description && project.description.toLowerCase().includes(searchTerm)) + ); + displayProjects(filteredProjects); + }); +} + +// 新建项目功能 +const createProjectBtn = document.getElementById('createProjectBtn'); +const createProjectModal = document.getElementById('createProjectModal'); +const cancelCreateProject = document.getElementById('cancelCreateProject'); +const confirmCreateProject = document.getElementById('confirmCreateProject'); +const closeModal = document.querySelector('.close'); + +if (createProjectBtn) { + createProjectBtn.addEventListener('click', () => { + createProjectModal.style.display = 'block'; + }); +} + +if (cancelCreateProject) { + cancelCreateProject.addEventListener('click', () => { + createProjectModal.style.display = 'none'; + }); +} + +if (closeModal) { + closeModal.addEventListener('click', () => { + createProjectModal.style.display = 'none'; + }); +} + +// 项目来源类型切换 +const sourceTypeRadios = document.querySelectorAll('input[name="source_type"]'); +const gitUrlGroup = document.getElementById('gitUrlGroup'); +const fileUploadGroup = document.getElementById('fileUploadGroup'); + +sourceTypeRadios.forEach(radio => { + radio.addEventListener('change', (e) => { + if (e.target.value === 'upload') { + gitUrlGroup.style.display = 'none'; + fileUploadGroup.style.display = 'block'; + } else { + gitUrlGroup.style.display = 'block'; + fileUploadGroup.style.display = 'none'; + } + }); +}); + +// 文件上传选择反馈 +const fileUploadInput = document.getElementById('fileUpload'); +if (fileUploadInput) { + fileUploadInput.addEventListener('change', (e) => { + const files = e.target.files; + if (files.length > 0) { + // 显示选择的文件信息 + const fileInfo = document.createElement('div'); + fileInfo.className = 'file-info'; + fileInfo.style.cssText = ` + margin-top: 10px; + padding: 10px; + background: #f8f9fa; + border-radius: 4px; + border-left: 4px solid #28a745; + `; + + let fileList = ''; + for (let i = 0; i < Math.min(files.length, 5); i++) { + fileList += `
• ${files[i].webkitRelativePath || files[i].name}
`; + } + if (files.length > 5) { + fileList += `
... 还有 ${files.length - 5} 个文件
`; + } + + fileInfo.innerHTML = ` +
+ 已选择 ${files.length} 个文件 +
+
${fileList}
+ `; + + // 移除之前的文件信息 + const existingInfo = fileUploadGroup.querySelector('.file-info'); + if (existingInfo) { + existingInfo.remove(); + } + + fileUploadGroup.appendChild(fileInfo); + } + }); +} + +// 确认创建项目 +if (confirmCreateProject) { + confirmCreateProject.addEventListener('click', async () => { + const form = document.getElementById('createProjectForm'); + const formData = new FormData(form); + + const projectData = { + name: formData.get('name'), + description: formData.get('description'), + source_type: formData.get('source_type'), + source_url: formData.get('source_url') + }; + + if (!projectData.name) { + alert('请输入项目名称!'); + return; + } + + if (projectData.source_type !== 'upload' && !projectData.source_url) { + alert('请输入Git URL!'); + return; + } + + // 检查文件上传 + const fileInput = document.getElementById('fileUpload'); + const files = fileInput.files; + + if (projectData.source_type === 'upload' && files.length === 0) { + alert('请选择要上传的文件或文件夹!'); + return; + } + + try { + // 第一步:创建项目 + const response = await fetch(`${API_BASE_URL}/projects`, { + method: 'POST', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify(projectData) + }); + + const data = await response.json(); + + if (data.success) { + // 第二步:如果是文件上传方式,上传文件到项目 + if (projectData.source_type === 'upload' && files.length > 0) { + const uploadFormData = new FormData(); + for (let i = 0; i < files.length; i++) { + uploadFormData.append('files', files[i]); + } + + const uploadResponse = await fetch(`${API_BASE_URL}/projects/${data.data.id}/upload-files`, { + method: 'POST', + body: uploadFormData + }); + + const uploadData = await uploadResponse.json(); + + if (uploadData.success) { + alert(`项目创建成功!已上传 ${uploadData.uploaded_count} 个文件。`); + } else { + alert(`项目创建成功,但文件上传失败:${uploadData.error}`); + } + } else { + alert('项目创建成功!'); + } + + createProjectModal.style.display = 'none'; + form.reset(); + loadProjects(); // 重新加载项目列表 + } else { + alert('项目创建失败:' + data.error); + } + } catch (error) { + console.error('创建项目失败:', error); + alert('项目创建失败,请检查网络连接!'); + } + }); +} + +// 显示项目详情 +function showProjectDetail(project) { + currentProject = project; + + // 更新页面标题 + document.getElementById('projectDetailTitle').textContent = project.name; + document.getElementById('projectDetailSubtitle').textContent = project.description || '查看项目信息和运行代码检查'; + + // 显示项目信息 + const projectInfoContent = document.getElementById('projectInfoContent'); + projectInfoContent.innerHTML = ` +
+ + ${project.name} +
+
+ + ${project.description || '暂无描述'} +
+
+ + ${project.source_type === 'github' ? 'GitHub' : + project.source_type === 'gitee' ? 'Gitee' : '文件上传'} +
+
+ + ${project.source_url || '无'} +
+
+ + ${new Date(project.created_at).toLocaleString()} +
+
+ + + ${project.status === 'active' ? '进行中' : + project.status === 'completed' ? '已完成' : '待处理'} + +
+ `; + + // 显示检查历史 + displayCheckHistory(project); + + // 加载文件浏览器 + loadProjectFiles(); + + // 切换到项目详情页面 + showPage('project-detail'); +} + +// 显示检查历史 +function displayCheckHistory(project) { + const checkHistoryContent = document.getElementById('checkHistoryContent'); + + // 模拟检查历史数据 + const mockChecks = [ + { + id: 1, + check_type: 'combined', + status: 'completed', + started_at: '2024-01-15T14:20:00Z', + completed_at: '2024-01-15T14:25:00Z', + total_issues: 12, + error_count: 3, + warning_count: 7, + info_count: 2 + }, + { + id: 2, + check_type: 'combined', + status: 'completed', + started_at: '2024-01-14T10:15:00Z', + completed_at: '2024-01-14T10:20:00Z', + total_issues: 15, + error_count: 5, + warning_count: 8, + info_count: 2 + } + ]; + + checkHistoryContent.innerHTML = ''; + + mockChecks.forEach(check => { + const checkItem = document.createElement('div'); + checkItem.className = 'check-history-item'; + checkItem.innerHTML = ` +
+
${check.check_type} 检查
+
+ ${new Date(check.started_at).toLocaleString()} - + 发现问题: ${check.total_issues} (错误: ${check.error_count}, 警告: ${check.warning_count}) +
+
+
+ +
+ `; + checkHistoryContent.appendChild(checkItem); + }); +} + +// 运行项目检查 +async function runProjectCheck(projectId) { + try { + const response = await fetch(`${API_BASE_URL}/projects/${projectId}/check`, { + method: 'POST' + }); + + const data = await response.json(); + + if (data.success) { + alert('检查已开始,请稍候查看结果!'); + // 刷新项目详情 + if (currentProject && currentProject.id === projectId) { + showProjectDetail(currentProject); + } + } else { + alert('检查启动失败:' + data.error); + } + } catch (error) { + console.error('运行检查失败:', error); + alert('检查启动失败,请检查网络连接!'); + } +} + +// 删除项目 +async function deleteProject(projectId, projectName) { + // 显示确认对话框 + showDeleteConfirmDialog(projectId, projectName); +} + +// 显示删除确认对话框 +function showDeleteConfirmDialog(projectId, projectName) { + const confirmModal = document.createElement('div'); + confirmModal.className = 'modal'; + confirmModal.style.display = 'block'; + confirmModal.innerHTML = ` + + `; + document.body.appendChild(confirmModal); +} + +// 确认删除项目 +async function confirmDeleteProject(projectId, projectName) { + try { + const response = await fetch(`${API_BASE_URL}/projects/${projectId}`, { + method: 'DELETE' + }); + + const data = await response.json(); + + if (data.success) { + // 显示成功消息 + showSuccessMessage('项目删除成功!'); + + // 重新加载项目列表 + loadProjects(); + + // 如果当前查看的是被删除的项目,返回项目列表页面 + if (currentProject && currentProject.id === projectId) { + showPage('projects'); + } + } else { + showErrorMessage('项目删除失败:' + data.error); + } + } catch (error) { + console.error('删除项目失败:', error); + showErrorMessage('删除项目失败,请检查网络连接!'); + } +} + +// 显示成功消息 +function showSuccessMessage(message) { + const messageDiv = document.createElement('div'); + messageDiv.style.cssText = ` + position: fixed; + top: 20px; + right: 20px; + background: #d4edda; + color: #155724; + border: 1px solid #c3e6cb; + border-radius: 6px; + padding: 15px 20px; + z-index: 3000; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + display: flex; + align-items: center; + gap: 10px; + `; + messageDiv.innerHTML = ` + + ${message} + `; + document.body.appendChild(messageDiv); + + setTimeout(() => { + messageDiv.remove(); + }, 3000); +} + +// 显示错误消息 +function showErrorMessage(message) { + const messageDiv = document.createElement('div'); + messageDiv.style.cssText = ` + position: fixed; + top: 20px; + right: 20px; + background: #f8d7da; + color: #721c24; + border: 1px solid #f5c6cb; + border-radius: 6px; + padding: 15px 20px; + z-index: 3000; + box-shadow: 0 4px 12px rgba(0,0,0,0.15); + display: flex; + align-items: center; + gap: 10px; + `; + messageDiv.innerHTML = ` + + ${message} + `; + document.body.appendChild(messageDiv); + + setTimeout(() => { + messageDiv.remove(); + }, 5000); +} + +// 查看检查结果 +function viewCheckResults(checkId) { + // 模拟检查结果数据 + const mockResults = [ + { + id: 1, + file_path: 'src/database.py', + line_number: 45, + column_number: 12, + issue_type: 'error', + severity: 'high', + rule_id: 'B608', + message: 'SQL注入风险:使用字符串拼接构建SQL查询', + suggestion: '建议使用参数化查询或ORM' + }, + { + id: 2, + file_path: 'src/utils.py', + line_number: 23, + column_number: 1, + issue_type: 'warning', + severity: 'medium', + rule_id: 'E501', + message: '行长度超过120字符限制', + suggestion: '建议将长行拆分为多行' + } + ]; + + const checkResultsContent = document.getElementById('checkResultsContent'); + checkResultsContent.innerHTML = ''; + + mockResults.forEach(result => { + const resultItem = document.createElement('div'); + resultItem.className = 'result-item'; + resultItem.innerHTML = ` +
+ +
+
+
${result.message}
+
${result.suggestion}
+
${result.file_path}:${result.line_number}:${result.column_number}
+
+
+ + +
+ `; + checkResultsContent.appendChild(resultItem); + }); + + // 显示检查结果面板 + document.getElementById('checkResultsPanel').style.display = 'block'; +} + +// 返回项目列表 +const backToProjectsBtn = document.getElementById('backToProjectsBtn'); +if (backToProjectsBtn) { + backToProjectsBtn.addEventListener('click', () => { + showPage('projects'); + }); +} + +// 运行检查按钮 +const runCheckBtn = document.getElementById('runCheckBtn'); +if (runCheckBtn) { + runCheckBtn.addEventListener('click', () => { + if (currentProject) { + runProjectCheck(currentProject.id); + } + }); +} + +// 删除项目按钮 +const deleteProjectBtn = document.getElementById('deleteProjectBtn'); +if (deleteProjectBtn) { + deleteProjectBtn.addEventListener('click', () => { + if (currentProject) { + deleteProject(currentProject.id, currentProject.name); + } + }); +} + +// 仪表板数据加载 +function loadDashboardData() { + // 这里可以加载真实的统计数据 + // 目前使用模拟数据 + console.log('加载仪表板数据'); +} + +// 文件浏览器相关变量 +let currentFilePath = ''; +let currentFileContent = ''; +let isFileModified = false; + +// 加载项目文件 +async function loadProjectFiles(path = '') { + if (!currentProject) return; + + try { + const response = await fetch(`${API_BASE_URL}/projects/${currentProject.id}/files?path=${encodeURIComponent(path)}`); + const data = await response.json(); + + if (data.success) { + displayFileTree(data.data); + updateCurrentPath(path); + } else { + showErrorMessage('加载文件列表失败:' + data.error); + } + } catch (error) { + console.error('加载文件列表失败:', error); + showErrorMessage('加载文件列表失败,请检查网络连接!'); + } +} + +// 显示文件树 +function displayFileTree(files) { + const fileTree = document.getElementById('fileTree'); + fileTree.innerHTML = ''; + + if (files.length === 0) { + fileTree.innerHTML = '
此目录为空
'; + return; + } + + files.forEach(file => { + const fileItem = document.createElement('div'); + fileItem.className = 'file-item'; + fileItem.onclick = () => handleFileClick(file); + + const iconClass = getFileIconClass(file.name, file.is_directory); + + fileItem.innerHTML = ` +
+ +
+
${file.name}
+
${file.is_directory ? '' : formatFileSize(file.size)}
+ `; + + fileTree.appendChild(fileItem); + }); +} + +// 获取文件图标类 +function getFileIconClass(fileName, isDirectory) { + if (isDirectory) return 'folder'; + + const ext = fileName.split('.').pop().toLowerCase(); + switch (ext) { + case 'py': return 'python'; + case 'js': return 'js'; + case 'css': return 'css'; + case 'html': case 'htm': return 'html'; + default: return 'file'; + } +} + +// 格式化文件大小 +function formatFileSize(bytes) { + if (bytes === 0) return '0 B'; + const k = 1024; + const sizes = ['B', 'KB', 'MB', 'GB']; + const i = Math.floor(Math.log(bytes) / Math.log(k)); + return parseFloat((bytes / Math.pow(k, i)).toFixed(1)) + ' ' + sizes[i]; +} + +// 处理文件点击 +function handleFileClick(file) { + if (file.is_directory) { + // 如果是目录,进入目录 + loadProjectFiles(file.path); + } else { + // 如果是文件,打开文件 + openFile(file.path); + } +} + +// 打开文件 +async function openFile(filePath) { + if (!currentProject) return; + + try { + const response = await fetch(`${API_BASE_URL}/projects/${currentProject.id}/files/content?path=${encodeURIComponent(filePath)}`); + const data = await response.json(); + + if (data.success) { + currentFilePath = filePath; + currentFileContent = data.data.content; + isFileModified = false; + + // 显示代码编辑器 + showCodeEditor(filePath, data.data.content); + } else { + showErrorMessage('打开文件失败:' + data.error); + } + } catch (error) { + console.error('打开文件失败:', error); + showErrorMessage('打开文件失败,请检查网络连接!'); + } +} + +// 显示代码编辑器 +function showCodeEditor(filePath, content) { + const editorPanel = document.getElementById('codeEditorPanel'); + const editor = document.getElementById('codeEditor'); + const editorTitle = document.getElementById('editorTitle'); + const currentFilePathSpan = document.getElementById('currentFilePath'); + + editor.value = content; + editorTitle.textContent = `编辑文件 - ${filePath.split('/').pop()}`; + currentFilePathSpan.textContent = filePath; + + editorPanel.style.display = 'block'; + + // 监听内容变化 + editor.oninput = () => { + isFileModified = true; + }; +} + +// 更新当前路径显示 +function updateCurrentPath(path) { + const currentPathSpan = document.getElementById('currentPath'); + currentPathSpan.textContent = path || '/'; +} + +// 保存文件 +async function saveFile() { + if (!currentProject || !currentFilePath) return; + + const editor = document.getElementById('codeEditor'); + const content = editor.value; + + try { + const response = await fetch(`${API_BASE_URL}/projects/${currentProject.id}/files/content`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + path: currentFilePath, + content: content + }) + }); + + const data = await response.json(); + + if (data.success) { + isFileModified = false; + showSuccessMessage('文件保存成功!'); + } else { + showErrorMessage('保存文件失败:' + data.error); + } + } catch (error) { + console.error('保存文件失败:', error); + showErrorMessage('保存文件失败,请检查网络连接!'); + } +} + +// 关闭编辑器 +function closeEditor() { + if (isFileModified) { + const confirmed = confirm('文件已修改,确定要关闭吗?未保存的更改将丢失。'); + if (!confirmed) return; + } + + const editorPanel = document.getElementById('codeEditorPanel'); + editorPanel.style.display = 'none'; + + currentFilePath = ''; + currentFileContent = ''; + isFileModified = false; +} + +// 页面加载动画 +document.addEventListener('DOMContentLoaded', () => { + const fadeElements = document.querySelectorAll('.fade-in'); + fadeElements.forEach((element, index) => { + setTimeout(() => { + element.style.opacity = '1'; + element.style.transform = 'translateY(0)'; + }, index * 200); + }); + + // 默认显示仪表板页面 + showPage('dashboard'); + + // 初始化各个页面 + loadProjects(); + + // 绑定文件浏览器事件 + bindFileBrowserEvents(); +}); + +// 绑定文件浏览器事件 +function bindFileBrowserEvents() { + // 保存文件按钮 + const saveFileBtn = document.getElementById('saveFileBtn'); + if (saveFileBtn) { + saveFileBtn.addEventListener('click', saveFile); + } + + // 关闭编辑器按钮 + const closeEditorBtn = document.getElementById('closeEditorBtn'); + if (closeEditorBtn) { + closeEditorBtn.addEventListener('click', closeEditor); + } + + // 上传文件按钮 + const uploadFileBtn = document.getElementById('uploadFileBtn'); + if (uploadFileBtn) { + uploadFileBtn.addEventListener('click', showUploadDialog); + } + + // 新建文件按钮 + const createFileBtn = document.getElementById('createFileBtn'); + if (createFileBtn) { + createFileBtn.addEventListener('click', showCreateFileDialog); + } + + // 新建文件夹按钮 + const createFolderBtn = document.getElementById('createFolderBtn'); + if (createFolderBtn) { + createFolderBtn.addEventListener('click', showCreateFolderDialog); + } + + // 键盘快捷键 + document.addEventListener('keydown', (e) => { + if (e.ctrlKey && e.key === 's') { + e.preventDefault(); + if (currentFilePath) { + saveFile(); + } + } + }); +} + +// 显示上传文件对话框 +function showUploadDialog() { + const input = document.createElement('input'); + input.type = 'file'; + input.multiple = true; + input.onchange = (e) => { + const files = Array.from(e.target.files); + if (files.length > 0) { + uploadProjectFiles(files); + } + }; + input.click(); +} + +// 上传文件到项目 +async function uploadProjectFiles(files) { + if (!currentProject) return; + + const currentPath = document.getElementById('currentPath').textContent; + const targetPath = currentPath === '/' ? '' : currentPath; + + for (const file of files) { + const formData = new FormData(); + formData.append('file', file); + formData.append('path', targetPath); + + try { + const response = await fetch(`${API_BASE_URL}/projects/${currentProject.id}/files/upload`, { + method: 'POST', + body: formData + }); + + const data = await response.json(); + + if (data.success) { + showSuccessMessage(`文件 ${file.name} 上传成功!`); + } else { + showErrorMessage(`文件 ${file.name} 上传失败:${data.error}`); + } + } catch (error) { + console.error('上传文件失败:', error); + showErrorMessage(`文件 ${file.name} 上传失败,请检查网络连接!`); + } + } + + // 刷新文件列表 + loadProjectFiles(targetPath); +} + +// 显示新建文件对话框 +function showCreateFileDialog() { + const fileName = prompt('请输入文件名(包含扩展名):'); + if (fileName) { + createFile(fileName); + } +} + +// 创建文件 +async function createFile(fileName) { + if (!currentProject) return; + + const currentPath = document.getElementById('currentPath').textContent; + const filePath = currentPath === '/' ? fileName : `${currentPath}/${fileName}`; + + try { + const response = await fetch(`${API_BASE_URL}/projects/${currentProject.id}/files/content`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + path: filePath, + content: '' + }) + }); + + const data = await response.json(); + + if (data.success) { + showSuccessMessage('文件创建成功!'); + loadProjectFiles(currentPath); + } else { + showErrorMessage('文件创建失败:' + data.error); + } + } catch (error) { + console.error('创建文件失败:', error); + showErrorMessage('创建文件失败,请检查网络连接!'); + } +} + +// 显示新建文件夹对话框 +function showCreateFolderDialog() { + const folderName = prompt('请输入文件夹名称:'); + if (folderName) { + createFolder(folderName); + } +} + +// 创建文件夹 +async function createFolder(folderName) { + if (!currentProject) return; + + const currentPath = document.getElementById('currentPath').textContent; + const folderPath = currentPath === '/' ? folderName : `${currentPath}/${folderName}`; + + try { + // 通过创建一个隐藏文件来创建文件夹 + const response = await fetch(`${API_BASE_URL}/projects/${currentProject.id}/files/content`, { + method: 'PUT', + headers: { + 'Content-Type': 'application/json', + }, + body: JSON.stringify({ + path: `${folderPath}/.gitkeep`, + content: '' + }) + }); + + const data = await response.json(); + + if (data.success) { + showSuccessMessage('文件夹创建成功!'); + loadProjectFiles(currentPath); + } else { + showErrorMessage('文件夹创建失败:' + data.error); + } + } catch (error) { + console.error('创建文件夹失败:', error); + showErrorMessage('创建文件夹失败,请检查网络连接!'); + } +} + +// 通知功能 +const notification = document.querySelector('.notification'); +if (notification) { + notification.addEventListener('click', () => { + alert('您有 3 条新通知:\n1. 检查任务已完成\n2. 发现 5 个高危漏洞\n3. 系统维护通知'); + }); +} + +// 点击模态框外部关闭 +window.addEventListener('click', (e) => { + const modal = document.getElementById('createProjectModal'); + if (e.target === modal) { + modal.style.display = 'none'; + } +}); \ No newline at end of file