You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							53 lines
						
					
					
						
							1.1 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							53 lines
						
					
					
						
							1.1 KiB
						
					
					
				| #!/bin/sh -e | |
| # Helper functions for programs that work with satellite files. | |
| 
 | |
| show_help() { | |
| echo "Script with helper functions for working with satellite files. | |
| Usage: $0 <satellite file> <function> [arguments] | |
|  | |
| Functions: | |
| variable <name>     | Get variable set in the header | |
| downloads           | Get all download urls" | |
| } | |
| 
 | |
| if [ $# -lt 2 ]; then | |
|     show_help | |
|     exit 1 | |
| fi | |
| 
 | |
| satellite="$(realpath "$1")" | |
| function="$2" | |
| 
 | |
| if [ "$function" = "variable" ]; then | |
|     name="$3" | |
|     if [ ! "$name" ]; then | |
|         show_help | |
|         exit 1 | |
|     fi | |
| 
 | |
|     printf ' | |
|         header_end() { | |
|             variable="$%s" | |
|             [ "$variable" ] && echo "$variable" | |
|             exit $? | |
|         } | |
|         . %s | |
|     ' "$name" "$satellite" | PATH= /bin/sh 2> /dev/null | |
| elif [ "$function" = "downloads" ]; then | |
|     printf ' | |
|         download() { | |
|             [ "$1" ] && echo "$1" | |
|         } | |
|         dlextract() { | |
|             [ "$1" ] && echo "$1" | |
|         } | |
|         dlfile() { | |
|             [ "$1" ] && echo "$1" | |
|         } | |
|         header_end() { exit 0; } | |
|         . %s | |
|     ' "$satellite" | PATH= /bin/sh 2> /dev/null | |
| else | |
|     show_help | |
|     exit 1 | |
| fi
 | |
| 
 |