113 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
// Example script demonstrating the mypackage management functions
 | 
						|
 | 
						|
// Set debug mode to true to see detailed output
 | 
						|
package_set_debug(true);
 | 
						|
 | 
						|
// Function to demonstrate mypackage management on Ubuntu
 | 
						|
fn demo_ubuntu() {
 | 
						|
    print("Demonstrating mypackage management on Ubuntu...");
 | 
						|
    
 | 
						|
    // Update mypackage lists
 | 
						|
    print("Updating mypackage lists...");
 | 
						|
    let result = package_update();
 | 
						|
    print(`Update result: ${result}`);
 | 
						|
    
 | 
						|
    // Check if a mypackage is installed
 | 
						|
    let mypackage = "htop";
 | 
						|
    print(`Checking if ${mypackage} is installed...`);
 | 
						|
    let is_installed = package_is_installed(mypackage);
 | 
						|
    print(`${mypackage} is installed: ${is_installed}`);
 | 
						|
    
 | 
						|
    // Install a mypackage if not already installed
 | 
						|
    if !is_installed {
 | 
						|
        print(`Installing ${mypackage}...`);
 | 
						|
        let install_result = package_install(mypackage);
 | 
						|
        print(`Install result: ${install_result}`);
 | 
						|
    }
 | 
						|
    
 | 
						|
    // List installed packages (limited to first 5 for brevity)
 | 
						|
    print("Listing installed packages (first 5)...");
 | 
						|
    let packages = package_list();
 | 
						|
    for i in 0..min(5, packages.len()) {
 | 
						|
        print(`  - ${packages[i]}`);
 | 
						|
    }
 | 
						|
    
 | 
						|
    // Search for packages
 | 
						|
    let search_term = "editor";
 | 
						|
    print(`Searching for packages with term '${search_term}'...`);
 | 
						|
    let search_results = package_search(search_term);
 | 
						|
    print(`Found ${search_results.len()} packages. First 5 results:`);
 | 
						|
    for i in 0..min(5, search_results.len()) {
 | 
						|
        print(`  - ${search_results[i]}`);
 | 
						|
    }
 | 
						|
    
 | 
						|
    // Remove the mypackage if we installed it
 | 
						|
    if !is_installed {
 | 
						|
        print(`Removing ${mypackage}...`);
 | 
						|
        let remove_result = package_remove(mypackage);
 | 
						|
        print(`Remove result: ${remove_result}`);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
// Function to demonstrate mypackage management on macOS
 | 
						|
fn demo_macos() {
 | 
						|
    print("Demonstrating mypackage management on macOS...");
 | 
						|
    
 | 
						|
    // Update mypackage lists
 | 
						|
    print("Updating mypackage lists...");
 | 
						|
    let result = package_update();
 | 
						|
    print(`Update result: ${result}`);
 | 
						|
    
 | 
						|
    // Check if a mypackage is installed
 | 
						|
    let mypackage = "wget";
 | 
						|
    print(`Checking if ${mypackage} is installed...`);
 | 
						|
    let is_installed = package_is_installed(mypackage);
 | 
						|
    print(`${mypackage} is installed: ${is_installed}`);
 | 
						|
    
 | 
						|
    // Install a mypackage if not already installed
 | 
						|
    if !is_installed {
 | 
						|
        print(`Installing ${mypackage}...`);
 | 
						|
        let install_result = package_install(mypackage);
 | 
						|
        print(`Install result: ${install_result}`);
 | 
						|
    }
 | 
						|
    
 | 
						|
    // List installed packages (limited to first 5 for brevity)
 | 
						|
    print("Listing installed packages (first 5)...");
 | 
						|
    let packages = package_list();
 | 
						|
    for i in 0..min(5, packages.len()) {
 | 
						|
        print(`  - ${packages[i]}`);
 | 
						|
    }
 | 
						|
    
 | 
						|
    // Search for packages
 | 
						|
    let search_term = "editor";
 | 
						|
    print(`Searching for packages with term '${search_term}'...`);
 | 
						|
    let search_results = package_search(search_term);
 | 
						|
    print(`Found ${search_results.len()} packages. First 5 results:`);
 | 
						|
    for i in 0..min(5, search_results.len()) {
 | 
						|
        print(`  - ${search_results[i]}`);
 | 
						|
    }
 | 
						|
    
 | 
						|
    // Remove the mypackage if we installed it
 | 
						|
    if !is_installed {
 | 
						|
        print(`Removing ${mypackage}...`);
 | 
						|
        let remove_result = package_remove(mypackage);
 | 
						|
        print(`Remove result: ${remove_result}`);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
// Detect platform and run the appropriate demo
 | 
						|
fn main() {
 | 
						|
    // Create a PackHero instance to detect the platform
 | 
						|
    let platform = package_platform();
 | 
						|
    
 | 
						|
    if platform == "Ubuntu" {
 | 
						|
        demo_ubuntu();
 | 
						|
    } else if platform == "MacOS" {
 | 
						|
        demo_macos();
 | 
						|
    } else {
 | 
						|
        print(`Unsupported platform: ${platform}`);
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
// Run the main function
 | 
						|
main(); |