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>