GIT的API主要应用示例
这几个简单的API应用,主要是通过TOKEN来获取GIT内空的例子。
但在获取GIT的文件列表时,要注意区分目录和文件的MODE差别(
100644 普通文件
040000 普通目录
)。
import requests
class GitHub:
def __init__(self):
self.__url = 'http://1。2.3.4/api/v3/'
self.__private_token = 'sdtrwr324sdfsdf'
def get_project_id(self, project_name):
project_name = str(project_name).lower()
url = self.__url + 'projects/search/' + project_name + '?private_token=' + self.__private_token
req = requests.get(url)
data = req.json()
return str(data[0]['id'])
def get_project_files(self, project_name, version):
project_name = str(project_name).lower()
project_id = self.get_project_id(project_name)
url = self.__url + 'projects/' + project_id + '/repository/tree?private_token=' + self.__private_token + '&path=' + version
req = requests.get(url)
data = req.json()
return data
def get_file_content(self, project_name, version, file_name):
project_name = str(project_name).lower()
project_id = self.get_project_id(project_name)
url = self.__url + 'projects/' + project_id + '/repository/files?private_token=' + self.__private_token + '&ref=master&file_path=' + version + '/' + file_name
req = requests.get(url)
data = req.json()
return data
def get_file_url(self, project_name, version, file_name):
project_name = str(project_name).lower()
project_id = self.get_project_id(project_name)
url = 'http://1.2.3.4/prj_sql/' + project_name + '/blob/master/' + version + '/' + file_name
return url
获取文件列表示例(内含子目录):
[{"id":"9cefa7fcd94d23ce6a9afa63c185ae8491580f9d","name":"25.1","type":"tree","mode":"040000"},{"id":"bd34591bcd6d8983ea5c1ab35fd5fb9d226f3f5f","name":"25.2","type":"tree","mode":"040000"},{"id":"f89a96f1aaafcbd16f693a9007466cfd5735636e","name":"101_u01_create_t_model_dd.sql","type":"blob","mode":"100644"},{"id":"5f848d696dd890e4cdd3063b2b596a8921cbf873","name":"102_u01_create_syn_t_model_aa.sql","type":"blob","mode":"100644"},{"id":"9671cef3770c0abb04065240c8edb245c78585eb","name":"103_u01_grant_t_model_cc.sql","type":"blob","mode":"100644"}]
GIT的API主要应用示例的更多相关文章
- demo工程的清单文件及activity中api代码简单示例
第一步注册一个账户,并创建一个应用.获取app ID与 app Key. 第二步下载sdk 第三步新建工程,修改清单文件,导入相关的sdk文件及调用相应的api搞定. 3.1 修改清单文件,主要是加入 ...
- Stream API的代码示例.md
一.代码实例: package com.TestMain; import com.alibaba.fastjson.JSON; import java.util.*; import java.util ...
- PHP服务器端API原理及示例讲解(接口开发)
http://www.jb51.net/article/136816.htm 下面小编就为大家分享一篇PHP服务器端API原理及示例讲解(接口开发),具有很好的参考价值,希望对大家有所帮助 相信大家都 ...
- ZooKeeper(3.4.5) - 原生 API 的简单示例
一.创建会话 1. 创建一个基本的ZooKeeper会话实例 package com.huey.dream.demo; import java.util.concurrent.CountDownLat ...
- openssl AES加密算法API的使用示例
openssl为用户提供了丰富的指令,同时也提供了供编程调用的API,本文以使用128位aes算法的ecb模式进行加密和解密验证,如下所示 第一种方法,直接使用aes算法提供的api进行调用,代码如下 ...
- JAVA的免费天气api接口调用示例
step1:选择本文所示例的接口"免费天气api" url:https://www.juhe.cn/docs/api/id/39/aid/87 step2:每个接口都需要传入一个参 ...
- 调用阿里云API 的demo示例(java/python)
Java 示例 // 创建DefaultAcsClient实例并初始化 DefaultProfile profile = DefaultProfile.getProfile(vo.getAliRegi ...
- Dubbo的Api+Provider+Customer示例(IDEA+Maven+Springboot+dubbo)
项目结构 dubbo-demo dubbo-api:提供api接口,一般存储实体类和接口服务 dubbo-provider:dubbo生产者提供服务,一般存储接口具体实现 dubbo-customer ...
- 全国天气预报数据API调用PHP示例
本代码示例是基于PHP的聚合数据全国天气预报API服务请求的代码样例,使用前你需要: ①:通过https://www.juhe.cn/docs/api/id/39 申请一个天气预报API的appkey ...
随机推荐
- 44. Ext信息提示对话框
转自:https://www.cnblogs.com/glsqh/p/5920500.html Ext.window.MessageBox是一个工具类,他继承自Ext.window.Windoe对象, ...
- 【转载】同步与异步--阻塞与非阻塞型I/O
同步阻塞IO 在这个模型中,应用程序(application)为了执行这个read操作,会调用相应的一个system call,将系统控制权交给kernel,然后就进行等待(这其实就是被阻塞了).ke ...
- git期末总结(转载)
转自:http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/00137586810169 ...
- 【废弃】【WIP】JavaScript 函数
创建: 2017/10/09 更新: 2017/11/03 加上[wip] 废弃: 2019/02/19 重构此篇.原文归入废弃 增加[废弃中]标签与总体任务 结束: 2019/03/12 完成废弃 ...
- npm 与 package.json 快速入门教程
npm 与 package.json 快速入门教程 2017年08月02日 19:16:20 阅读数:33887 npm 是前端开发广泛使用的包管理工具,之前使用 Weex 时看了阮一峰前辈的文章了解 ...
- 洛谷P2668斗地主(搜索)noip2015
题目描述 牛牛最近迷上了一种叫斗地主的扑克游戏.斗地主是一种使用黑桃.红心.梅花.方片的A到K加上大小王的共54张牌来进行的扑克牌游戏.在斗地主中,牌的大小关系根据牌的数码表示如下:3<4< ...
- python抢票开发——设备预约助手实现
女朋友是药学院的,做实验时需要在特定的网站上进行设备预约,由于预约人数过多,从而导致从浏览器登录不进去或者登录进去预约失败等情况,所以我用python帮她写了一个抢位助手,让程序自动去进行位置预定,实 ...
- idea 内测设置
找到安装目录/bin/idea64.exe.vmoptions文件 下面是默认配置 -Xms128m -Xmx750m -XX:ReservedCodeCacheSize=240m -XX:+UseC ...
- SPOJ 1811 SAM 初探
思路: 一个串建SAM 另一个串在SAM上跑 //By SiriusRen #include <cstdio> #include <cstring> #include < ...
- 【洛谷4396/BZOJ3236】[AHOI2013]作业(莫队+分块/树状数组/线段树)
题目: 洛谷4396 BZOJ3236(权限) 这题似乎BZOJ上数据强一些? 分析: 这题真的是--一言难尽 发现题面里没说权值的范围,怕出锅就写了离散化.后来经过面向数据编程(以及膜神犇代码)知道 ...