mirror of
				https://github.com/inventree/inventree-website.git
				synced 2025-10-31 05:25:48 +00:00 
			
		
		
		
	* add debug line * add token * remove old token ref * move permission section * clean inputs
		
			
				
	
	
		
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			69 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| import json
 | |
| import os
 | |
| from pathlib import Path
 | |
| from urllib.request import urlopen, Request
 | |
| 
 | |
| inp_project = os.environ.get('PROJECT').strip()
 | |
| inp_author = os.environ.get('AUTHOR').strip()
 | |
| file_name = Path(f'_repo/{inp_project}.md')
 | |
| crowdin_projet_id = 452300
 | |
| 
 | |
| print(f'Collecting {inp_project} with {inp_author}...')
 | |
| 
 | |
| def get_data(url, key=None, default=0, auth=None):
 | |
|   """Fetches data from remote endpoint"""
 | |
|   httprequest = Request(url, headers={"Accept": "application/json"})
 | |
| 
 | |
|   if auth:
 | |
|     httprequest.add_header("Authorization", f"Bearer {auth}")
 | |
| 
 | |
|   with urlopen(httprequest) as response:
 | |
|     data = response.read().decode()
 | |
|     data = json.loads(data)
 | |
| 
 | |
|   if key:
 | |
|     data = data.get(key, default)
 | |
| 
 | |
|   return data
 | |
| 
 | |
| pypi_data = get_data(f'https://pypi.org/pypi/{inp_project}/json')
 | |
| 
 | |
| name = pypi_data['info']['name']
 | |
| tagline = pypi_data['info']['summary']
 | |
| author = inp_author or pypi_data['info']['author_email']
 | |
| license = pypi_data['info']['license']
 | |
| try:
 | |
|   version = pypi_data['info']['version']
 | |
|   stable = int(version.split('.')[0])>1
 | |
| except:
 | |
|   stable = False
 | |
| bugtracker = pypi_data['info']['bugtrack_url'] or pypi_data['info']['project_urls'].get('Bug Tracker') or ''
 | |
| homepage = pypi_data['info']['home_page'] or pypi_data['info']['project_urls'].get('Homepage')
 | |
| keywords = pypi_data['info']['keywords']
 | |
| readme = pypi_data['info']['description']
 | |
| 
 | |
| # Write data
 | |
| file_name.write_text(
 | |
| f"""---
 | |
| name: {name}
 | |
| author: {author}
 | |
| license: {license}
 | |
| open_source: true
 | |
| stable: {stable}
 | |
| maintained: true
 | |
| pypi: true
 | |
| package_name: {name}
 | |
| github: {homepage}
 | |
| gitlab:
 | |
| source:
 | |
| issue_tracker:{bugtracker}
 | |
| website:
 | |
| categories:
 | |
| tags: {keywords}
 | |
| ---
 | |
| {tagline}
 | |
| 
 | |
| {readme}
 | |
| """
 | |
| )
 |