가지고 있는 코드를 Gist의 Ruby/Python 스크립트에 빠르게 업로드
루비 스크립트
upload_to_gist.rbrequire 'json'
require 'net/http'
# 環境変数 GITHUB_USERNAME に GitHub のユーザ名を設定しておく。
username = ENV['GITHUB_USERNAME']
# 環境変数 GITHUB_PASSWORD に GitHub のパスワードを設定しておく。
password = ENV['GITHUB_PASSWORD']
# コマンドライン引数の第 1 引数にアップロードするファイルのパスを指定する。
filepath = ARGV[0]
content = File.read(filepath)
filename = File.basename(filepath)
uri = URI.parse('https://api.github.com/gists')
request = Net::HTTP::Post.new(uri.path, { 'Content-Type' => 'application/json' })
request.basic_auth(username, password)
request.body = {
# private でアップロードする。public でアップロードしたい場合は true を指定する。
public: false,
files: {
filename => { content: content }
}
}.to_json
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
response = http.request(request)
body = JSON.parse(response.body)
puts("#{filename} を #{body['html_url']} にアップロードしました。")
파이썬 스크립트
upload_to_gist.pyfrom requests.auth import HTTPBasicAuth # pip install requests
import json
import os
import requests
import sys
# 環境変数 GITHUB_USERNAME に GitHub のユーザ名を設定しておく。
username = os.getenv('GITHUB_USERNAME')
# 環境変数 GITHUB_PASSWORD に GitHub のパスワードを設定しておく。
password = os.getenv('GITHUB_PASSWORD')
# コマンドライン引数の第 1 引数にアップロードするファイルのパスを指定する。
filepath = sys.argv[1]
content = open(filepath, 'r').read()
filename = os.path.basename(filepath)
payload = {'files': {filename: {'content': content}}}
response = requests.post('https://api.github.com/gists',
data=json.dumps(payload),
auth=HTTPBasicAuth(username, password))
body = response.json()
url = body['html_url']
print(f'{filename} を {url} にアップロードしました。')
사용 예
위의 Ruby 스크립트 자체를 Gist에 업로드합니다.$ ruby upload_to_gist.rb upload_to_gist.rb
upload_to_gist.rb を https://gist.github.com/f98fdcbf58539da7f2df69be0cb3bb35 にアップロードしました。
표시된 URL에 액세스하는 경우
업로드에 성공했습니다.
파이썬 스크립트도 시도합니다.$ python upload_to_gist.py upload_to_gist.py
upload_to_gist.py を https://gist.github.com/bc874dc72d0f9a6f2c92c494fc8e04ed にアップロードしました。
표시된 URL에 액세스하는 경우
업로드에 성공했습니다.
Reference
이 문제에 관하여(가지고 있는 코드를 Gist의 Ruby/Python 스크립트에 빠르게 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/QUANON/items/8c4367b3da2b4adeaa0d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
require 'json'
require 'net/http'
# 環境変数 GITHUB_USERNAME に GitHub のユーザ名を設定しておく。
username = ENV['GITHUB_USERNAME']
# 環境変数 GITHUB_PASSWORD に GitHub のパスワードを設定しておく。
password = ENV['GITHUB_PASSWORD']
# コマンドライン引数の第 1 引数にアップロードするファイルのパスを指定する。
filepath = ARGV[0]
content = File.read(filepath)
filename = File.basename(filepath)
uri = URI.parse('https://api.github.com/gists')
request = Net::HTTP::Post.new(uri.path, { 'Content-Type' => 'application/json' })
request.basic_auth(username, password)
request.body = {
# private でアップロードする。public でアップロードしたい場合は true を指定する。
public: false,
files: {
filename => { content: content }
}
}.to_json
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
response = http.request(request)
body = JSON.parse(response.body)
puts("#{filename} を #{body['html_url']} にアップロードしました。")
upload_to_gist.py
from requests.auth import HTTPBasicAuth # pip install requests
import json
import os
import requests
import sys
# 環境変数 GITHUB_USERNAME に GitHub のユーザ名を設定しておく。
username = os.getenv('GITHUB_USERNAME')
# 環境変数 GITHUB_PASSWORD に GitHub のパスワードを設定しておく。
password = os.getenv('GITHUB_PASSWORD')
# コマンドライン引数の第 1 引数にアップロードするファイルのパスを指定する。
filepath = sys.argv[1]
content = open(filepath, 'r').read()
filename = os.path.basename(filepath)
payload = {'files': {filename: {'content': content}}}
response = requests.post('https://api.github.com/gists',
data=json.dumps(payload),
auth=HTTPBasicAuth(username, password))
body = response.json()
url = body['html_url']
print(f'{filename} を {url} にアップロードしました。')
사용 예
위의 Ruby 스크립트 자체를 Gist에 업로드합니다.$ ruby upload_to_gist.rb upload_to_gist.rb
upload_to_gist.rb を https://gist.github.com/f98fdcbf58539da7f2df69be0cb3bb35 にアップロードしました。
표시된 URL에 액세스하는 경우
업로드에 성공했습니다.
파이썬 스크립트도 시도합니다.$ python upload_to_gist.py upload_to_gist.py
upload_to_gist.py を https://gist.github.com/bc874dc72d0f9a6f2c92c494fc8e04ed にアップロードしました。
표시된 URL에 액세스하는 경우
업로드에 성공했습니다.
Reference
이 문제에 관하여(가지고 있는 코드를 Gist의 Ruby/Python 스크립트에 빠르게 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/QUANON/items/8c4367b3da2b4adeaa0d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ ruby upload_to_gist.rb upload_to_gist.rb
upload_to_gist.rb を https://gist.github.com/f98fdcbf58539da7f2df69be0cb3bb35 にアップロードしました。
$ python upload_to_gist.py upload_to_gist.py
upload_to_gist.py を https://gist.github.com/bc874dc72d0f9a6f2c92c494fc8e04ed にアップロードしました。
Reference
이 문제에 관하여(가지고 있는 코드를 Gist의 Ruby/Python 스크립트에 빠르게 업로드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/QUANON/items/8c4367b3da2b4adeaa0d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)