Myrient — Api

import requests import json from typing import List, Dict, Optional

def list_systems_interactive(api: MyrientAPI): """List all available systems""" print("\n--- AVAILABLE SYSTEMS ---") systems = api.list_systems() if not systems: print("No systems found.") return for i, system in enumerate(systems, 1): print(f"{i}. {system}") myrient api

def print_menu(): """Display main menu""" print("\n" + "="*50) print("MYRIENT API TEXT INTERFACE") print("="*50) print("1. Search for files") print("2. List available systems") print("3. Get file information") print("4. Get download link") print("5. Exit") print("-"*50) import requests import json from typing import List,

--- SEARCH FILES --- Enter search term: mario Filter by system (optional, press Enter to skip): nintendo List available systems") print("3

class MyrientAPI: """Simple text interface for Myrient API""" BASE_URL = "https://myrient.com/api/v1" def __init__(self): self.session = requests.Session() self.session.headers.update({ 'User-Agent': 'MyrientCLI/1.0' }) def search_files(self, query: str, system: Optional[str] = None) -> List[Dict]: """Search for files by name""" params = {'query': query} if system: params['system'] = system try: response = self.session.get(f"{self.BASE_URL}/search", params=params) response.raise_for_status() return response.json().get('results', []) except requests.RequestException as e: print(f"Error searching: {e}") return [] def list_systems(self) -> List[str]: """Get available systems""" try: response = self.session.get(f"{self.BASE_URL}/systems") response.raise_for_status() return response.json().get('systems', []) except requests.RequestException as e: print(f"Error listing systems: {e}") return [] def get_file_info(self, file_id: str) -> Optional[Dict]: """Get detailed file information""" try: response = self.session.get(f"{self.BASE_URL}/file/{file_id}") response.raise_for_status() return response.json() except requests.RequestException as e: print(f"Error getting file info: {e}") return None def download_link(self, file_id: str) -> Optional[str]: """Get download link for a file""" try: response = self.session.get(f"{self.BASE_URL}/download/{file_id}") response.raise_for_status() return response.json().get('url') except requests.RequestException as e: print(f"Error getting download link: {e}") return None

def search_files_interactive(api: MyrientAPI): """Interactive file search""" print("\n--- SEARCH FILES ---") query = input("Enter search term: ").strip() if not query: print("Search term cannot be empty") return system = input("Filter by system (optional, press Enter to skip): ").strip() system = system if system else None print(f"\nSearching for '{query}'...") results = api.search_files(query, system) if not results: print("No results found.") return print(f"\nFound {len(results)} results:") print("-" * 80) for i, file in enumerate(results[:20], 1): # Show first 20 results print(f"{i}. Name: {file.get('name', 'N/A')}") print(f" System: {file.get('system', 'N/A')}") print(f" Size: {file.get('size', 'N/A')} bytes") print(f" ID: {file.get('id', 'N/A')}") print("-" * 80)

def get_file_info_interactive(api: MyrientAPI): """Get file information""" print("\n--- FILE INFORMATION ---") file_id = input("Enter file ID: ").strip() if not file_id: print("File ID cannot be empty") return info = api.get_file_info(file_id) if not info: print("File not found or error occurred") return print("\nFile Information:") print("-" * 40) for key, value in info.items(): print(f"{key}: {value}")

Take the first step today.

At Wyzer Staffing, we use cookies to provide the best possible experience for our users. By using our website, you consent to the use of cookies. We also want to assure you that we never sell your information to any third party.