# GiteeContribList **Repository Path**: momen_official/gitee-contrib-list ## Basic Information - **Project Name**: GiteeContribList - **Description**: 获取gitee组织内仓库贡献者名单 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-18 - **Last Updated**: 2025-09-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Gitee 贡献者荣誉墙系统 这是一个用于从 Gitee 组织获取所有仓库贡献者信息并存储到 SQLite 数据库中的 Python 系统,方便后续展示在荣誉墙上。 ## 功能特性 - 自动获取 Gitee 组织下所有仓库的贡献者信息 - 将贡献者信息存储到 SQLite 数据库中 - 支持手动添加备注信息 - 提供贡献者信息展示功能 - 支持贡献者去重处理 ## 数据库表结构设计 ### 1. 贡献者表 (contributors) | 字段名 | 类型 | 说明 | |--------|------|------| | id | INTEGER PRIMARY KEY | 自增主键 | | gitee_id | INTEGER UNIQUE | Gitee 用户ID | | username | TEXT NOT NULL | 用户名 | | name | TEXT | 用户真实姓名 | | avatar_url | TEXT | 头像URL | | profile_url | TEXT | 个人主页URL | | email | TEXT | 邮箱地址 | | manual_remark | TEXT | 手动备注 | | contribution_count | INTEGER | 贡献次数 | | created_at | TIMESTAMP | 创建时间 | | updated_at | TIMESTAMP | 更新时间 | ### 2. 仓库贡献者关联表 (repository_contributors) | 字段名 | 类型 | 说明 | |--------|------|------| | id | INTEGER PRIMARY KEY | 自增主键 | | repo_name | TEXT NOT NULL | 仓库名称 | | contributor_id | INTEGER | 贡献者ID(外键)| | contribution_count | INTEGER | 在该仓库的贡献次数 | ## 安装和使用 1. 克隆项目到本地: ```bash git clone cd gitee-contrib-list ``` 2. 安装依赖: ```bash pip install requests ``` 3. 配置组织信息: 编辑 `main.py` 文件中的 `ORG_NAME` 变量,设置为你的 Gitee 组织名称。 4. 运行程序: ```bash python main.py ``` ## 使用访问令牌(推荐) 为了防止 API 调用限制,建议使用 Gitee 访问令牌: 1. 在 Gitee 上生成个人访问令牌 2. 将访问令牌保存到 `.env` 文件中,格式如下: ``` ACCESS_TOKEN=your_gitee_access_token_here ``` 3. 确保 `.env` 文件已添加到 `.gitignore` 以避免提交到版本控制中 ## 代码结构 - `GiteeContributorWall` 类:核心功能类 - `init_database()`: 初始化数据库 - `get_organization_repos()`: 获取组织仓库列表 - `get_repo_contributors()`: 获取仓库贡献者 - `save_contributor()`: 保存贡献者信息 - `fetch_all_contributors()`: 获取所有贡献者 - `update_manual_remark()`: 更新手动备注 - `display_contributors()`: 显示贡献者列表 ## 手动备注功能 可以通过以下方式为贡献者添加手动备注: ```python # 获取贡献者列表 contributors = wall.get_all_contributors() # 为第一个贡献者添加备注 if contributors: contributor_id = contributors[0]['id'] wall.update_manual_remark(contributor_id, "核心开发者") ``` ## 数据库文件 程序运行后会自动生成 `contributors.db` SQLite 数据库文件,可以使用 SQLite 浏览器工具查看和管理数据。 ## 注意事项 1. 首次运行会自动创建数据库和表结构 2. 程序会自动处理贡献者去重 3. 建议定期运行以更新贡献者信息 4. 使用访问令牌可以避免 API 调用限制