types/PSPodcastInfo.types.ps1xml
<?xml version="1.0" encoding="utf-8"?>
<!-- This file was created with New-PSPropertySet from the PSTypeExtensionTools module which you can install from the PowerShell Gallery. --> <Types> <Type> <Name>PSPodcastInfo</Name> <Members> <PropertySet> <Name>Links</Name> <ReferencedProperties> <Name>Title</Name> <Name>Date</Name> <Name>Online</Name> <Name>YouTube</Name> <Name>ShowLinks</Name> </ReferencedProperties> </PropertySet> <PropertySet> <Name>list</Name> <ReferencedProperties> <Name>Episode</Name> <Name>Date</Name> <Name>Title</Name> </ReferencedProperties> </PropertySet> <AliasProperty> <Name>Online</Name> <ReferencedMemberName>Link</ReferencedMemberName> </AliasProperty> <ScriptMethod> <Name>DownloadShow</Name> <Script>Param([string]$Path = $Home) $file = Join-Path -Path $Path -ChildPath "PowerShellPodcast-$($this.Episode).mp3" Invoke-WebRequest -Uri $this.DownloadLink -OutFile $file -errorAction Stop</Script> </ScriptMethod> </Members> </Type> </Types> |