Skip to content

Commit

Permalink
Add an example
Browse files Browse the repository at this point in the history
  • Loading branch information
UuuNyaa committed Jan 21, 2021
1 parent 602446f commit 7766c22
Show file tree
Hide file tree
Showing 3 changed files with 75 additions and 6 deletions.
38 changes: 38 additions & 0 deletions cat_asset_download_counts.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# -*- coding: utf-8 -*-
# Copyright 2021 UuuNyaa <[email protected]>
# This file is part of blender_mmd_assets.

import json
import sys

import requests


def list_asset_download_counts(session, repo):
response = session.get(f'https://api.github.com/repos/{repo}/releases')
response.raise_for_status()

releases = json.loads(response.text)

assets = []
for release in releases:
for asset in release['assets']:
assets.append({
'updated_at': asset['updated_at'],
'name': asset['name'],
'size': asset['size'],
'download_count': asset['download_count'],
})

return assets


if __name__ == '__main__':
if len(sys.argv) != 2:
print(f'ERROR: invalid arguments: {[a for a in sys.argv]}', file=sys.stderr)
exit(1)

repo = sys.argv[1]

session = requests.Session()
print(json.dumps(list_asset_download_counts(session, repo), indent=2, ensure_ascii=False))
12 changes: 6 additions & 6 deletions cat_asset_json.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,15 +46,15 @@ def find_child_element(element, element_type):
issue_body = issue_part['body']
markdown_ast = ast_renderer.render(markdown_parser.parse(issue_body))

tags = [
tag for label, tag in issue_part['labels'].items()
tags = {
label: tag for label, tag in issue_part['labels'].items()
if label not in [
'duplicate',
'enhancement',
'invalid',
'question',
] and (not label.startswith('type='))
]
}

types = [
label[len('type='):] for label, tag in issue_part['labels'].items()
Expand Down Expand Up @@ -99,15 +99,15 @@ def find_child_element(element, element_type):

return {
'format': 'blender_mmd_assets:1',
'description': 'This file is release artifact of blender_mmd_assets',
'description': 'This file is a release asset of blender_mmd_assets',
'license': 'CC-BY-4.0 License',
'assets': assets,
}


if __name__ == "__main__":
if __name__ == '__main__':
if len(sys.argv) != 2:
print(f"ERROR: invalid arguments: {[a for a in sys.argv]}", file=sys.stderr)
print(f'ERROR: invalid arguments: {[a for a in sys.argv]}', file=sys.stderr)
exit(1)

token = os.environ.get('GITHUB_TOKEN')
Expand Down
31 changes: 31 additions & 0 deletions example.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# -*- coding: utf-8 -*-
# Copyright 2021 UuuNyaa <[email protected]>
# This file is part of blender_mmd_assets.

# Get latest asset download URL
import json
import requests

repo = 'UuuNyaa/blender_mmd_assets'
response = requests.get(
f'https://api.github.com/repos/{repo}/releases/latest',
headers={'Accept': 'application/vnd.github.v3+json'}
)

asset = json.loads(response.text)['assets'][0]
browser_download_url = asset['browser_download_url']

# Get assets zip file
response = requests.get(
browser_download_url,
headers={'Accept': 'application/zip'}
)

# Extract assets.json
import io
import zipfile

with zipfile.ZipFile(io.BytesIO(response.content)) as zip:
assets_json = zip.read('assets.json').decode('utf-8')

print(assets_json)

0 comments on commit 7766c22

Please sign in to comment.